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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5aea0e
mov eax, dword fs:[0]
push eax
sub esp, 0xc8
push ebx
push esi
push edi
mov eax, dword [0x616040]
xor eax, esp
push eax
lea eax, [esp + 0xd8]
mov dword fs:[0], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], ecx
mov eax, edx
shr eax, 8
and eax, 0xff
add eax, 0xffffff9b
cmp eax, 0x11
ja case.0x547ec0.110
jmp dword [eax*4 + 0x549074]
and edx, 0xffff98ff
or edx, 0x9800
jmp 0x547f62
and edx, 0xffffc9ff
or edx, 0xc900
jmp 0x547f62
and edx, 0xffffcaff
or edx, 0xca00
jmp 0x547f62
and edx, 0xffffcbff
or edx, 0xcb00
jmp 0x547f62
and edx, 0xffffe7ff
or edx, 0xe700
jmp 0x547f62
and edx, 0xffffe8ff
or edx, 0xe800
jmp 0x547f62
and edx, 0xffffe9ff
or edx, 0xe900
jmp 0x547f62
and edx, 0xfffff2ff
or edx, 0xf200
jmp 0x547f62
and edx, 0xfffff3ff
or edx, 0xf300
jmp 0x547f62
and edx, 0xffff99ff
or edx, 0x9900
jmp 0x547f62
and edx, 0xfffff4ff
or edx, 0xf400
mov dword [esp + 0x24], edx
mov esi, edx
shr esi, 8
and esi, 0xff
lea eax, [esi - 0xa]
cmp eax, 0xee
ja case.0x547f86.12
movzx eax, byte [eax + 0x5491c4]
jmp dword [eax*4 + 0x5490bc]
mov ebx, 0x233d
jmp 0x5481f9
mov ebx, 0x2349
jmp 0x5481f9
mov ebx, 0x233e
jmp 0x5481f9
mov ebx, 0x2340
jmp 0x5481f9
mov ebx, 0x2341
jmp 0x5481f9
mov ebx, 0x2342
jmp 0x5481f9
mov ebx, 0x2343
jmp 0x5481f9
mov ebx, 0x2344
jmp 0x5481f9
mov ebx, 0x2345
jmp 0x5481f9
mov ebx, 0x234e
jmp 0x5481f9
mov ebx, 0x2346
jmp 0x5481f9
mov ebx, 0x2347
jmp 0x5481f9
mov ebx, 0x2348
jmp 0x5481f9
mov ebx, 0x234a
jmp 0x5481f9
mov ebx, 0x234b
jmp 0x5481f9
mov ebx, 0x234c
jmp 0x5481f9
mov ebx, 0x234d
jmp 0x5481f9
mov ebx, 0x234f
jmp 0x5481f9
mov ebx, 0x2350
jmp 0x5481f9
mov ebx, 0x2351
jmp 0x5481f9
mov ebx, 0x2352
jmp 0x5481f9
mov ebx, 0x2353
jmp 0x5481f9
mov ebx, 0x2354
jmp 0x5481f9
mov ebx, 0x2355
jmp 0x5481f9
mov ebx, 0x2356
jmp 0x5481f9
mov ebx, 0x2357
jmp 0x5481f9
mov ebx, 0x2358
jmp 0x5481f9
mov ebx, 0x2359
jmp 0x5481f9
mov ebx, 0x235a
jmp 0x5481f9
mov ebx, 0x235b
jmp 0x5481f9
mov ebx, 0x235c
jmp 0x5481f9
mov ebx, 0x235d
jmp 0x5481f9
mov ebx, 0x235e
jmp 0x5481f9
mov ebx, 0x235f
jmp 0x5481f9
mov ebx, 0x2360
jmp 0x5481f9
mov ebx, 0x2361
jmp 0x5481f9
mov ebx, 0x2362
jmp 0x5481f9
mov ebx, 0x2363
jmp 0x5481f9
mov ebx, 0x2364
jmp 0x5481f9
mov ebx, 0x2365
jmp 0x5481f9
mov ebx, 0x2366
jmp 0x5481f9
mov ebx, 0x2367
jmp 0x5481f9
mov ebx, 0x2368
jmp 0x5481f9
mov ebx, 0x2369
jmp 0x5481f9
mov ebx, 0x236a
jmp 0x5481f9
mov ebx, 0x236b
jmp 0x5481f9
mov ebx, 0x236c
jmp 0x5481f9
mov ebx, 0x236d
jmp 0x5481f9
mov ebx, 0x247c
jmp 0x5481f9
mov ebx, 0x247d
jmp 0x5481f9
mov ebx, 0x2480
jmp 0x5481f9
mov ebx, 0x2481
jmp 0x5481f9
mov ebx, 0x2482
jmp 0x5481f9
mov ebx, 0x2484
jmp 0x5481f9
mov ebx, 0x2485
jmp 0x5481f9
mov ebx, 0x2486
jmp 0x5481f9
mov ebx, 0x2487
jmp 0x5481f9
mov ebx, 0x2488
jmp 0x5481f9
mov ebx, 0x2489
jmp 0x5481f9
mov ebx, 0x248a
jmp 0x5481f9
mov ebx, 0x248f
jmp 0x5481f9
mov ebx, 0x248e
jmp 0x5481f9
mov ebx, 0x2490
jmp 0x5481f9
mov eax, 1
mov ecx, dword [esp + 0xd8]
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 + 0x30], 0
cmp ebx, 0x2363
jg 0x548224
je case.0x54821d.9027
lea eax, [ebx - 0x2343]
cmp eax, 0x13
ja case.0x54821d.9028
movzx eax, byte [eax + 0x5492bc]
jmp dword [eax*4 + 0x5492b4]
cmp ebx, 0x2486
jg 0x54823e
cmp ebx, 0x2484
jge case.0x54821d.9027
cmp ebx, 0x2365
je case.0x54821d.9027
jmp case.0x54821d.9028
lea eax, [ebx - 0x248f]
cmp eax, 1
ja case.0x54821d.9028
mov dword [esp + 0x30], 1
push ebx
xor edx, edx
lea ecx, [esp + 0x3c]
call fcn.0058f8e0
add esp, 4
lea eax, [ebx + 0x31]
mov dword [esp + 0xe0], 0
push eax
xor edx, edx
lea ecx, [esp + 0x1c]
call fcn.0058f8e0
add esp, 4
or edi, 0xffffffff
mov byte [esp + 0xe0], 1
mov byte [esp + 0x2b], 0
cmp esi, 0x96
jbe 0x548333
cmp dword [esp + 0x30], 0
jne 0x548333
call fcn.0041505f
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x5482c0
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 + 0xe0], 2
mov ecx, dword [esp + 0x24]
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 + 0x2b], 1
mov byte [esp + 0xe0], 1
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548333
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp ebx, 0x2359
jg 0x5488e2
je 0x5486e6
lea eax, [ebx - 0x234b]
cmp eax, 0xd
ja case.0x54835b.9036
movzx eax, byte [eax + 0x5492e8]
jmp dword [eax*4 + 0x5492d0]
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 + 0x64]
mov byte [esp + 0xe0], 3
push eax
call fcn.00560b30
mov byte [esp + 0xe0], 4
push dword [eax]
lea eax, [esp + 0x1c]
push esi
push eax
call fcn.00402d50
add esp, 0xc
lea ecx, [esp + 0x64]
call fcn.00402b60
lea ecx, [esp + 0x14]
jmp 0x548b08
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 + 0xe8], 5
push eax
call fcn.00402d50
lea ecx, [esp + 0x20]
jmp 0x548b05
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 + 0xe8], 6
push eax
call fcn.00402d50
lea ecx, [esp + 0x20]
jmp 0x548b05
push 0x50000
push 0x1e240
call fcn.00567330
mov esi, eax
test esi, esi
jns 0x54843e
call fcn.0058fa40
mov esi, eax
push esi
mov edx, 0x4b00
lea ecx, [esp + 0x24]
call fcn.00590740
add esp, 4
push esi
mov edx, 0x27d80
mov byte [esp + 0xe4], 7
lea ecx, [esp + 0x18]
call fcn.00590740
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.00402b30
mov byte [esp + 0xe0], 9
sub esi, 0x1235
je 0x5484b1
dec esi
jne 0x5484e7
push 0x23b4
xor edx, edx
lea ecx, [esp + 0x58]
call fcn.0058f8e0
add esp, 4
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0xa
call fcn.004032d0
lea ecx, [esp + 0x54]
jmp 0x5484da
push 0x23af
xor edx, edx
lea ecx, [esp + 0x5c]
call fcn.0058f8e0
add esp, 4
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0xb
call fcn.004032d0
lea ecx, [esp + 0x58]
mov byte [esp + 0xe0], 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 + 0x2c], esi
lea eax, [esp + 0x1c]
mov byte [esp + 0xe0], 0xc
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.004030a0
add esp, 0xc
mov edi, eax
lea eax, [esp + 0x1c]
mov byte [esp + 0xe0], 0xd
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.004030a0
add esp, 0xc
mov byte [esp + 0xe0], 0xe
push dword [edi]
push dword [eax]
lea eax, [esp + 0x20]
push esi
push eax
call fcn.00402d50
add esp, 0x10
lea ecx, [esp + 0x4c]
call fcn.00402b60
lea ecx, [esp + 0x50]
call fcn.00402b60
lea ecx, [esp + 0x2c]
call fcn.00402b60
lea ecx, [esp + 0x1c]
call fcn.00402b60
lea ecx, [esp + 0x14]
call fcn.00402b60
lea ecx, [esp + 0x20]
mov byte [esp + 0xe0], 1
call fcn.00402b60
or edi, 0xffffffff
jmp case.0x54835b.9036
push 0x50000
push 0x1e240
call fcn.00567330
mov esi, eax
test esi, esi
jns 0x5485ba
call fcn.0058fa40
mov esi, eax
push esi
mov edx, 0x4b00
lea ecx, [esp + 0x24]
call fcn.00590740
add esp, 4
push esi
mov edx, 0x36cf8
mov byte [esp + 0xe4], 0xf
lea ecx, [esp + 0x18]
call fcn.00590740
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.00402b30
mov byte [esp + 0xe0], 0x11
sub esi, 0x1235
je 0x54862d
dec esi
jne 0x548663
push 0x23b4
xor edx, edx
lea ecx, [esp + 0x60]
call fcn.0058f8e0
add esp, 4
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x12
call fcn.004032d0
lea ecx, [esp + 0x5c]
jmp 0x548656
push 0x23af
xor edx, edx
lea ecx, [esp + 0x64]
call fcn.0058f8e0
add esp, 4
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x13
call fcn.004032d0
lea ecx, [esp + 0x60]
mov byte [esp + 0xe0], 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 + 0x2c], esi
lea eax, [esp + 0x1c]
mov byte [esp + 0xe0], 0x14
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.004030a0
add esp, 0xc
mov edi, eax
lea eax, [esp + 0x1c]
mov byte [esp + 0xe0], 0x15
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.004030a0
add esp, 0xc
mov byte [esp + 0xe0], 0x16
push dword [edi]
push dword [eax]
lea eax, [esp + 0x20]
push esi
push eax
call fcn.00402d50
add esp, 0x10
lea ecx, [esp + 0x3c]
call fcn.00402b60
lea ecx, [esp + 0x44]
jmp 0x548565
call fcn.0041505f
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x548702
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 + 0xe4], 0x17
push 0x5e9ae8
push eax
call fcn.00402d50
add esp, 0xc
call fcn.0041505f
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x548748
push 0x80004005
call fcn.00402740
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x20], eax
push 0x190
lea eax, [esp + 0x24]
mov byte [esp + 0xe4], 0x18
push 0x5e9ae8
push eax
call fcn.00402d50
add esp, 0xc
lea ecx, [esp + 0x1c]
push 0x5e9b18
call fcn.00402f60
mov byte [esp + 0xe0], 0x19
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
lea esi, [eax + 0x10]
mov dword [esp + 0x2c], esi
lea eax, [esp + 0x1c]
mov byte [esp + 0xe0], 0x1a
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.004030a0
add esp, 0xc
mov edi, eax
lea eax, [esp + 0x1c]
mov byte [esp + 0xe0], 0x1b
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.004030a0
add esp, 0xc
mov byte [esp + 0xe0], 0x1c
push dword [edi]
push dword [eax]
lea eax, [esp + 0x20]
push esi
push eax
call fcn.00402d50
mov byte [esp + 0xf0], 0x1b
or edi, 0xffffffff
mov edx, dword [esp + 0x50]
add esp, 0x10
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548824
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xe0], 0x1a
mov ecx, edi
mov edx, dword [esp + 0x48]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548849
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [esp + 0xe0], 0x19
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x54886a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xe0], 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 0x54888f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xe0], 0x17
mov ecx, edi
mov edx, dword [esp + 0x20]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x5488b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xe0], 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.0x54835b.9036
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x54835b.9036
cmp ebx, 0x2487
jg 0x548aa5
je 0x548a50
mov eax, ebx
sub eax, 0x2364
je 0x5489b6
sub eax, 8
jne case.0x54835b.9036
mov eax, dword [esp + 0x24]
xor esi, esi
movzx eax, al
mov dword [esp + 0x1c], esi
sub eax, esi
je 0x548937
dec eax
je 0x548930
dec eax
jne 0x548940
mov esi, 0x27e0
mov dword [esp + 0x1c], 0x36d0
jmp 0x548940
mov esi, 0x27e0
jmp 0x54893c
mov esi, 0x2580
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x20]
call fcn.00402b30
push esi
lea eax, [esp + 0x24]
mov byte [esp + 0xe4], 0x20
push 0x5e9ae8
push eax
call fcn.00402d50
add esp, 0xc
lea ecx, [esp + 0x14]
call fcn.00402b30
mov byte [esp + 0xe0], 0x21
lea eax, [esp + 0x14]
push dword [esp + 0x1c]
push 0x5e9ae8
push eax
call fcn.00402d50
add esp, 0xc
lea eax, [esp + 0x38]
push dword [esp + 0x14]
push dword [esp + 0x24]
push dword [esp + 0x40]
push eax
call fcn.00402d50
add esp, 0x10
lea ecx, [esp + 0x14]
call fcn.00402b60
lea ecx, [esp + 0x20]
jmp 0x548b08
lea ecx, [esp + 0x20]
call fcn.00402b30
push 1
lea eax, [esp + 0x24]
mov byte [esp + 0xe4], 0x1d
push 0x5e9ae8
push eax
call fcn.00402d50
add esp, 0xc
lea ecx, [esp + 0x14]
call fcn.00402b30
push 0x63
lea eax, [esp + 0x18]
mov byte [esp + 0xe4], 0x1e
push 0x5e9ae8
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 + 0x2c], eax
mov byte [esp + 0xe0], 0x1f
push dword [esp + 0x14]
push dword [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00402d50
add esp, 0x10
lea ecx, [esp + 0x2c]
call fcn.00402b60
lea ecx, [esp + 0x14]
call fcn.00402b60
lea ecx, [esp + 0x20]
jmp 0x548b08
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
lea esi, [eax + 0x10]
mov dword [esp + 0x2c], esi
push 0x3e8
lea eax, [esp + 0x1c]
mov byte [esp + 0xe4], 0x22
push esi
push eax
call fcn.00402d50
add esi, 0xfffffff0
mov byte [esp + 0xec], 1
add esp, 0xc
mov ecx, edi
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg case.0x54835b.9036
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x54835b.9036
mov eax, ebx
sub eax, 0x2488
je 0x548ad2
dec eax
jne case.0x54835b.9036
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
add eax, 0x10
mov dword [esp + 0x2c], eax
mov byte [esp + 0xe0], 0x24
jmp 0x548af1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
call fcn.00403660
add esp, 4
add eax, 0x10
mov dword [esp + 0x2c], eax
mov byte [esp + 0xe0], 0x23
push 0x3e8
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00402d50
lea ecx, [esp + 0x38]
add esp, 0xc
mov byte [esp + 0xe0], 1
call fcn.00402b60
push 0x5e9b1c
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x548f61
push str.TaskDialogIndirect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x44], eax
test eax, eax
je 0x548f61
push 0x60
lea eax, [esp + 0x78]
push 0
push eax
call fcn.0052d150
add esp, 0xc
mov dword [esp + 0x74], 0x60
call fcn.00416d27
mov eax, dword [eax + 8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x548b77
mov dword [esp + 0x78], eax
jmp 0x548b7e
mov eax, dword [eax + 0x20]
mov dword [esp + 0x78], eax
mov ecx, dword [0x621a6c]
test ecx, ecx
je 0x548bca
push 0x10017
push dword [0x621ebc]
call ecx
cmp eax, 0xe
jl 0x548bc4
mov ecx, dword [0x621a6c]
test ecx, ecx
je 0x548bca
push 0x10018
push dword [0x621ebc]
call ecx
cmp eax, 0x13ba
jne 0x548bc4
mov ecx, dword [0x621a6c]
mov eax, dword [esp + 0x24]
jmp 0x548bd5
mov ecx, dword [0x621a6c]
mov eax, dword [esp + 0x24]
cmp eax, 0x98a02
jne 0x548be7
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], 0x547e00
mov edx, dword [esp + 0x30]
test edx, edx
je 0x548c0f
lea eax, [ebx - 0x248f]
mov esi, 1
cmp esi, eax
sbb eax, eax
and eax, 2
add eax, 0xfffd
mov dword [esp + 0x8c], eax
jmp 0x548c1a
mov dword [esp + 0x8c], 0xfffe
mov eax, 1
mov dword [esp + 0x98], eax
test edx, edx
je 0x548c36
mov eax, 2
mov dword [esp + 0x98], eax
test ecx, ecx
je 0x548c88
push 0x10017
push dword [0x621ebc]
call ecx
cmp eax, 0xe
jl 0x548c81
mov eax, dword [0x621a6c]
test eax, eax
je 0x548c81
push 0x10018
push dword [0x621ebc]
call eax
cmp eax, 0x13ba
jne 0x548c81
cmp byte [esp + 0x2b], 0
je 0x548c81
mov eax, dword [esp + 0x98]
inc eax
mov dword [esp + 0x98], eax
jmp 0x548c88
mov eax, dword [esp + 0x98]
push eax
lea ecx, [esp + 0x6c]
call fcn.00403160
push 0xf14
xor edx, edx
mov byte [esp + 0xe4], 0x25
lea ecx, [esp + 0x28]
call fcn.0058f8e0
add esp, 4
push 0xf15
xor edx, edx
mov byte [esp + 0xe4], 0x26
lea ecx, [esp + 0x20]
call fcn.0058f8e0
add esp, 4
push 0x5e9af0
lea ecx, [esp + 0x18]
mov byte [esp + 0xe4], 0x27
call fcn.00402f60
mov byte [esp + 0xe0], 0x28
mov ecx, dword [0x621a6c]
test ecx, ecx
je 0x548d74
push 0x10017
push dword [0x621ebc]
call ecx
cmp eax, 0xe
jl 0x548d6e
mov ecx, dword [0x621a6c]
test ecx, ecx
je 0x548d74
push 0x10018
push dword [0x621ebc]
call ecx
cmp eax, 0x13ba
jne 0x548d6e
push 0xf1a
xor edx, edx
lea ecx, [esp + 0x38]
call fcn.0058f8e0
add esp, 4
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xe4], 0x29
call fcn.004032d0
mov byte [esp + 0xe0], 0x28
mov ecx, edi
mov edx, dword [esp + 0x34]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548d6e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [0x621a6c]
mov esi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
sub esi, ebx
sar esi, 3
test esi, esi
jne 0x548d8f
push str.invalid_vector_T__subscript
call fcn.00546d68
cmp dword [esp + 0x30], 0
mov edi, 1
mov eax, dword [esp + 0x24]
mov dword [ebx], 1
mov dword [ebx + 4], eax
je 0x548dc9
cmp esi, edi
ja 0x548db6
push str.invalid_vector_T__subscript
call fcn.00546d68
mov eax, dword [esp + 0x1c]
mov edi, 2
mov dword [ebx + 8], 2
mov dword [ebx + 0xc], eax
test ecx, ecx
je 0x548e20
push 0x10017
push dword [0x621ebc]
call ecx
cmp eax, 0xe
jl 0x548e20
mov eax, dword [0x621a6c]
test eax, eax
je 0x548e20
push 0x10018
push dword [0x621ebc]
call eax
cmp eax, 0x13ba
jne 0x548e20
cmp byte [esp + 0x2b], 0
je 0x548e20
cmp esi, edi
ja 0x548e11
push str.invalid_vector_T__subscript
call fcn.00546d68
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 + 0xa0], ebx
lea ecx, [esp + 0x38]
call fcn.0058f8e0
add esp, 4
mov byte [esp + 0xe0], 0x2a
cmp dword [0x62202c], 0
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x88], esi
mov dword [esp + 0xa0], 1
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], edi
je 0x548e82
or dword [esp + 0x80], 0x2000
lea eax, [esp + 0x48]
mov dword [esp + 0x20], 0
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0
push eax
lea eax, [esp + 0x28]
mov dword [esp + 0x50], 0
push eax
lea eax, [esp + 0x80]
push eax
call dword [esp + 0x54]
mov eax, dword [esp + 0x20]
lea edx, [esi - 0x10]
or esi, 0xffffffff
mov dword [esp + 0x30], eax
mov byte [esp + 0xe0], 0x28
lea eax, [edx + 0xc]
mov ecx, esi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548ee1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xe0], 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 0x548f06
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xe0], 0x26
mov ecx, esi
mov edx, dword [esp + 0x1c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548f2b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0xe0], 0x25
mov ecx, esi
mov edx, dword [esp + 0x24]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x548f50
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [esp + 0x68]
call fcn.0040d533
add esp, 4
jmp 0x549006
call fcn.0041505f
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x548f7d
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 + 0xe0], 0x2b
lea eax, [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
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 + 0x30], eax
je 0x548fbc
mov eax, 1
cmp dword [0x62202c], 0
je 0x548fca
or eax, 0x100000
mov esi, dword [esp + 0x14]
push 0
push eax
push esi
call fcn.0041520d
mov dword [esp + 0x30], eax
lea eax, [esi - 0x10]
or esi, 0xffffffff
mov byte [esp + 0xe0], 1
mov dword [esp + 0x34], eax
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x549006
mov ecx, dword [eax]
push dword [esp + 0x34]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x549015
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
add edi, 0xfffffff0
mov byte [esp + 0xe0], 0
mov ecx, esi
lea eax, [edi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x549036
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
add ebx, 0xfffffff0
mov dword [esp + 0xe0], 0xffffffff
lea eax, [ebx + 0xc]
lock xadd dword [eax], esi
dec esi
test esi, esi
jg 0x549058
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret