Function at 0x547e20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ac4de
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
push ebx
push esi
push edi
mov eax, dword [0x614040]
xor eax, esp
push eax
lea eax, [esp + 0xd0]
mov dword fs:[0], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], ecx
mov eax, edx
shr eax, 8
and eax, 0xff
add eax, 0xffffff9b
cmp eax, 0x11
ja case.0x547e70.110
jmp dword [eax*4 + 0x548fec]
and edx, 0xffff98ff
or edx, 0x9800
jmp 0x547f12
and edx, 0xffffc9ff
or edx, 0xc900
jmp 0x547f12
and edx, 0xffffcaff
or edx, 0xca00
jmp 0x547f12
and edx, 0xffffcbff
or edx, 0xcb00
jmp 0x547f12
and edx, 0xffffe7ff
or edx, 0xe700
jmp 0x547f12
and edx, 0xffffe8ff
or edx, 0xe800
jmp 0x547f12
and edx, 0xffffe9ff
or edx, 0xe900
jmp 0x547f12
and edx, 0xfffff2ff
or edx, 0xf200
jmp 0x547f12
and edx, 0xfffff3ff
or edx, 0xf300
jmp 0x547f12
and edx, 0xffff99ff
or edx, 0x9900
jmp 0x547f12
and edx, 0xfffff4ff
or edx, 0xf400
mov dword [esp + 0x10], edx
mov esi, edx
shr esi, 8
and esi, 0xff
lea eax, [esi - 0xa]
cmp eax, 0xee
ja case.0x547f36.12
movzx eax, byte [eax + 0x549138]
jmp dword [eax*4 + 0x549034]
mov ebx, 0x233d
jmp 0x54819f
mov ebx, 0x2349
jmp 0x54819f
mov ebx, 0x233e
jmp 0x54819f
mov ebx, 0x2340
jmp 0x54819f
mov ebx, 0x2341
jmp 0x54819f
mov ebx, 0x2342
jmp 0x54819f
mov ebx, 0x2343
jmp 0x54819f
mov ebx, 0x2344
jmp 0x54819f
mov ebx, 0x2345
jmp 0x54819f
mov ebx, 0x234e
jmp 0x54819f
mov ebx, 0x2346
jmp 0x54819f
mov ebx, 0x2347
jmp 0x54819f
mov ebx, 0x2348
jmp 0x54819f
mov ebx, 0x234a
jmp 0x54819f
mov ebx, 0x234b
jmp 0x54819f
mov ebx, 0x234c
jmp 0x54819f
mov ebx, 0x234d
jmp 0x54819f
mov ebx, 0x234f
jmp 0x54819f
mov ebx, 0x2350
jmp 0x54819f
mov ebx, 0x2351
jmp 0x54819f
mov ebx, 0x2352
jmp 0x54819f
mov ebx, 0x2353
jmp 0x54819f
mov ebx, 0x2354
jmp 0x54819f
mov ebx, 0x2355
jmp 0x54819f
mov ebx, 0x2356
jmp 0x54819f
mov ebx, 0x2357
jmp 0x54819f
mov ebx, 0x2358
jmp 0x54819f
mov ebx, 0x2359
jmp 0x54819f
mov ebx, 0x235a
jmp 0x54819f
mov ebx, 0x235b
jmp 0x54819f
mov ebx, 0x235c
jmp 0x54819f
mov ebx, 0x235d
jmp 0x54819f
mov ebx, 0x235e
jmp 0x54819f
mov ebx, 0x235f
jmp 0x54819f
mov ebx, 0x2360
jmp 0x54819f
mov ebx, 0x2361
jmp 0x54819f
mov ebx, 0x2362
jmp 0x54819f
mov ebx, 0x2363
jmp 0x54819f
mov ebx, 0x2364
jmp 0x54819f
mov ebx, 0x2365
jmp 0x54819f
mov ebx, 0x2366
jmp 0x54819f
mov ebx, 0x2367
jmp 0x54819f
mov ebx, 0x2368
jmp 0x54819f
mov ebx, 0x2369
jmp 0x54819f
mov ebx, 0x236a
jmp 0x54819f
mov ebx, 0x236b
jmp 0x54819f
mov ebx, 0x236c
jmp 0x54819f
mov ebx, 0x236d
jmp 0x54819f
mov ebx, 0x247c
jmp 0x54819f
mov ebx, 0x247d
jmp 0x54819f
mov ebx, 0x2480
jmp 0x54819f
mov ebx, 0x2481
jmp 0x54819f
mov ebx, 0x2482
jmp 0x54819f
mov ebx, 0x2484
jmp 0x54819f
mov ebx, 0x2485
jmp 0x54819f
mov ebx, 0x2486
jmp 0x54819f
mov ebx, 0x2487
jmp 0x54819f
mov ebx, 0x2488
jmp 0x54819f
mov ebx, 0x2489
jmp 0x54819f
mov ebx, 0x248a
jmp 0x54819f
mov ebx, 0x248f
jmp 0x54819f
mov ebx, 0x248e
jmp 0x54819f
mov eax, 1
mov ecx, dword [esp + 0xd0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 0x233f
mov dword [esp + 0x28], 0
cmp ebx, 0x2363
jg 0x5481ca
je case.0x5481c3.9027
lea eax, [ebx - 0x2343]
cmp eax, 0x13
ja case.0x5481c3.9028
movzx eax, byte [eax + 0x549230]
jmp dword [eax*4 + 0x549228]
cmp ebx, 0x2486
jg 0x5481e4
cmp ebx, 0x2484
jge case.0x5481c3.9027
cmp ebx, 0x2365
je case.0x5481c3.9027
jmp case.0x5481c3.9028
cmp ebx, 0x248f
jne case.0x5481c3.9028
mov dword [esp + 0x28], 1
push ebx
xor edx, edx
lea ecx, [esp + 0x38]
call fcn.0058d5b0
add esp, 4
lea eax, [ebx + 0x31]
mov dword [esp + 0xd8], 0
push eax
xor edx, edx
lea ecx, [esp + 0x1c]
call fcn.0058d5b0
add esp, 4
or edi, 0xffffffff
mov byte [esp + 0xd8], 1
mov byte [esp + 0x23], 0
cmp esi, 0x96
jbe 0x5482d6
cmp dword [esp + 0x28], 0
jne 0x5482d6
call fcn.00414eab
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x548263
push 0x80004005
call fcn.00402740
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0xd8], 2
mov ecx, dword [esp + 0x10]
movzx eax, cl
push eax
mov eax, ecx
shr eax, 0x10
push esi
and eax, 0xff
push eax
lea eax, [esp + 0x20]
push str._n_n__Code:_u__u__u
push eax
call fcn.00402d50
mov esi, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
add esp, 0x14
push dword [esi - 0xc]
push esi
call fcn.00403430
add esi, 0xfffffff0
mov byte [esp + 0x23], 1
mov byte [esp + 0xd8], 1
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x5482d6
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp ebx, 0x2359
jg 0x548885
je 0x548689
lea eax, [ebx - 0x234b]
cmp eax, 0xd
ja case.0x5482fe.9036
movzx eax, byte [eax + 0x54925c]
jmp dword [eax*4 + 0x549244]
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
lea esi, [eax + 0x10]
mov dword [esp + 0x14], esi
lea eax, [esp + 0x2c]
mov byte [esp + 0xd8], 3
push eax
call fcn.00560700
mov byte [esp + 0xd8], 4
push dword [eax]
lea eax, [esp + 0x1c]
push esi
push eax
call fcn.00402d50
add esp, 0xc
lea ecx, [esp + 0x2c]
call fcn.00402b60
lea ecx, [esp + 0x14]
jmp 0x548aab
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add eax, 0x10
add esp, 4
mov dword [esp + 0x14], eax
push 0x104
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0xe0], 5
push eax
call fcn.00402d50
lea ecx, [esp + 0x20]
jmp 0x548aa8
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add eax, 0x10
add esp, 4
mov dword [esp + 0x14], eax
push 0x40
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0xe0], 6
push eax
call fcn.00402d50
lea ecx, [esp + 0x20]
jmp 0x548aa8
push 0x50000
push 0x1e240
call fcn.00566c40
mov esi, eax
test esi, esi
jns 0x5483e1
call fcn.0058d710
mov esi, eax
push esi
mov edx, 0x4b00
lea ecx, [esp + 0x20]
call fcn.0058e410
add esp, 4
push esi
mov edx, 0x27d80
mov byte [esp + 0xdc], 7
lea ecx, [esp + 0x18]
call fcn.0058e410
add esp, 4
lea ecx, [esp + 0x10]
call fcn.00402b30
mov byte [esp + 0xd8], 9
sub esi, 0x1235
je 0x548454
dec esi
jne 0x54848a
push 0x23b4
xor edx, edx
lea ecx, [esp + 0x54]
call fcn.0058d5b0
add esp, 4
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0xa
call fcn.004032d0
lea ecx, [esp + 0x50]
jmp 0x54847d
push 0x23af
xor edx, edx
lea ecx, [esp + 0x5c]
call fcn.0058d5b0
add esp, 4
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0xb
call fcn.004032d0
lea ecx, [esp + 0x58]
mov byte [esp + 0xd8], 9
call fcn.00402b60
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
lea esi, [eax + 0x10]
mov dword [esp + 0x24], esi
lea eax, [esp + 0x10]
mov byte [esp + 0xd8], 0xc
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.004030a0
add esp, 0xc
mov edi, eax
lea eax, [esp + 0x10]
mov byte [esp + 0xd8], 0xd
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.004030a0
add esp, 0xc
mov byte [esp + 0xd8], 0xe
push dword [edi]
push dword [eax]
lea eax, [esp + 0x20]
push esi
push eax
call fcn.00402d50
add esp, 0x10
lea ecx, [esp + 0x48]
call fcn.00402b60
lea ecx, [esp + 0x5c]
call fcn.00402b60
lea ecx, [esp + 0x24]
call fcn.00402b60
lea ecx, [esp + 0x10]
call fcn.00402b60
lea ecx, [esp + 0x14]
call fcn.00402b60
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd8], 1
call fcn.00402b60
or edi, 0xffffffff
jmp case.0x5482fe.9036
push 0x50000
push 0x1e240
call fcn.00566c40
mov esi, eax
test esi, esi
jns 0x54855d
call fcn.0058d710
mov esi, eax
push esi
mov edx, 0x4b00
lea ecx, [esp + 0x20]
call fcn.0058e410
add esp, 4
push esi
mov edx, 0x36cf8
mov byte [esp + 0xdc], 0xf
lea ecx, [esp + 0x18]
call fcn.0058e410
add esp, 4
lea ecx, [esp + 0x10]
call fcn.00402b30
mov byte [esp + 0xd8], 0x11
sub esi, 0x1235
je 0x5485d0
dec esi
jne 0x548606
push 0x23b4
xor edx, edx
lea ecx, [esp + 0x50]
call fcn.0058d5b0
add esp, 4
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x12
call fcn.004032d0
lea ecx, [esp + 0x4c]
jmp 0x5485f9
push 0x23af
xor edx, edx
lea ecx, [esp + 0x58]
call fcn.0058d5b0
add esp, 4
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xdc], 0x13
call fcn.004032d0
lea ecx, [esp + 0x54]
mov byte [esp + 0xd8], 0x11
call fcn.00402b60
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
lea esi, [eax + 0x10]
mov dword [esp + 0x24], esi
lea eax, [esp + 0x10]
mov byte [esp + 0xd8], 0x14
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004030a0
add esp, 0xc
mov edi, eax
lea eax, [esp + 0x10]
mov byte [esp + 0xd8], 0x15
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004030a0
add esp, 0xc
mov byte [esp + 0xd8], 0x16
push dword [edi]
push dword [eax]
lea eax, [esp + 0x20]
push esi
push eax
call fcn.00402d50
add esp, 0x10
lea ecx, [esp + 0x38]
call fcn.00402b60
lea ecx, [esp + 0x40]
jmp 0x548508
call fcn.00414eab
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x5486a5
push 0x80004005
call fcn.00402740
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
push 0x19
lea eax, [esp + 0x18]
mov byte [esp + 0xdc], 0x17
push 0x5e7ae8
push eax
call fcn.00402d50
add esp, 0xc
call fcn.00414eab
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x5486eb
push 0x80004005
call fcn.00402740
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
push 0x190
lea eax, [esp + 0x14]
mov byte [esp + 0xdc], 0x18
push 0x5e7ae8
push eax
call fcn.00402d50
add esp, 0xc
lea ecx, [esp + 0x1c]
push 0x5e7b18
call fcn.00402f60
mov byte [esp + 0xd8], 0x19
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
lea esi, [eax + 0x10]
mov dword [esp + 0x24], esi
lea eax, [esp + 0x1c]
mov byte [esp + 0xd8], 0x1a
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.004030a0
add esp, 0xc
mov edi, eax
lea eax, [esp + 0x1c]
mov byte [esp + 0xd8], 0x1b
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.004030a0
add esp, 0xc
mov byte [esp + 0xd8], 0x1c
push dword [edi]
push dword [eax]
lea eax, [esp + 0x20]
push esi
push eax
call fcn.00402d50
mov byte [esp + 0xe8], 0x1b
or edi, 0xffffffff
mov edx, dword [esp + 0x4c]
add esp, 0x10
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x5487c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xd8], 0x1a
mov ecx, edi
mov edx, dword [esp + 0x44]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x5487ec
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [esp + 0xd8], 0x19
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x54880d
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xd8], 0x18
mov ecx, edi
mov edx, dword [esp + 0x1c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548832
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xd8], 0x17
mov ecx, edi
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548857
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xd8], 1
mov ecx, edi
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg case.0x5482fe.9036
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x5482fe.9036
cmp ebx, 0x2487
jg 0x548a48
je 0x5489f3
mov eax, ebx
sub eax, 0x2364
je 0x548959
sub eax, 8
jne case.0x5482fe.9036
mov eax, dword [esp + 0x10]
xor esi, esi
movzx eax, al
mov dword [esp + 0x1c], esi
sub eax, esi
je 0x5488da
dec eax
je 0x5488d3
dec eax
jne 0x5488e3
mov esi, 0x27e0
mov dword [esp + 0x1c], 0x36d0
jmp 0x5488e3
mov esi, 0x27e0
jmp 0x5488df
mov esi, 0x2580
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x10]
call fcn.00402b30
push esi
lea eax, [esp + 0x14]
mov byte [esp + 0xdc], 0x20
push 0x5e7ae8
push eax
call fcn.00402d50
add esp, 0xc
lea ecx, [esp + 0x14]
call fcn.00402b30
mov byte [esp + 0xd8], 0x21
lea eax, [esp + 0x14]
push dword [esp + 0x1c]
push 0x5e7ae8
push eax
call fcn.00402d50
add esp, 0xc
lea eax, [esp + 0x34]
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x3c]
push eax
call fcn.00402d50
add esp, 0x10
lea ecx, [esp + 0x14]
call fcn.00402b60
lea ecx, [esp + 0x10]
jmp 0x548aab
lea ecx, [esp + 0x1c]
call fcn.00402b30
push 1
lea eax, [esp + 0x20]
mov byte [esp + 0xdc], 0x1d
push 0x5e7ae8
push eax
call fcn.00402d50
add esp, 0xc
lea ecx, [esp + 0x14]
call fcn.00402b30
push 0x63
lea eax, [esp + 0x18]
mov byte [esp + 0xdc], 0x1e
push 0x5e7ae8
push eax
call fcn.00402d50
mov eax, dword [esp + 0x24]
add esp, 0xc
add eax, 0xfffffff0
push eax
call fcn.00403660
add eax, 0x10
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0xd8], 0x1f
push dword [esp + 0x14]
push dword [esp + 0x20]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00402d50
add esp, 0x10
lea ecx, [esp + 0x24]
call fcn.00402b60
lea ecx, [esp + 0x14]
call fcn.00402b60
lea ecx, [esp + 0x1c]
jmp 0x548aab
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
lea esi, [eax + 0x10]
mov dword [esp + 0x24], esi
push 0x3e8
lea eax, [esp + 0x1c]
mov byte [esp + 0xdc], 0x22
push esi
push eax
call fcn.00402d50
add esi, 0xfffffff0
mov byte [esp + 0xe4], 1
add esp, 0xc
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg case.0x5482fe.9036
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x5482fe.9036
mov eax, ebx
sub eax, 0x2488
je 0x548a75
dec eax
jne case.0x5482fe.9036
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0xd8], 0x24
jmp 0x548a94
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0xd8], 0x23
push 0x3e8
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00402d50
lea ecx, [esp + 0x30]
add esp, 0xc
mov byte [esp + 0xd8], 1
call fcn.00402b60
push 0x5e7b1c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esp + 0x38], eax
test eax, eax
je 0x548edb
push str.TaskDialogIndirect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x40], eax
test eax, eax
je 0x548edb
push 0x60
lea eax, [esp + 0x70]
push 0
push eax
call fcn.0052d120
add esp, 0xc
mov dword [esp + 0x6c], 0x60
call fcn.00416b46
mov eax, dword [eax + 8]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x548b1a
mov dword [esp + 0x70], eax
jmp 0x548b21
mov eax, dword [eax + 0x20]
mov dword [esp + 0x70], eax
mov ecx, dword [0x61fa68]
test ecx, ecx
je 0x548b6c
push 0x10017
push dword [0x61feb8]
call ecx
cmp eax, 0xe
jl 0x548b66
mov ecx, dword [0x61fa68]
test ecx, ecx
je 0x548b6c
push 0x10018
push dword [0x61feb8]
call ecx
cmp eax, 0x13ba
jne 0x548b66
mov dword [esp + 0xc0], 0x547dd0
mov ecx, dword [0x61fa68]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x548b8f
xor eax, eax
cmp ebx, 0x248f
setne al
lea eax, [eax*2 + 0xfffd]
mov dword [esp + 0x84], eax
jmp 0x548b9a
mov dword [esp + 0x84], 0xfffe
mov eax, 1
mov dword [esp + 0x90], eax
test edx, edx
je 0x548bb6
mov eax, 2
mov dword [esp + 0x90], eax
test ecx, ecx
je 0x548c08
push 0x10017
push dword [0x61feb8]
call ecx
cmp eax, 0xe
jl 0x548c01
mov eax, dword [0x61fa68]
test eax, eax
je 0x548c01
push 0x10018
push dword [0x61feb8]
call eax
cmp eax, 0x13ba
jne 0x548c01
cmp byte [esp + 0x23], 0
je 0x548c01
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
jmp 0x548c08
mov eax, dword [esp + 0x90]
push eax
lea ecx, [esp + 0x64]
call fcn.00403160
push 0xf14
xor edx, edx
mov byte [esp + 0xdc], 0x25
lea ecx, [esp + 0x30]
call fcn.0058d5b0
add esp, 4
push 0xf15
xor edx, edx
mov byte [esp + 0xdc], 0x26
lea ecx, [esp + 0x14]
call fcn.0058d5b0
add esp, 4
push 0x5e7af0
lea ecx, [esp + 0x18]
mov byte [esp + 0xdc], 0x27
call fcn.00402f60
mov byte [esp + 0xd8], 0x28
mov ecx, dword [0x61fa68]
test ecx, ecx
je 0x548cf4
push 0x10017
push dword [0x61feb8]
call ecx
cmp eax, 0xe
jl 0x548cee
mov ecx, dword [0x61fa68]
test ecx, ecx
je 0x548cf4
push 0x10018
push dword [0x61feb8]
call ecx
cmp eax, 0x13ba
jne 0x548cee
push 0xf1a
xor edx, edx
lea ecx, [esp + 0x34]
call fcn.0058d5b0
add esp, 4
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xdc], 0x29
call fcn.004032d0
mov byte [esp + 0xd8], 0x28
mov ecx, edi
mov edx, dword [esp + 0x30]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548cee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x61fa68]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
sub esi, ebx
sar esi, 3
test esi, esi
jne 0x548d0f
push str.invalid_vector_T__subscript
call fcn.00546d3a
cmp dword [esp + 0x28], 0
mov edi, 1
mov eax, dword [esp + 0x2c]
mov dword [ebx], 1
mov dword [ebx + 4], eax
je 0x548d49
cmp esi, edi
ja 0x548d36
push str.invalid_vector_T__subscript
call fcn.00546d3a
mov eax, dword [esp + 0x10]
mov edi, 2
mov dword [ebx + 8], 2
mov dword [ebx + 0xc], eax
test ecx, ecx
je 0x548da0
push 0x10017
push dword [0x61feb8]
call ecx
cmp eax, 0xe
jl 0x548da0
mov eax, dword [0x61fa68]
test eax, eax
je 0x548da0
push 0x10018
push dword [0x61feb8]
call eax
cmp eax, 0x13ba
jne 0x548da0
cmp byte [esp + 0x23], 0
je 0x548da0
cmp esi, edi
ja 0x548d91
push str.invalid_vector_T__subscript
call fcn.00546d3a
mov dword [ebx + edi*8], 0x2473
mov eax, dword [esp + 0x14]
mov dword [ebx + edi*8 + 4], eax
push 0x23c1
xor edx, edx
mov dword [esp + 0x98], ebx
lea ecx, [esp + 0x34]
call fcn.0058d5b0
add esp, 4
mov byte [esp + 0xd8], 0x2a
cmp dword [0x62002c], 0
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x80], esi
mov dword [esp + 0x98], 1
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], edi
je 0x548dff
or dword [esp + 0x78], 0x2000
lea eax, [esp + 0x44]
mov dword [esp + 0x1c], 0
push eax
lea eax, [esp + 0x40]
mov dword [esp + 0x40], 0
push eax
lea eax, [esp + 0x24]
mov dword [esp + 0x4c], 0
push eax
lea eax, [esp + 0x78]
push eax
call dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov dword [esp + 0x28], eax
mov byte [esp + 0xd8], 0x28
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548e5b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xd8], 0x27
mov ecx, esi
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548e80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xd8], 0x26
mov ecx, esi
mov edx, dword [esp + 0x10]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548ea5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xd8], 0x25
mov ecx, esi
mov edx, dword [esp + 0x2c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548eca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [esp + 0x60]
call fcn.0040d50c
add esp, 4
jmp 0x548f80
call fcn.00414eab
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x548ef7
push 0x80004005
call fcn.00402740
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x2c], eax
mov byte [esp + 0xd8], 0x2b
lea eax, [esp + 0x2c]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
push edi
push ebx
push str._s_n_n_s_n
push eax
call fcn.00402d50
xor eax, eax
add esp, 0x10
cmp dword [esp + 0x28], eax
je 0x548f36
mov eax, 1
cmp dword [0x62002c], 0
je 0x548f44
or eax, 0x100000
mov esi, dword [esp + 0x2c]
push 0
push eax
push esi
call fcn.0041503d
mov dword [esp + 0x28], eax
lea eax, [esi - 0x10]
or esi, 0xffffffff
mov byte [esp + 0xd8], 1
mov dword [esp + 0x30], eax
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x548f80
mov ecx, dword [eax]
push dword [esp + 0x30]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x548f8f
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
add edi, 0xfffffff0
mov byte [esp + 0xd8], 0
mov ecx, esi
lea eax, [edi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548fb0
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
add ebx, 0xfffffff0
mov dword [esp + 0xd8], 0xffffffff
lea eax, [ebx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x548fd2
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0xd0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret