Function at 0x40a420
Capabilities:
Create thread
Parse pe header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57a6f1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
sub esp, 0x2a8
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], ecx
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc0d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x64], eax
push str.ZVRrMVRUmoBDEQ9Nx8
lea ecx, [ebp - 0x64]
mov dword [ebp - 4], 0
call fcn.00430f00
test al, al
jne 0x40a49f
push 0x13
push str.ZVRrMVRUmoBDEQ9Nx8
lea ecx, [ebp - 0x64]
call fcn.00431230
mov dword [ebp - 4], 1
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc17
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xa0], eax
push str.UFNt2SDM89Azw1tKxk9SMT8y6JzY1jCDo
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 2
call fcn.00430f00
test al, al
jne 0x40a4ef
push 0x22
push str.UFNt2SDM89Azw1tKxk9SMT8y6JzY1jCDo
lea ecx, [ebp - 0xa0]
call fcn.00431230
mov byte [ebp - 4], 3
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc21
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xa4], eax
push str.UllH9RyI8QNS497PS4kPMzUY9KDQ_3IjU
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 4
call fcn.00430f00
test al, al
jne 0x40a53c
push 0x22
push str.UllH9RyI8QNS497PS4kPMzUY9KDQ_3IjU
lea ecx, [ebp - 0xa4]
call fcn.00431230
mov byte [ebp - 4], 5
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc2b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xa8], eax
push str.VTl16MjNQVGVcKjXAdAtOks
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 6
call fcn.00430f00
test al, al
jne 0x40a589
push 0x18
push str.VTl16MjNQVGVcKjXAdAtOks
lea ecx, [ebp - 0xa8]
call fcn.00431230
mov byte [ebp - 4], 7
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc35
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x8c], eax
push str.UFF4Majww7Cx4P8OBxXGdTU
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 8
call fcn.00430f00
test al, al
jne 0x40a5d6
push 0x18
push str.UFF4Majww7Cx4P8OBxXGdTU
lea ecx, [ebp - 0x8c]
call fcn.00431230
mov byte [ebp - 4], 9
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc3f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xd4], eax
push str.eG93kcTQOGBAUs7BhoU
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xa
call fcn.00430f00
test al, al
jne 0x40a623
push 0x13
push str.eG93kcTQOGBAUs7BhoU
lea ecx, [ebp - 0xd4]
call fcn.00431230
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1cc]
push 0x18
xorps xmm0, xmm0
mov dword [ebp - 0x1bc], 0
push str.OXEwYa0kURQgJWwFVkIUWB0
movups xmmword [ebp - 0x1cc], xmm0
mov dword [ebp - 0x1b8], 0
call fcn.0042cb00
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1b4]
push 0x95
xorps xmm0, xmm0
mov dword [ebp - 0x1a4], 0
push str.UXoxzZSpYyUBUh9WAseXcxVX3AzQIIE18qcWF4D5Nx9DsLD8cEXkdr7ARMK4OB4TMX3QeiHUcSDkgVINFgLORyEfjQww7HlgGJMBYToGCxWwExY5XFUY6FJhNfsAT4NbE19z8FVcDhNAgTvGCw
movups xmmword [ebp - 0x1b4], xmm0
mov dword [ebp - 0x1a0], 0
call fcn.0042cb00
mov byte [ebp - 4], 0xe
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc49
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 0x10
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc0d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x74], 0
mov byte [ebp - 4], 0x12
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc0d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x48], esi
mov byte [ebp - 4], 0x14
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc53
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe8], eax
mov byte [ebp - 4], 0x16
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc5d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xe4], eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x19c]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x18c], 0
push str.OWVjVaXUEYEB1wMIQ
movups xmmword [ebp - 0x19c], xmm0
mov dword [ebp - 0x188], 0
call fcn.0042cb00
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x184]
push 0x13
xorps xmm0, xmm0
mov dword [ebp - 0x174], 0
push str.TVhOCSwE5SPT8ZHMSMu
movups xmmword [ebp - 0x184], xmm0
mov dword [ebp - 0x170], 0
call fcn.0042cb00
push ecx
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x2c], esp
push ecx
mov edi, esp
mov dword [ebp - 0x20], edi
mov ecx, dword [0x5ccf7c]
lea ecx, [ecx - 0x10]
call fcn.004305b0
mov ecx, dword [ebp - 0x2c]
add eax, 0x10
mov dword [edi], eax
call fcn.00447160
sub esp, 0x18
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x19c]
mov ecx, esp
push eax
call fcn.004306a0
mov ecx, edi
call fcn.00446d80
add esp, 0x18
mov byte [ebp - 4], 0x19
mov edx, SysReAllocString
lea ecx, [ebp - 0x54]
call fcn.0044a950
add esp, 4
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x2c], esp
push ecx
mov edi, esp
mov dword [ebp - 0x20], edi
mov ecx, dword [0x5ccf7c]
lea ecx, [ecx - 0x10]
call fcn.004305b0
mov ecx, dword [ebp - 0x2c]
add eax, 0x10
mov dword [edi], eax
call fcn.00447160
sub esp, 0x18
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x184]
mov ecx, esp
push eax
call fcn.004306a0
mov ecx, edi
call fcn.00446d80
add esp, 0x18
mov byte [ebp - 4], 0x19
mov edx, SysReAllocString
lea ecx, [ebp - 0x74]
call fcn.0044a950
add esp, 8
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc67
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x88], eax
push str.UTRs2OTlAGGEki9DkMWlIVcNgSSEaCH00QRgkWOP1sYxUDdNHM1gh2RDNPiYxociUSELZC0w4QUFE
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x1c
call fcn.00430f00
test al, al
jne 0x40a8b2
push 0x4f
push str.UTRs2OTlAGGEki9DkMWlIVcNgSSEaCH00QRgkWOP1sYxUDdNHM1gh2RDNPiYxociUSELZC0w4QUFE
lea ecx, [ebp - 0x88]
call fcn.00431230
mov byte [ebp - 4], 0x1d
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc71
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x84], eax
push str.T1B0bRWk8qFTY7kORB4
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x1e
call fcn.00430f00
test al, al
jne 0x40a8ff
push 0x13
push str.T1B0bRWk8qFTY7kORB4
lea ecx, [ebp - 0x84]
call fcn.00431230
mov byte [ebp - 4], 0x1f
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc7b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x80], eax
push str.TzlGXd2lVVJwQ7pTS8aWKgQ
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x20
call fcn.00430f00
test al, al
jne 0x40a943
push 0x18
push str.TzlGXd2lVVJwQ7pTS8aWKgQ
lea ecx, [ebp - 0x80]
call fcn.00431230
mov byte [ebp - 4], 0x21
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc85
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x7c], eax
push str.d2pWBUlEEOOTEWZCT43cSg
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x22
call fcn.00430f00
test al, al
jne 0x40a987
push 0x18
push str.d2pWBUlEEOOTEWZCT43cSg
lea ecx, [ebp - 0x7c]
call fcn.00431230
mov byte [ebp - 4], 0x23
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc8f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x78], eax
push str.c05RtSFUr1PywseOGw
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x24
call fcn.00430f00
test al, al
jne 0x40a9cb
push 0x13
push str.c05RtSFUr1PywseOGw
lea ecx, [ebp - 0x78]
call fcn.00431230
cmp dword [ebx + 8], 0
mov byte [ebp - 4], 0x25
jne 0x40ab8b
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push ecx
mov edi, esp
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x7c]
add ecx, 0xfffffff0
mov dword [ebp - 0x2c], edx
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x60]
mov dword [edi], eax
call fcn.00447160
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x24], eax
lea ecx, [ecx - 0x10]
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x68]
mov dword [edi], eax
call fcn.00447160
mov byte [ebp - 4], 0x27
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x40], eax
lea ecx, [ecx - 0x10]
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x98]
mov dword [edi], eax
call fcn.00447160
mov byte [ebp - 4], 0x28
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x90], eax
lea ecx, [ecx - 0x10]
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0xb0]
mov dword [edi], eax
call fcn.00447160
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx]
mov dword [ebp - 0x1c], edi
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x94], eax
lea ecx, [ecx - 0x10]
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0xd8]
mov dword [edi], eax
call fcn.00447160
add esp, 4
mov byte [ebp - 4], 0x2a
push dword [ebp - 0x2c]
push dword [ebp - 0x50]
push dword [ebp - 0x5c]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
push dword [ebp - 0x90]
push dword [ebp - 0xd0]
push dword [ebp - 0x94]
push dword [eax]
lea eax, [ebp - 0xac]
push str._ws_ws_ws_d_ws_d_ws_ws_ws_llu
push eax
call fcn.00422bb0
mov edx, dword [ebp - 0xd8]
or edi, 0xffffffff
add esp, 0x34
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ab2c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xb0]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ab49
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x98]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ab66
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x68]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ab80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
add edx, 0xfffffff0
jmp 0x40adeb
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cc99
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
push str.YURTseEcifPAoCTIW4
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x2b
call fcn.00430f00
test al, al
jne 0x40abcb
push 0x13
push str.YURTseEcifPAoCTIW4
lea ecx, [ebp - 0x24]
call fcn.00431230
push ecx
mov byte [ebp - 4], 0x2c
mov edi, esp
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x1c], eax
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x20]
mov dword [edi], eax
call fcn.00447160
add esp, 4
mov byte [ebp - 4], 0x2d
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
push ecx
mov edi, esp
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xb0], edi
mov ecx, dword [ebp - 0x7c]
add ecx, 0xfffffff0
mov dword [ebp - 0x68], edx
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x30]
mov dword [edi], eax
call fcn.00447160
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x94], edi
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0xd8], eax
lea ecx, [ecx - 0x10]
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [edi], eax
call fcn.00447160
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x80]
mov eax, dword [eax]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x74]
lea ecx, [ecx - 0x10]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x90], edi
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x3c]
mov dword [edi], eax
call fcn.00447160
mov byte [ebp - 4], 0x30
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x50], edi
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x2c], eax
lea ecx, [ecx - 0x10]
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [edi], eax
call fcn.00447160
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ecx]
mov dword [ebp - 0x34], edi
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x5c], eax
lea ecx, [ecx - 0x10]
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x28]
mov dword [edi], eax
call fcn.00447160
add esp, 4
push dword [ebx + 8]
mov byte [ebp - 4], 0x32
push dword [ebp - 0x60]
push dword [ebp - 0x68]
push dword [ebp - 0x98]
push dword [ebp - 0xb0]
push dword [ebp - 0xd8]
push dword [ebp - 0x94]
push dword [ebp - 0xd0]
push dword [ebp - 0x90]
push dword [ebp - 0x2c]
push dword [ebp - 0x50]
push dword [ebp - 0x5c]
push dword [eax]
lea eax, [ebp - 0xac]
push str._ws_ws_ws_d_ws_d_ws_ws_ws_llu_ws_lu
push eax
call fcn.00422bb0
mov edx, dword [ebp - 0x28]
or edi, 0xffffffff
add esp, 0x3c
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ad66
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ad80
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ad9a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40adb4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40adce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ade8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40adff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x33
call fcn.004300c0
mov byte [ebp - 4], 0x35
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cca3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 0x36
push 0
push eax
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0xac]
call fcn.0044b540
mov byte [ebp - 4], 0x34
add esp, 8
mov edx, dword [ebp - 0x2c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ae6b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0x298]
call fcn.0042cc90
cmp dword [ebp - 0xbc], 0
lea ecx, [ebp - 0xcc]
setne byte [ebp - 0x55]
call fcn.00430800
cmp byte [ebp - 0x55], 0
je 0x40c60d
xorps xmm0, xmm0
mov dword [ebp - 0xbc], 0
xor eax, eax
mov dword [ebp - 0xb8], 7
movups xmmword [ebp - 0xcc], xmm0
mov word [ebp - 0xcc], ax
mov eax, dword [ebp - 0x2b0]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x280]
mov esi, dword [eax + 4]
mov ecx, esi
mov dword [ebp - 0x34], esi
mov eax, dword [esi]
call dword [eax + 4]
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x38
push eax
call fcn.0042e3d0
mov ecx, eax
add esp, 4
mov eax, dword [ecx]
push 0xa
mov eax, dword [eax + 0x30]
call eax
movzx eax, ax
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x37
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x40af1d
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0xcc]
movzx eax, cx
lea ecx, [ebp - 0x2b0]
push eax
call fcn.00427c90
add esp, 4
lea edx, [ebp - 0xcc]
cmp dword [ebp - 0xb8], 8
jb 0x40af55
mov edx, dword [ebp - 0xcc]
test edx, edx
jne 0x40af55
xor ecx, ecx
jmp 0x40af6f
mov ecx, edx
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40af60
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x48]
call fcn.00431230
mov esi, dword [ebp - 0x48]
mov ecx, 0x59789c
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40afa9
test dx, dx
je 0x40afa5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40afa9
add eax, 4
add ecx, 4
test dx, dx
jne 0x40af83
xor eax, eax
jmp 0x40afae
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40b0d9
mov eax, dword [ebp - 0x2b0]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x280]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x34], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x3a
push eax
call fcn.0042e3d0
mov ecx, eax
add esp, 4
mov eax, dword [ecx]
push 0xa
mov eax, dword [eax + 0x30]
call eax
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x1c]
movzx eax, ax
mov dword [ebp - 0x20], eax
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x40b011
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
mov ecx, dword [ebp - 0x20]
lea edx, [ebp - 0xcc]
movzx eax, cx
lea ecx, [ebp - 0x2b0]
push eax
call fcn.00427c90
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0xcc]
add esp, 4
cmp dword [ebp - 0xb8], 8
cmovae edx, dword [ebp - 0xcc]
add eax, 0x48
mov dword [ebp - 0x2c], eax
test edx, edx
jne 0x40b051
xor ecx, ecx
jmp 0x40b073
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1c], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b060
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
sar ecx, 1
push ecx
push edx
mov ecx, eax
call fcn.00431230
mov eax, dword [ebp - 0x44]
mov ecx, 0x59789c
mov eax, dword [eax + 0x48]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40b0ad
test dx, dx
je 0x40b0a9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40b0ad
add eax, 4
add ecx, 4
test dx, dx
jne 0x40b087
xor eax, eax
jmp 0x40b0b2
sbb eax, eax
or eax, 1
mov byte [ebp - 4], 0x37
test eax, eax
jne 0x40c5b9
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x2c]
push 0
push 0x597b10
mov byte [eax + 0x1a], 0
call fcn.00431230
jmp 0x40c5b9
mov ecx, 0x592348
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40b106
test dx, dx
je 0x40b102
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40b106
add eax, 4
add ecx, 4
test dx, dx
jne 0x40b0e0
xor eax, eax
jmp 0x40b10b
sbb eax, eax
or eax, 1
mov byte [ebp - 4], 0x37
test eax, eax
jne 0x40ba57
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40ccad
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
push 0x597b10
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x3d
call fcn.00430f00
test al, al
jne 0x40b157
push 0
push 0x597b10
lea ecx, [ebp - 0x24]
call fcn.00431230
mov byte [ebp - 4], 0x3e
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40ccb7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
push 0x597b10
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
call fcn.00430f00
test al, al
jne 0x40b19b
push 0
push 0x597b10
lea ecx, [ebp - 0x28]
call fcn.00431230
mov byte [ebp - 4], 0x40
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40ccc1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x40], eax
push 0x597b10
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x41
call fcn.00430f00
test al, al
jne 0x40b1df
push 0
push 0x597b10
lea ecx, [ebp - 0x40]
call fcn.00431230
push ecx
mov byte [ebp - 4], 0x42
mov dword [ebp - 0x1c], esp
mov ecx, dword [ebp - 0xa0]
lea ecx, [ecx - 0x10]
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x4c]
call fcn.00447160
add esp, 4
mov dword [ebp - 0x20], eax
push ecx
mov byte [ebp - 4], 0x43
mov dword [ebp - 0x1c], esp
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x30]
call fcn.00447160
add esp, 4
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x44
mov edx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x40]
push ecx
mov ecx, eax
call fcn.0045c260
mov edx, dword [ebp - 0x30]
add esp, 0xc
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b266
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b280
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b29a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b2b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x37
mov eax, edi
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b2d2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x18
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
call fcn.00550cf4
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 0x45
nop
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax + 4]
test byte [ebp + ecx - 0x2a4], 1
jne 0x40b952
mov eax, dword [ebp + ecx - 0x280]
mov esi, dword [eax + 4]
mov ecx, esi
mov dword [ebp - 0xd8], esi
mov eax, dword [esi]
call dword [eax + 4]
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0x46
push eax
call fcn.0042e3d0
mov ecx, eax
add esp, 4
mov eax, dword [ecx]
push 0xa
mov eax, dword [eax + 0x30]
call eax
movzx eax, ax
mov ecx, esi
mov edi, eax
mov byte [ebp - 4], 0x45
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x40b36c
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
push edi
lea edx, [ebp - 0xcc]
lea ecx, [ebp - 0x2b0]
call fcn.00427c90
add esp, 4
lea edx, [ebp - 0xcc]
cmp dword [ebp - 0xb8], 8
jb 0x40b39e
mov edx, dword [ebp - 0xcc]
test edx, edx
jne 0x40b39e
xor ecx, ecx
jmp 0x40b3b2
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b3a3
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x48]
call fcn.00431230
mov esi, dword [ebp - 0x48]
cmp dword [esi - 0xc], 0x14
jl 0x40b300
push 8
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x48]
call fcn.00420f60
mov edi, eax
mov byte [ebp - 4], 0x47
mov eax, dword [edi]
cmp dword [eax - 4], 1
jle 0x40b3ef
push dword [eax - 0xc]
mov ecx, edi
call fcn.00431080
mov edx, dword [edi]
xorps xmm0, xmm0
mov ecx, edx
mov dword [ebp - 0x108], 0
movups xmmword [ebp - 0x118], xmm0
mov dword [ebp - 0x104], 0
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b414
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x118]
call fcn.0042cb00
mov byte [ebp - 4], 0x48
call fcn.00555ced
cmp dword [ebp - 0x104], 8
lea edi, [ebp - 0x118]
mov dword [ebp - 0x20], eax
cmovae edi, dword [ebp - 0x118]
mov dword [eax], 0
lea eax, [ebp - 0x1c]
push 0x10
push eax
push edi
call fcn.00557563
add esp, 0xc
cmp edi, dword [ebp - 0x1c]
je 0x40cccb
mov ecx, dword [ebp - 0x20]
cmp dword [ecx], 0x22
je 0x40ccd5
test edx, edx
jl 0x40b48f
jg 0x40b48f
test eax, eax
jb 0x40b48f
test edx, edx
jg 0x40b48f
jl 0x40b492
cmp eax, 0xffffffff
jbe 0x40b492
or eax, 0xffffffff
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x3c], eax
cmp ecx, 8
jb 0x40b4d9
mov edx, dword [ebp - 0x118]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b4cf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ccdf
push ecx
push edx
call fcn.00550d24
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x30]
mov word [ebp - 0x118], ax
add edx, 0xfffffff0
mov dword [ebp - 0x108], 0
or eax, 0xffffffff
mov dword [ebp - 0x104], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b515
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi - 0xc]
lea ecx, [ebp - 0x48]
push 8
add eax, 0xfffffff8
push eax
call fcn.00421320
push ecx
mov dword [ebp - 0x4c], esp
mov esi, dword [ebp - 0x48]
lea ecx, [esi - 0x10]
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
call fcn.004497e0
add esp, 4
cmp eax, dword [ebp - 0x3c]
jne 0x40b300
cmp dword [esi - 0xc], 4
jg 0x40b566
lea ecx, [esi - 0x10]
call fcn.004305b0
lea edi, [eax + 0x10]
mov dword [ebp - 0x24], edi
jmp 0x40b5f8
mov ecx, dword [esi - 0x10]
test ecx, ecx
je 0x40b57a
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x40b592
call fcn.00430c90
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x40cce4
test esi, esi
je 0x40ccee
mov eax, dword [ecx]
push 2
push 4
mov eax, dword [eax]
call eax
test eax, eax
je 0x40ccf8
cmp dword [eax + 8], 4
lea edi, [eax + 0x10]
mov dword [ebp - 0x24], edi
jl 0x40ccee
xor eax, eax
mov dword [edi - 0xc], 4
mov word [edi + 8], ax
test edi, edi
je 0x40b5e8
test esi, esi
je 0x40b5dd
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
jmp 0x40b5f8
xorps xmm0, xmm0
movq qword [edi], xmm0
test esi, esi
jne 0x40b5f8
call fcn.00555ced
mov dword [eax], 0x16
call fcn.00555bef
mov byte [ebp - 4], 0x49
cmp dword [edi - 4], 1
jle 0x40b610
push dword [edi - 0xc]
lea ecx, [ebp - 0x24]
call fcn.00431080
mov edi, dword [ebp - 0x24]
mov ecx, edi
mov dword [ebp - 0x120], 0
xorps xmm0, xmm0
mov dword [ebp - 0x11c], 0
movups xmmword [ebp - 0x130], xmm0
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40b633
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x130]
call fcn.0042cb00
mov byte [ebp - 4], 0x4a
call fcn.00555ced
cmp dword [ebp - 0x11c], 8
lea esi, [ebp - 0x130]
mov dword [ebp - 0x20], eax
cmovae esi, dword [ebp - 0x130]
mov dword [eax], 0
lea eax, [ebp - 0x60]
push 0x10
push eax
push esi
call fcn.00557563
add esp, 0xc
mov dword [ebp - 0x2c], eax
cmp esi, dword [ebp - 0x60]
je 0x40ccfd
mov ecx, dword [ebp - 0x20]
cmp dword [ecx], 0x22
je 0x40cd07
test edx, edx
jl 0x40b6b1
jg 0x40b6b1
test eax, eax
jb 0x40b6b1
test edx, edx
jg 0x40b6b1
jl 0x40b6b8
cmp eax, 0xffffffff
jbe 0x40b6b8
mov dword [ebp - 0x2c], 0xffffffff
mov byte [ebp - 4], 0x49
mov ecx, dword [ebp - 0x11c]
cmp ecx, 8
jb 0x40b6fc
mov edx, dword [ebp - 0x130]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b6f2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd11
push ecx
push edx
call fcn.00550d24
add esp, 8
xor eax, eax
mov dword [ebp - 0x120], 0
mov word [ebp - 0x130], ax
add edi, 0xfffffff0
mov dword [ebp - 0x11c], 7
or eax, 0xffffffff
mov byte [ebp - 4], 0x45
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x40b735
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
push 4
push 0
lea ecx, [ebp - 0x48]
call fcn.00421320
mov esi, dword [ebp - 0x48]
cmp dword [esi - 0xc], 0
jle 0x40b300
push 8
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x48]
call fcn.00420f60
mov edi, eax
mov byte [ebp - 4], 0x4b
mov eax, dword [edi]
cmp dword [eax - 4], 1
jle 0x40b777
push dword [eax - 0xc]
mov ecx, edi
call fcn.00431080
mov edx, dword [edi]
xorps xmm0, xmm0
mov eax, edx
mov dword [ebp - 0xf0], 0
movups xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0xec], 0
lea edi, [eax + 2]
nop dword [eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40b7a0
sub eax, edi
lea ecx, [ebp - 0x100]
sar eax, 1
push eax
push edx
call fcn.0042cb00
mov byte [ebp - 4], 0x4c
call fcn.00555ced
cmp dword [ebp - 0xec], 8
lea edi, [ebp - 0x100]
mov dword [ebp - 0x20], eax
cmovae edi, dword [ebp - 0x100]
mov dword [eax], 0
lea eax, [ebp - 0x68]
push 0x10
push eax
push edi
call fcn.00557563
add esp, 0xc
cmp edi, dword [ebp - 0x68]
je 0x40cd16
mov ecx, dword [ebp - 0x20]
cmp dword [ecx], 0x22
je 0x40cd20
test edx, edx
jl 0x40b81b
jg 0x40b81b
test eax, eax
jb 0x40b81b
test edx, edx
jg 0x40b81b
jl 0x40b81e
cmp eax, 0xffffffff
jbe 0x40b81e
or eax, 0xffffffff
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x3c], eax
cmp ecx, 8
jb 0x40b865
mov edx, dword [ebp - 0x100]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40b85b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd2a
push ecx
push edx
call fcn.00550d24
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x45
mov edx, dword [ebp - 0x98]
or edi, 0xffffffff
mov word [ebp - 0x100], ax
add edx, 0xfffffff0
mov dword [ebp - 0xf0], 0
mov eax, edi
mov dword [ebp - 0xec], 7
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b8a6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x70]
call fcn.004253d0
mov ecx, dword [ebp - 0x164]
cmp byte [ecx + 0xd], 0
jne 0x40b8cd
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ecx + 0x10]
jae 0x40b93e
cmp dword [ebp - 0x6c], 0xaaaaaaa
je 0x40cd2f
mov edi, dword [ebp - 0x70]
lea eax, [ebp - 0x70]
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x4d
push 0x18
mov dword [ebp - 0xb0], 0
call fcn.00550cf4
mov byte [ebp - 4], 0x45
add esp, 4
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xb0], 0
mov dword [eax + 0x10], ecx
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x168]
mov dword [eax + 0x14], 0
push dword [ebp - 0x16c]
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov word [eax + 0xc], 0
call fcn.004249c0
mov ecx, eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0x14], eax
mov eax, dword [esi - 0xc]
push 8
add eax, 0xfffffff8
push eax
jmp 0x40b739
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x24], eax
lea edi, [eax + 0xc]
push edi
mov dword [ebp - 0x34], edi
call fcn.0053db71
add esp, 4
test eax, eax
jne 0x40cd34
mov eax, dword [edi + 0x2c]
cmp eax, 0x7fffffff
je 0x40cd3b
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x70]
mov ecx, dword [ebp - 0x24]
add ecx, 4
cmp ecx, eax
je 0x40ba28
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
push dword [eax + 4]
push ecx
call fcn.00425420
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
add ecx, 4
mov dword [eax + 4], eax
mov dword [eax], eax
mov dword [eax + 8], eax
push dword [ecx]
mov dword [ecx + 4], 0
mov eax, dword [ebp - 0x70]
push dword [eax + 4]
call fcn.004679a0
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov ecx, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x6c]
mov dword [edx + 8], eax
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x40ba20
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
jne 0x40b9fa
nop
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
je 0x40b9f0
mov eax, dword [edx + 4]
mov dword [eax], ecx
mov edx, dword [edx + 4]
mov ecx, dword [edx + 4]
mov eax, dword [ecx + 8]
cmp byte [eax + 0xd], 0
jne 0x40ba1b
nop
mov ecx, eax
mov eax, dword [ecx + 8]
cmp byte [eax + 0xd], 0
je 0x40ba10
mov dword [edx + 8], ecx
jmp 0x40ba28
mov dword [eax], eax
mov eax, dword [edx + 4]
mov dword [eax + 8], eax
push edi
call fcn.0053db82
mov eax, dword [ebp - 0x70]
add esp, 4
push dword [eax + 4]
lea eax, [ebp - 0x70]
push eax
mov ecx, eax
call fcn.00425420
push 0x18
push dword [ebp - 0x70]
call fcn.00550d24
add esp, 8
or edi, 0xffffffff
jmp 0x40c5b9
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cd46
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x40], eax
push str.T2RNpaAYKvOwkjwDSlI9AwUOHAYgIbQ4gwFiAJTOw
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x4f
call fcn.00430f00
test al, al
jne 0x40ba97
push 0x2c
push str.T2RNpaAYKvOwkjwDSlI9AwUOHAYgIbQ4gwFiAJTOw
lea ecx, [ebp - 0x40]
call fcn.00431230
mov byte [ebp - 4], 0x51
mov eax, dword [esi - 0xc]
test eax, eax
jne 0x40baaa
mov dword [ebp - 0x54], eax
jmp 0x40bb79
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x138], 0
push esi
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x134], 0
movups xmmword [ebp - 0x148], xmm0
call fcn.0042cb00
mov byte [ebp - 4], 0x52
call fcn.00555ced
cmp dword [ebp - 0x134], 8
lea edi, [ebp - 0x148]
mov dword [ebp - 0x20], eax
cmovae edi, dword [ebp - 0x148]
mov dword [eax], 0
lea eax, [ebp - 0x1c]
push 0xa
push eax
push edi
call fcn.005575af
add esp, 0xc
mov ecx, eax
cmp edi, dword [ebp - 0x1c]
je 0x40cd50
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x22
je 0x40cd5a
mov dword [ebp - 0x54], ecx
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x134]
cmp ecx, 8
jb 0x40bb68
mov edx, dword [ebp - 0x148]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40bb5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cd64
push ecx
push edx
call fcn.00550d24
add esp, 8
call fcn.00555ced
cmp dword [eax], 0
jne 0x40cd69
or edi, 0xffffffff
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x50
push eax
call dword [sym.imp.SHELL32.dll_SHQueryUserNotificationState]
mov eax, dword [ebp - 0x1c]
cmp eax, 5
je 0x40bddd
cmp eax, 7
je 0x40bddd
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cda1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3c], eax
push str.aUpkxMAYsYAlUbDFQBZNGikFLQg0vgAA
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x75
call fcn.00430f00
test al, al
jne 0x40bbdf
push 0x22
push str.aUpkxMAYsYAlUbDFQBZNGikFLQg0vgAA
lea ecx, [ebp - 0x3c]
call fcn.00431230
mov byte [ebp - 4], 0x77
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cdab
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x78
mov eax, dword [ebp - 0x54]
push ecx
mov dword [ebp - 0x1c], esp
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x20], eax
lea ecx, [ecx - 0x10]
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x30]
call fcn.00447160
add esp, 4
mov byte [ebp - 4], 0x79
push dword [ebp - 0x20]
push dword [eax]
lea eax, [ebp - 0x44]
push eax
call fcn.00422bb0
mov byte [ebp - 4], 0x78
add esp, 0xc
mov edx, dword [ebp - 0x30]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bc60
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cdb5
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
push 0x597b10
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x7a
call fcn.00430f00
test al, al
jne 0x40bca0
push 0
push 0x597b10
lea ecx, [ebp - 0x28]
call fcn.00431230
mov byte [ebp - 4], 0x7b
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cdbf
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
push 0x597b10
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x7c
call fcn.00430f00
test al, al
jne 0x40bce4
push 0
push 0x597b10
lea ecx, [ebp - 0x24]
call fcn.00431230
mov byte [ebp - 4], 0x7d
push ecx
mov dword [ebp - 0x1c], esp
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x4c]
call fcn.00447160
add esp, 4
mov dword [ebp - 0x20], eax
push ecx
mov byte [ebp - 4], 0x7e
mov dword [ebp - 0x1c], esp
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x30]
call fcn.00447160
add esp, 4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x7f
mov edx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x44]
push ecx
mov ecx, eax
call fcn.0045c260
mov edx, dword [ebp - 0x30]
add esp, 0xc
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bd6d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bd87
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bda1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bdbb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40bdd5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
jmp 0x40c58b
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cdc9
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
push str.aGZ0nSCQHkBzwhPIg
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x56
call fcn.00430f00
test al, al
jne 0x40be1d
push 0x13
push str.aGZ0nSCQHkBzwhPIg
lea ecx, [ebp - 0x5c]
call fcn.00431230
mov byte [ebp - 4], 0x57
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cdd3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x50], eax
push str.RlQ4uRQo12SzESiPVUg
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x58
call fcn.00430f00
test al, al
jne 0x40be61
push 0x13
push str.RlQ4uRQo12SzESiPVUg
lea ecx, [ebp - 0x50]
call fcn.00431230
push ecx
mov byte [ebp - 4], 0x59
mov edi, esp
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x34], esp
push ecx
mov esi, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], esi
mov ecx, dword [0x5ccf7c]
lea ecx, [ecx - 0x10]
call fcn.004305b0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00447160
add esp, 4
push ecx
mov edi, esp
mov byte [ebp - 4], 0x5a
push ecx
mov esi, esp
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x5c]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x68], eax
call fcn.004305b0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00447160
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edx, SysReAllocString
mov byte [ebp - 4], 0x59
call fcn.0044a9f0
mov eax, dword [ebp - 0x2b0]
add esp, 8
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x280]
mov esi, dword [eax + 4]
mov ecx, esi
mov dword [ebp - 0x34], esi
mov eax, dword [esi]
call dword [eax + 4]
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x5b
push eax
call fcn.0042e3d0
mov ecx, eax
add esp, 4
mov eax, dword [ecx]
push 0xa
mov eax, dword [eax + 0x30]
call eax
movzx eax, ax
mov ecx, esi
mov edi, eax
mov byte [ebp - 4], 0x59
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x40bf2c
mov ecx, dword [eax]
push 1
mov edx, dword [ecx]
mov ecx, eax
call edx
push edi
lea edx, [ebp - 0xcc]
lea ecx, [ebp - 0x2b0]
call fcn.00427c90
add esp, 4
lea edx, [ebp - 0xcc]
cmp dword [ebp - 0xb8], 8
jb 0x40bf5e
mov edx, dword [ebp - 0xcc]
test edx, edx
jne 0x40bf5e
xor ecx, ecx
jmp 0x40bf72
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40bf63
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x48]
call fcn.00431230
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cddd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x3c], eax
push str.cTBkOTDherEi0dXWQBslPVEXIOCVZHCSlR2Vgs3HFEQ
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x5c
call fcn.00430f00
test al, al
jne 0x40bfbc
push 0x2c
push str.cTBkOTDherEi0dXWQBslPVEXIOCVZHCSlR2Vgs3HFEQ
lea ecx, [ebp - 0x3c]
call fcn.00431230
mov byte [ebp - 4], 0x5e
mov esi, dword [ebp - 0x48]
cmp dword [esi - 4], 1
jle 0x40bfd7
push dword [esi - 0xc]
lea ecx, [ebp - 0x48]
call fcn.00431080
mov esi, dword [ebp - 0x48]
mov eax, dword [esi - 0xc]
lea ecx, [ebp - 0x160]
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x150], 0
push esi
movups xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0x14c], 0
call fcn.0042cb00
mov byte [ebp - 4], 0x5f
call fcn.00555ced
cmp dword [ebp - 0x14c], 8
lea edi, [ebp - 0x160]
mov dword [ebp - 0x20], eax
cmovae edi, dword [ebp - 0x160]
mov dword [eax], 0
lea eax, [ebp - 0x1c]
push 0xa
push eax
push edi
call fcn.005575af
add esp, 0xc
mov ecx, eax
cmp edi, dword [ebp - 0x1c]
je 0x40cde7
mov eax, dword [ebp - 0x20]
cmp dword [eax], 0x22
je 0x40cdf1
mov dword [ebp - 0x74], ecx
mov byte [ebp - 4], 0x5e
mov ecx, dword [ebp - 0x14c]
cmp ecx, 8
jb 0x40c098
mov edx, dword [ebp - 0x160]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c08e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cdfb
push ecx
push edx
call fcn.00550d24
add esp, 8
call fcn.00555ced
push ecx
cmp dword [eax], 0
jne 0x40ce00
mov dword [ebp - 4], 0x5d
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x34], esp
mov dword [ebp - 0x1c], esp
push ecx
mov edi, esp
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], edi
mov ecx, dword [0x5ccf7c]
lea ecx, [ecx - 0x10]
call fcn.004305b0
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [edi], eax
call fcn.00447160
add esp, 4
mov byte [ebp - 4], 0x63
push ecx
mov dword [ebp - 0x1c], esp
push ecx
mov edi, esp
mov dword [ebp - 0x30], edi
mov eax, dword [ebp - 0x50]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.004305b0
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
mov dword [edi], eax
call fcn.00447160
mov ecx, dword [ebp - 0x20]
add esp, 4
mov edx, SysReAllocString
mov byte [ebp - 4], 0x5d
call fcn.0044a9f0
add esp, 8
mov byte [ebp - 4], 0x64
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40ce37
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
push ecx
mov byte [ebp - 4], 0x65
mov edi, esp
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x34], edi
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x1c], eax
lea ecx, [ecx - 0x10]
call fcn.004305b0
add eax, 0x10
lea ecx, [ebp - 0x20]
mov dword [edi], eax
call fcn.00447160
add esp, 4
mov byte [ebp - 4], 0x66
push dword [ebp - 0x1c]
push dword [eax]
lea eax, [ebp - 0x2c]
push eax
call fcn.00422bb0
mov byte [ebp - 4], 0x65
or edi, 0xffffffff
mov edx, dword [ebp - 0x20]
add esp, 0xc
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c1a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40ce41
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
push 0x597b10
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x67
call fcn.00430f00
test al, al
jne 0x40c1e4
push 0
push 0x597b10
lea ecx, [ebp - 0x28]
call fcn.00431230
mov byte [ebp - 4], 0x68
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40ce4b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
push 0x597b10
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x69
call fcn.00430f00
test al, al
jne 0x40c228
push 0
push 0x597b10
lea ecx, [ebp - 0x24]
call fcn.00431230
push ecx
mov byte [ebp - 4], 0x6a
mov dword [ebp - 0x1c], esp
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx - 0x10]
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x4c]
call fcn.00447160
add esp, 4
mov dword [ebp - 0x20], eax
push ecx
mov byte [ebp - 4], 0x6b
mov dword [ebp - 0x1c], esp
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x30]
call fcn.00447160
add esp, 4
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x6c
mov edx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.0045c260
mov edx, dword [ebp - 0x30]
add esp, 0xc
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c2af
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c2c9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c2e3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x65
mov eax, edi
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c301
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x54], 0
je 0x40c53d
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x118], 0
jne 0x40c53d
mov byte [ebp - 4], 0x6d
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40ce55
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x6e
sub esp, 0x18
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x1c], eax
mov dword [ecx + 0x114], eax
lea eax, [ebp - 0x1b4]
mov ecx, esp
push eax
call fcn.004306a0
lea ecx, [ebp - 0x20]
call fcn.00446d80
add esp, 0x18
mov byte [ebp - 4], 0x6f
push dword [ebp - 0x1c]
push dword [eax]
lea eax, [ebp - 0x28]
push eax
call fcn.00422bb0
mov byte [ebp - 4], 0x6e
add esp, 0xc
mov edx, dword [ebp - 0x20]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c39d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
sub esp, 0x18
lea eax, [ebp - 0x1cc]
mov ecx, esp
push eax
call fcn.004306a0
lea ecx, [ebp - 0x20]
call fcn.00446d80
add esp, 0x18
mov byte [ebp - 4], 0x70
mov edx, dword [eax]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x1c], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c3c7
sub ecx, dword [ebp - 0x1c]
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0x44]
push edx
lea ecx, [ecx + 0x120]
call fcn.0042d2a0
mov byte [ebp - 4], 0x6e
mov eax, edi
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c405
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40ce5f
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
push str.ZHNUkQR9RwNTEUWUW5hXH1E66LhAaxMigH4EiAo8Cx0neY15TIL2MLXFTIkiFjonhDhQWIOmNenUyAzxERYpRPBk
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x71
call fcn.00430f00
test al, al
jne 0x40c445
push 0x59
push str.ZHNUkQR9RwNTEUWUW5hXH1E66LhAaxMigH4EiAo8Cx0neY15TIL2MLXFTIkiFjonhDhQWIOmNenUyAzxERYpRPBk
lea ecx, [ebp - 0x24]
call fcn.00431230
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0x44]
push 4
push ecx
mov dword [ebp - 0x20], esp
mov eax, dword [eax + 0x4c]
push ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], esp
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.004305b0
mov ecx, dword [ebp - 0x20]
mov edx, esp
add eax, 0x10
mov dword [edx], eax
call fcn.00447160
mov ecx, dword [ebp - 0x30]
add esp, 4
call fcn.004655a0
mov eax, dword [ebp - 0x44]
push 8
push ecx
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], esp
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x30], eax
call fcn.004305b0
mov ecx, dword [ebp - 0x20]
mov edx, esp
add eax, 0x10
mov dword [edx], eax
call fcn.004655a0
push 4
call fcn.00550cf4
mov ecx, dword [ebp - 0x44]
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [eax], ecx
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x73
push ecx
push 0
push eax
push 0x4262c0
push 0
push 0
call fcn.0055bf98
add esp, 0x18
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x40ce73
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x74
call fcn.0042d950
cmp dword [ebp - 0x98], 0
jne 0x40ce69
mov edx, dword [ebp - 0x4c]
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c526
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x30]
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c53d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c557
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c571
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c588
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x68]
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c59f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c5b9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xb8]
cmp ecx, 8
jb 0x40c7c4
mov edx, dword [ebp - 0xcc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c5f3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40ce6e
push ecx
push edx
call fcn.00550d24
add esp, 8
lea ecx, [ebp - 0x2b0]
call fcn.0042d9b0
jmp 0x40c93b
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cefa
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x40], eax
push 0x597b10
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x80
call fcn.00430f00
test al, al
jne 0x40c64d
push 0
push 0x597b10
lea ecx, [ebp - 0x40]
call fcn.00431230
mov byte [ebp - 4], 0x81
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cf04
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
push 0x597b10
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x82
call fcn.00430f00
test al, al
jne 0x40c691
push 0
push 0x597b10
lea ecx, [ebp - 0x28]
call fcn.00431230
mov byte [ebp - 4], 0x83
call fcn.00430c90
mov ecx, eax
test ecx, ecx
je 0x40cf0e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x24], eax
push 0x597b10
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x84
call fcn.00430f00
test al, al
jne 0x40c6d5
push 0
push 0x597b10
lea ecx, [ebp - 0x24]
call fcn.00431230
push ecx
mov byte [ebp - 4], 0x85
mov dword [ebp - 0x1c], esp
mov ecx, dword [ebp - 0xa8]
lea ecx, [ecx - 0x10]
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x4c]
call fcn.00447160
add esp, 4
mov dword [ebp - 0x20], eax
push ecx
mov byte [ebp - 4], 0x86
mov dword [ebp - 0x1c], esp
mov ecx, dword [ebp - 0x64]
add ecx, 0xfffffff0
call fcn.004305b0
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x30]
call fcn.00447160
add esp, 4
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x87
mov edx, dword [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.0045c260
mov edx, dword [ebp - 0x30]
add esp, 0xc
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c75c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c776
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c790
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x28]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c7aa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c7c4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x2b0]
call fcn.0042d9b0
jmp 0x40c93b
mov edx, dword [ebp - 0x78]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c955
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x7c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c96f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x80]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c989
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x84]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c9a6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x88]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40c9c3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x170]
cmp ecx, 8
jb 0x40ca03
mov edx, dword [ebp - 0x184]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c9f9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf18
push ecx
push edx
call fcn.00550d24
add esp, 8
mov ecx, dword [ebp - 0x188]
cmp ecx, 8
jb 0x40ca43
mov edx, dword [ebp - 0x19c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40ca39
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf18
push ecx
push edx
call fcn.00550d24
add esp, 8
mov edx, dword [ebp - 0xe4]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ca60
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe8]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ca7d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40ca94
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xac]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cab1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe0]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cace
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x1a0]
cmp ecx, 8
jb 0x40cb0e
mov edx, dword [ebp - 0x1b4]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cb04
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf18
push ecx
push edx
call fcn.00550d24
add esp, 8
mov ecx, dword [ebp - 0x1b8]
cmp ecx, 8
jb 0x40cb4e
mov edx, dword [ebp - 0x1cc]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40cb44
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40cf18
push ecx
push edx
call fcn.00550d24
add esp, 8
mov edx, dword [ebp - 0xd4]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cb6b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8c]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cb88
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa8]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cba5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa4]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cbc2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa0]
mov eax, edi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40cbdf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x64]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x40cbf7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push str.invalid_stoll_argument
call fcn.0053a6f8
push str.stoll_argument_out_of_range
call fcn.0053a738
call fcn.00555bff
push 0x80004005
call fcn.00431210
push 0x80070057
call fcn.00431210
call fcn.00431140
push str.invalid_stoll_argument
call fcn.0053a6f8
push str.stoll_argument_out_of_range
call fcn.0053a738
call fcn.00555bff
push str.invalid_stoll_argument
call fcn.0053a6f8
push str.stoll_argument_out_of_range
call fcn.0053a738
call fcn.00555bff
call fcn.004277c0
push 5
call fcn.0053b2f5
dec eax
push 6
mov dword [edi + 0x2c], eax
call fcn.0053b2f5
push 0x80004005
call fcn.00431210
push str.invalid_stoul_argument
call fcn.0053a6f8
push str.stoul_argument_out_of_range
call fcn.0053a738
call fcn.00555bff
push ecx
lea eax, [ebp - 0x40]
mov ecx, esp
push eax
call fcn.00430670
lea ecx, [ebp - 0x34]
call fcn.00447160
add esp, 4
push eax
lea ecx, [ebp - 0x200]
mov byte [ebp - 4], 0x53
call fcn.00448760
push 0x5c2f3c
lea eax, [ebp - 0x200]
push eax
call fcn.00552c2a
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push str.invalid_stoul_argument
call fcn.0053a6f8
push str.stoul_argument_out_of_range
call fcn.0053a738
call fcn.00555bff
lea eax, [ebp - 0x3c]
mov ecx, esp
push eax
call fcn.00430670
lea ecx, [ebp - 0x34]
call fcn.00447160
add esp, 4
push eax
lea ecx, [ebp - 0x1dc]
mov byte [ebp - 4], 0x60
call fcn.00448760
push 0x5c2f3c
lea eax, [ebp - 0x1dc]
push eax
call fcn.00552c2a
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
call fcn.00555db5
call fcn.00555bff
push 6
mov dword [ebp - 0x98], 0
call fcn.0053b2f5
mov ebx, dword [ebp - 0x14]
push ecx
lea eax, [ebp - 0x3c]
mov ecx, esp
push eax
call fcn.00430670
lea ecx, [ebp - 0x34]
call fcn.00447160
add esp, 4
push eax
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x62
call fcn.00448760
push 0x5c2f3c
lea eax, [ebp - 0x1e8]
push eax
call fcn.00552c2a
mov ebx, dword [ebp - 0x14]
push ecx
lea eax, [ebp - 0x40]
mov ecx, esp
push eax
call fcn.00430670
lea ecx, [ebp - 0x34]
call fcn.00447160
add esp, 4
push eax
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 0x55
call fcn.00448760
push 0x5c2f3c
lea eax, [ebp - 0x1f4]
push eax
call fcn.00552c2a
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
push 0x80004005
call fcn.00431210
call fcn.00555bff
int3