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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ae63e
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.0x547e90.110
jmp dword [eax*4 + 0x549044]
and edx, 0xffff98ff
or edx, 0x9800
jmp 0x547f32
and edx, 0xffffc9ff
or edx, 0xc900
jmp 0x547f32
and edx, 0xffffcaff
or edx, 0xca00
jmp 0x547f32
and edx, 0xffffcbff
or edx, 0xcb00
jmp 0x547f32
and edx, 0xffffe7ff
or edx, 0xe700
jmp 0x547f32
and edx, 0xffffe8ff
or edx, 0xe800
jmp 0x547f32
and edx, 0xffffe9ff
or edx, 0xe900
jmp 0x547f32
and edx, 0xfffff2ff
or edx, 0xf200
jmp 0x547f32
and edx, 0xfffff3ff
or edx, 0xf300
jmp 0x547f32
and edx, 0xffff99ff
or edx, 0x9900
jmp 0x547f32
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.0x547f56.12
movzx eax, byte [eax + 0x549194]
jmp dword [eax*4 + 0x54908c]
mov ebx, 0x233d
jmp 0x5481c9
mov ebx, 0x2349
jmp 0x5481c9
mov ebx, 0x233e
jmp 0x5481c9
mov ebx, 0x2340
jmp 0x5481c9
mov ebx, 0x2341
jmp 0x5481c9
mov ebx, 0x2342
jmp 0x5481c9
mov ebx, 0x2343
jmp 0x5481c9
mov ebx, 0x2344
jmp 0x5481c9
mov ebx, 0x2345
jmp 0x5481c9
mov ebx, 0x234e
jmp 0x5481c9
mov ebx, 0x2346
jmp 0x5481c9
mov ebx, 0x2347
jmp 0x5481c9
mov ebx, 0x2348
jmp 0x5481c9
mov ebx, 0x234a
jmp 0x5481c9
mov ebx, 0x234b
jmp 0x5481c9
mov ebx, 0x234c
jmp 0x5481c9
mov ebx, 0x234d
jmp 0x5481c9
mov ebx, 0x234f
jmp 0x5481c9
mov ebx, 0x2350
jmp 0x5481c9
mov ebx, 0x2351
jmp 0x5481c9
mov ebx, 0x2352
jmp 0x5481c9
mov ebx, 0x2353
jmp 0x5481c9
mov ebx, 0x2354
jmp 0x5481c9
mov ebx, 0x2355
jmp 0x5481c9
mov ebx, 0x2356
jmp 0x5481c9
mov ebx, 0x2357
jmp 0x5481c9
mov ebx, 0x2358
jmp 0x5481c9
mov ebx, 0x2359
jmp 0x5481c9
mov ebx, 0x235a
jmp 0x5481c9
mov ebx, 0x235b
jmp 0x5481c9
mov ebx, 0x235c
jmp 0x5481c9
mov ebx, 0x235d
jmp 0x5481c9
mov ebx, 0x235e
jmp 0x5481c9
mov ebx, 0x235f
jmp 0x5481c9
mov ebx, 0x2360
jmp 0x5481c9
mov ebx, 0x2361
jmp 0x5481c9
mov ebx, 0x2362
jmp 0x5481c9
mov ebx, 0x2363
jmp 0x5481c9
mov ebx, 0x2364
jmp 0x5481c9
mov ebx, 0x2365
jmp 0x5481c9
mov ebx, 0x2366
jmp 0x5481c9
mov ebx, 0x2367
jmp 0x5481c9
mov ebx, 0x2368
jmp 0x5481c9
mov ebx, 0x2369
jmp 0x5481c9
mov ebx, 0x236a
jmp 0x5481c9
mov ebx, 0x236b
jmp 0x5481c9
mov ebx, 0x236c
jmp 0x5481c9
mov ebx, 0x236d
jmp 0x5481c9
mov ebx, 0x247c
jmp 0x5481c9
mov ebx, 0x247d
jmp 0x5481c9
mov ebx, 0x2480
jmp 0x5481c9
mov ebx, 0x2481
jmp 0x5481c9
mov ebx, 0x2482
jmp 0x5481c9
mov ebx, 0x2484
jmp 0x5481c9
mov ebx, 0x2485
jmp 0x5481c9
mov ebx, 0x2486
jmp 0x5481c9
mov ebx, 0x2487
jmp 0x5481c9
mov ebx, 0x2488
jmp 0x5481c9
mov ebx, 0x2489
jmp 0x5481c9
mov ebx, 0x248a
jmp 0x5481c9
mov ebx, 0x248f
jmp 0x5481c9
mov ebx, 0x248e
jmp 0x5481c9
mov ebx, 0x2490
jmp 0x5481c9
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 0x5481f4
je case.0x5481ed.9027
lea eax, [ebx - 0x2343]
cmp eax, 0x13
ja case.0x5481ed.9028
movzx eax, byte [eax + 0x54928c]
jmp dword [eax*4 + 0x549284]
cmp ebx, 0x2486
jg 0x54820e
cmp ebx, 0x2484
jge case.0x5481ed.9027
cmp ebx, 0x2365
je case.0x5481ed.9027
jmp case.0x5481ed.9028
lea eax, [ebx - 0x248f]
cmp eax, 1
ja case.0x5481ed.9028
mov dword [esp + 0x30], 1
push ebx
xor edx, edx
lea ecx, [esp + 0x3c]
call fcn.0058f590
add esp, 4
lea eax, [ebx + 0x31]
mov dword [esp + 0xe0], 0
push eax
xor edx, edx
lea ecx, [esp + 0x1c]
call fcn.0058f590
add esp, 4
or edi, 0xffffffff
mov byte [esp + 0xe0], 1
mov byte [esp + 0x2b], 0
cmp esi, 0x96
jbe 0x548303
cmp dword [esp + 0x30], 0
jne 0x548303
call fcn.00414e1f
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x548290
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 0x548303
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp ebx, 0x2359
jg 0x5488b2
je 0x5486b6
lea eax, [ebx - 0x234b]
cmp eax, 0xd
ja case.0x54832b.9036
movzx eax, byte [eax + 0x5492b8]
jmp dword [eax*4 + 0x5492a0]
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.00560b70
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 0x548ad8
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 0x548ad5
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 0x548ad5
push 0x50000
push 0x1e240
call fcn.00567370
mov esi, eax
test esi, esi
jns 0x54840e
call fcn.0058f6f0
mov esi, eax
push esi
mov edx, 0x4b00
lea ecx, [esp + 0x24]
call fcn.005903f0
add esp, 4
push esi
mov edx, 0x27d80
mov byte [esp + 0xe4], 7
lea ecx, [esp + 0x18]
call fcn.005903f0
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.00402b30
mov byte [esp + 0xe0], 9
sub esi, 0x1235
je 0x548481
dec esi
jne 0x5484b7
push 0x23b4
xor edx, edx
lea ecx, [esp + 0x58]
call fcn.0058f590
add esp, 4
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0xa
call fcn.004032d0
lea ecx, [esp + 0x54]
jmp 0x5484aa
push 0x23af
xor edx, edx
lea ecx, [esp + 0x5c]
call fcn.0058f590
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.0x54832b.9036
push 0x50000
push 0x1e240
call fcn.00567370
mov esi, eax
test esi, esi
jns 0x54858a
call fcn.0058f6f0
mov esi, eax
push esi
mov edx, 0x4b00
lea ecx, [esp + 0x24]
call fcn.005903f0
add esp, 4
push esi
mov edx, 0x36cf8
mov byte [esp + 0xe4], 0xf
lea ecx, [esp + 0x18]
call fcn.005903f0
add esp, 4
lea ecx, [esp + 0x1c]
call fcn.00402b30
mov byte [esp + 0xe0], 0x11
sub esi, 0x1235
je 0x5485fd
dec esi
jne 0x548633
push 0x23b4
xor edx, edx
lea ecx, [esp + 0x60]
call fcn.0058f590
add esp, 4
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xe4], 0x12
call fcn.004032d0
lea ecx, [esp + 0x5c]
jmp 0x548626
push 0x23af
xor edx, edx
lea ecx, [esp + 0x64]
call fcn.0058f590
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 0x548535
call fcn.00414e1f
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x5486d2
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.00414e1f
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x548718
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 0x5487f4
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 0x548819
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 0x54883a
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 0x54885f
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 0x548884
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.0x54832b.9036
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x54832b.9036
cmp ebx, 0x2487
jg 0x548a75
je 0x548a20
mov eax, ebx
sub eax, 0x2364
je 0x548986
sub eax, 8
jne case.0x54832b.9036
mov eax, dword [esp + 0x24]
xor esi, esi
movzx eax, al
mov dword [esp + 0x1c], esi
sub eax, esi
je 0x548907
dec eax
je 0x548900
dec eax
jne 0x548910
mov esi, 0x27e0
mov dword [esp + 0x1c], 0x36d0
jmp 0x548910
mov esi, 0x27e0
jmp 0x54890c
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 0x548ad8
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 0x548ad8
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.0x54832b.9036
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp case.0x54832b.9036
mov eax, ebx
sub eax, 0x2488
je 0x548aa2
dec eax
jne case.0x54832b.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 0x548ac1
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 0x548f31
push str.TaskDialogIndirect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esp + 0x44], eax
test eax, eax
je 0x548f31
push 0x60
lea eax, [esp + 0x78]
push 0
push eax
call fcn.0052d120
add esp, 0xc
mov dword [esp + 0x74], 0x60
call fcn.00416adc
mov eax, dword [eax + 8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x548b47
mov dword [esp + 0x78], eax
jmp 0x548b4e
mov eax, dword [eax + 0x20]
mov dword [esp + 0x78], eax
mov ecx, dword [0x621a6c]
test ecx, ecx
je 0x548b9a
push 0x10017
push dword [0x621ebc]
call ecx
cmp eax, 0xe
jl 0x548b94
mov ecx, dword [0x621a6c]
test ecx, ecx
je 0x548b9a
push 0x10018
push dword [0x621ebc]
call ecx
cmp eax, 0x13ba
jne 0x548b94
mov ecx, dword [0x621a6c]
mov eax, dword [esp + 0x24]
jmp 0x548ba5
mov ecx, dword [0x621a6c]
mov eax, dword [esp + 0x24]
cmp eax, 0x98a02
jne 0x548bb7
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], 0x547dd0
mov edx, dword [esp + 0x30]
test edx, edx
je 0x548bdf
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 0x548bea
mov dword [esp + 0x8c], 0xfffe
mov eax, 1
mov dword [esp + 0x98], eax
test edx, edx
je 0x548c06
mov eax, 2
mov dword [esp + 0x98], eax
test ecx, ecx
je 0x548c58
push 0x10017
push dword [0x621ebc]
call ecx
cmp eax, 0xe
jl 0x548c51
mov eax, dword [0x621a6c]
test eax, eax
je 0x548c51
push 0x10018
push dword [0x621ebc]
call eax
cmp eax, 0x13ba
jne 0x548c51
cmp byte [esp + 0x2b], 0
je 0x548c51
mov eax, dword [esp + 0x98]
inc eax
mov dword [esp + 0x98], eax
jmp 0x548c58
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.0058f590
add esp, 4
push 0xf15
xor edx, edx
mov byte [esp + 0xe4], 0x26
lea ecx, [esp + 0x20]
call fcn.0058f590
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 0x548d44
push 0x10017
push dword [0x621ebc]
call ecx
cmp eax, 0xe
jl 0x548d3e
mov ecx, dword [0x621a6c]
test ecx, ecx
je 0x548d44
push 0x10018
push dword [0x621ebc]
call ecx
cmp eax, 0x13ba
jne 0x548d3e
push 0xf1a
xor edx, edx
lea ecx, [esp + 0x38]
call fcn.0058f590
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 0x548d3e
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 0x548d5f
push str.invalid_vector_T__subscript
call fcn.00546d3a
cmp dword [esp + 0x30], 0
mov edi, 1
mov eax, dword [esp + 0x24]
mov dword [ebx], 1
mov dword [ebx + 4], eax
je 0x548d99
cmp esi, edi
ja 0x548d86
push str.invalid_vector_T__subscript
call fcn.00546d3a
mov eax, dword [esp + 0x1c]
mov edi, 2
mov dword [ebx + 8], 2
mov dword [ebx + 0xc], eax
test ecx, ecx
je 0x548df0
push 0x10017
push dword [0x621ebc]
call ecx
cmp eax, 0xe
jl 0x548df0
mov eax, dword [0x621a6c]
test eax, eax
je 0x548df0
push 0x10018
push dword [0x621ebc]
call eax
cmp eax, 0x13ba
jne 0x548df0
cmp byte [esp + 0x2b], 0
je 0x548df0
cmp esi, edi
ja 0x548de1
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 + 0xa0], ebx
lea ecx, [esp + 0x38]
call fcn.0058f590
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 0x548e52
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 0x548eb1
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 0x548ed6
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 0x548efb
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 0x548f20
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [esp + 0x68]
call fcn.0040d50c
add esp, 4
jmp 0x548fd6
call fcn.00414e1f
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x548f4d
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 0x548f8c
mov eax, 1
cmp dword [0x62202c], 0
je 0x548f9a
or eax, 0x100000
mov esi, dword [esp + 0x14]
push 0
push eax
push esi
call fcn.00414fc6
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 0x548fd6
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 0x548fe5
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 0x549006
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 0x549028
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