Function at 0x49aec0
Capabilities:
Contain obfuscated stackstrings
Get common file path
Read .ini file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x552d97
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1928
push ebx
call fcn.00434710
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x74], edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 1
lea ecx, [edi + 8]
push 0
mov byte [edi], 0
call fcn.00417ef0
mov byte [ebp - 4], 1
sub esp, 0x10
mov dword [ebp - 0x1c], 1
mov ecx, esp
mov dword [ebp - 0x44], esp
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004140c0
add esp, 8
mov byte [ebp - 4], 3
mov dword [ebp - 0x18], 0xc6f4a1cc
mov dword [ebp - 0x14], 0x9fac77b7
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], ecx
mov dword [ebp - 0x18], 0x61453c76
mov dword [ebp - 0x14], 0xa0df89f8
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], ecx
mov dword [ebp - 0x18], 0xa980d4ad
mov dword [ebp - 0x14], 0xf3c01ed1
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x18], 0x61453c76
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x14], 0xa0df89f8
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
movaps xmm1, xmmword [ebp - 0x340]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x340]
mov dword [ebp - 0x54], ecx
mov ecx, edi
xorps xmm1, xmmword [ebp - 0x60]
push eax
movaps xmmword [ebp - 0x340], xmm1
call fcn.0041af80
mov byte [ebp - 4], 1
mov ecx, eax
call fcn.00413cb0
push 0x104
lea eax, [ebp - 0x938]
push 0
push eax
call fcn.004359a0
add esp, 0xc
lea eax, [ebp - 0x938]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea eax, [ebx + 8]
push eax
lea edx, [ebp - 0x938]
lea ecx, [ebp - 0x5d8]
call fcn.0041ac50
add esp, 4
mov byte [ebp - 4], 4
lea edx, [ebp - 0x5d8]
mov dword [ebp - 0x18], 0xc6f2a4f1
mov dword [ebp - 0x14], 0x96ac77b7
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x18], 0xf2c1205
mov dword [ebp - 0x14], 0xa0df8991
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x18], 0xa980d4ad
mov dword [ebp - 0x14], 0xf3c01ed1
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x18], 0x61453c76
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x14], 0xa0df89f8
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
movaps xmm1, xmmword [ebp - 0x360]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x360]
mov dword [ebp - 0x54], ecx
lea ecx, [ebp - 0x4b8]
xorps xmm1, xmmword [ebp - 0x60]
push eax
movaps xmmword [ebp - 0x360], xmm1
call fcn.0041ab20
add esp, 4
mov byte [ebp - 4], 5
lea eax, [ebp - 0x1938]
push 0x1000
push 0
push eax
call fcn.004359a0
add esp, 0xc
lea eax, [ebp - 0x4b8]
cmp dword [ebp - 0x4a4], 0xf
cmova eax, dword [ebp - 0x4b8]
push eax
push 0x1000
lea eax, [ebp - 0x1938]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
lea esi, [ebp - 0x1938]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0xf0], 0xcfefa6fd
mov dword [ebp - 0xec], 0xf3a572b8
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], ecx
mov dword [ebp - 0xf8], 0x61453c76
mov dword [ebp - 0xf4], 0xa0df89f8
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x100], 0xa980d4ad
mov dword [ebp - 0xfc], 0xf3c01ed1
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x108], 0x61453c76
mov dword [ebp - 0x104], 0xa0df89f8
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x51c], ecx
mov ecx, dword [ebp - 0x104]
movaps xmm1, xmmword [ebp - 0x350]
mov dword [ebp - 0x518], eax
lea eax, [ebp - 0x350]
push 7
mov dword [ebp - 0x514], ecx
xorps xmm1, xmmword [ebp - 0x520]
push eax
push esi
movaps xmmword [ebp - 0x350], xmm1
call fcn.00440f9e
add esp, 0xc
test eax, eax
jne 0x49ca51
push 0x104
push eax
lea eax, [ebp - 0x830]
push eax
call fcn.004359a0
add esp, 0xc
lea edx, [ebp - 0x4b8]
cmp dword [ebp - 0x4a4], 0xf
cmova edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x110], 0xc1f4b5fd
mov dword [ebp - 0x10c], 0xf3c01ed1
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], ecx
mov dword [ebp - 0x118], 0x61453c76
mov dword [ebp - 0x114], 0xa0df89f8
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x120], 0xa980d4ad
mov dword [ebp - 0x11c], 0xf3c01ed1
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x510], eax
push edx
mov dword [ebp - 0x128], 0x61453c76
mov dword [ebp - 0x124], 0xa0df89f8
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x508], eax
lea eax, [ebp - 0x830]
push 0x104
push eax
mov dword [ebp - 0x50c], ecx
lea eax, [ebp - 0x3a0]
mov ecx, dword [ebp - 0x124]
movaps xmm1, xmmword [ebp - 0x3a0]
push 0
mov dword [ebp - 0x504], ecx
xorps xmm1, xmmword [ebp - 0x510]
push eax
push esi
movaps xmmword [ebp - 0x3a0], xmm1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x130], 0xa980d4f1
mov dword [ebp - 0x12c], 0xf3c01ed1
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x138], 0x61453c76
mov dword [ebp - 0x134], 0xa0df89f8
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x140], 0xa980d4ad
mov dword [ebp - 0x13c], 0xf3c01ed1
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x148], 0x61453c76
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x144], 0xa0df89f8
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x4fc], ecx
mov ecx, dword [ebp - 0x144]
movaps xmm1, xmmword [ebp - 0x2f0]
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4f4], ecx
xorps xmm1, xmmword [ebp - 0x500]
movaps xmmword [ebp - 0x2f0], xmm1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2f0]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49b3e0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x5c8]
sub eax, edx
cmp eax, ecx
jb 0x49cb88
cmp dword [ebp - 0x5c4], 0xf
lea eax, [ebp - 0x5d8]
push ecx
cmova eax, dword [ebp - 0x5d8]
lea ecx, [ebp - 0x2f0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x44]
lea ecx, [ebp - 0x68c]
call fcn.0041e8a0
mov esi, dword [ebp - 0x1c]
lea eax, [ebp - 0x830]
or esi, 4
lea edx, [ebp - 0x68c]
push eax
lea ecx, [ebp - 0x62c]
mov dword [ebp - 0x1c], esi
call fcn.0041abb0
add esp, 4
mov byte [ebp - 4], 7
and esi, 0xfffffffb
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x68c]
call fcn.00402df0
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x830]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x38], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49b486
sub ecx, edx
lea eax, [ebp - 0x830]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00403040
mov byte [ebp - 4], 9
lea edi, [ebp - 0x38]
cmp dword [ebp - 0x24], 0xf
mov esi, dword [ebp - 0x28]
cmova edi, dword [ebp - 0x38]
test esi, esi
je 0x49b6f6
push esi
push 0x2f
push edi
call fcn.00437190
add esp, 0xc
test eax, eax
je 0x49b6f6
sub eax, edi
cmp eax, 0xffffffff
je 0x49b6f6
mov dword [ebp - 0x150], 0xa980d482
sub esp, 0x18
mov dword [ebp - 0x14c], 0xf3c01ed1
mov edx, esp
mov eax, dword [ebp - 0x150]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x158], 0x61453c76
mov dword [ebp - 0x154], 0xa0df89f8
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0xe8], 0xa980d4ad
mov dword [ebp - 0xe4], 0xf3c01ed1
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x160], 0x61453c76
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x15c], 0xa0df89f8
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x15c]
movaps xmm1, xmmword [ebp - 0x300]
mov dword [ebp - 0x4e4], ecx
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x4e8], eax
lea esi, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x4f0]
movups xmmword [edx], xmm0
mov dword [ebp - 0x5e4], esp
movaps xmmword [ebp - 0x300], xmm1
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49b5c5
sub ecx, esi
lea eax, [ebp - 0x300]
push ecx
push eax
mov ecx, edx
call fcn.00403040
mov byte [ebp - 4], 0xa
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x5f0], esp
xorps xmm0, xmm0
lea eax, [ebp - 0x38]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x24], 0xf
mov edi, dword [ebp - 0x28]
cmova eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp edi, 0x7fffffff
ja 0x49cb88
cmp edi, 0xf
ja 0x49b634
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], 0xf
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
jmp 0x49b68a
mov eax, edi
or eax, 0xf
mov dword [ebp - 0x5f8], eax
cmp eax, 0x7fffffff
jbe 0x49b64d
mov eax, closesocket
jmp 0x49b662
cmp eax, 0x16
mov dword [ebp - 0x5f4], 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
push esi
call fcn.004032d0
mov ecx, dword [ebp - 0x64]
mov dword [esi + 0x14], ecx
lea ecx, [edi + 1]
push ecx
push dword [ebp - 0x20]
mov dword [esi], eax
push eax
mov dword [esi + 0x10], edi
call fcn.00435260
add esp, 0x14
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x488]
call fcn.004e3880
add esp, 0x30
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x484]
mov ecx, dword [ebp - 0x488]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x49b6e4
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [ecx + eax*8]
lea ecx, [ebp - 0x38]
cmp ecx, eax
je 0x49b6e4
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x49b6da
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00416130
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x488]
call fcn.004185d0
mov esi, dword [ebp - 0x28]
cmp dword [ebp - 0x24], 0xf
lea edi, [ebp - 0x38]
cmova edi, dword [ebp - 0x38]
test esi, esi
je 0x49b943
push esi
push 0x5c
push edi
call fcn.00437190
add esp, 0xc
test eax, eax
je 0x49b943
sub eax, edi
cmp eax, 0xffffffff
je 0x49b943
mov dword [ebp - 0x168], 0xa980d4f1
sub esp, 0x18
mov dword [ebp - 0x164], 0xf3c01ed1
mov edx, esp
mov eax, dword [ebp - 0x168]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x164]
mov dword [ebp - 0x30c], ecx
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x170], 0x61453c76
mov dword [ebp - 0x16c], 0xa0df89f8
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x178], 0xa980d4ad
mov dword [ebp - 0x174], 0xf3c01ed1
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x180], 0x61453c76
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], ecx
mov dword [ebp - 0x17c], 0xa0df89f8
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x17c]
movaps xmm1, xmmword [ebp - 0x310]
mov dword [ebp - 0x4d4], ecx
lea ecx, [ebp - 0x310]
mov dword [ebp - 0x4d8], eax
lea esi, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x4e0]
movups xmmword [edx], xmm0
mov dword [ebp - 0x5ec], esp
movaps xmmword [ebp - 0x310], xmm1
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49b815
sub ecx, esi
lea eax, [ebp - 0x310]
push ecx
push eax
mov ecx, edx
call fcn.00403040
mov byte [ebp - 4], 0xd
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x5dc], esp
xorps xmm0, xmm0
lea eax, [ebp - 0x38]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x24], 0xf
mov edi, dword [ebp - 0x28]
cmova eax, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
cmp edi, 0x7fffffff
ja 0x49cb88
cmp edi, 0xf
ja 0x49b884
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], 0xf
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
jmp 0x49b8da
mov eax, edi
or eax, 0xf
mov dword [ebp - 0x5e8], eax
cmp eax, 0x7fffffff
jbe 0x49b89d
mov eax, closesocket
jmp 0x49b8b2
cmp eax, 0x16
mov dword [ebp - 0x5e0], 0x16
mov ecx, 0x16
cmovb eax, ecx
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.004032d0
mov ecx, dword [ebp - 0x68]
mov dword [esi + 0x14], ecx
lea ecx, [edi + 1]
push ecx
push dword [ebp - 0x20]
mov dword [esi], eax
push eax
mov dword [esi + 0x10], edi
call fcn.00435260
add esp, 0x14
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x47c]
call fcn.004e3880
add esp, 0x30
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x47c]
sub eax, ecx
sar eax, 3
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x49b934
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [ecx + eax*8]
lea ecx, [ebp - 0x38]
cmp ecx, eax
je 0x49b934
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x49b92a
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00416130
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x47c]
call fcn.004185d0
mov dword [ebp - 0x188], 0xdbefb2f1
lea edx, [ebp - 0x62c]
mov dword [ebp - 0x184], 0x80a976bc
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x40c], ecx
mov dword [ebp - 0x190], 0x18375302
mov dword [ebp - 0x18c], 0xccaefad6
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x404], ecx
mov dword [ebp - 0x198], 0x99a24c8e
mov dword [ebp - 0x194], 0x1b8ae46f
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], ecx
mov dword [ebp - 0x1a0], 0x23d873d8
mov dword [ebp - 0x19c], 0xaff386e6
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3f4], ecx
mov dword [ebp - 0x1a8], 0xa980d4ad
mov dword [ebp - 0x1a4], 0xf3c01ed1
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1b0], 0x61453c76
mov dword [ebp - 0x1ac], 0xa0df89f8
mov dword [ebp - 0x580], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x57c], ecx
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b8], 0x99c738e7
mov dword [ebp - 0x1b4], 0x1b8ae46f
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x574], ecx
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x1c0], 0x23d873d8
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x1bc], 0xaff386e6
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1bc]
movaps xmm1, xmmword [ebp - 0x410]
xorps xmm1, xmmword [ebp - 0x580]
movaps xmmword [ebp - 0x410], xmm1
movaps xmm1, xmmword [ebp - 0x400]
mov dword [ebp - 0x568], eax
lea eax, [ebp - 0x410]
mov dword [ebp - 0x564], ecx
lea ecx, [ebp - 0x4a0]
xorps xmm1, xmmword [ebp - 0x570]
push eax
movaps xmmword [ebp - 0x400], xmm1
call fcn.0041ab20
add esp, 4
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x1c8], 0xa980b6df
mov dword [ebp - 0x1c4], 0xf3c01ed1
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x38c], ecx
mov dword [ebp - 0x1d0], 0x61453c76
mov dword [ebp - 0x1cc], 0xa0df89f8
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x384], ecx
mov dword [ebp - 0x1d8], 0xa980d4ad
mov dword [ebp - 0x1d4], 0xf3c01ed1
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 0x1e0], 0x61453c76
mov dword [ebp - 0x1dc], 0xa0df89f8
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1dc]
cmp dword [ebp - 0x48c], 0xf
movaps xmm1, xmmword [ebp - 0x390]
mov dword [ebp - 0x548], eax
lea eax, [ebp - 0x4a0]
cmova eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x544], ecx
lea ecx, [ebp - 0x390]
xorps xmm1, xmmword [ebp - 0x550]
push ecx
push eax
movaps xmmword [ebp - 0x390], xmm1
call fcn.00439810
add esp, 8
test eax, eax
je 0x49ca21
push eax
call fcn.0043d098
add esp, 4
mov byte [ebp - 0x98], 0
lea ecx, [ebp - 0x90]
push 0
call fcn.00417ef0
mov byte [ebp - 4], 0x12
sub esp, 8
mov eax, esp
lea ecx, [ebp - 0xc8]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004140c0
add esp, 8
mov byte [ebp - 4], 0x13
mov al, byte [ebp - 0x98]
test al, al
jne 0x49bc40
mov byte [ebp - 0x98], 1
call fcn.0041c3a0
mov dword [ebp - 0x90], eax
jmp 0x49bc4e
cmp al, 1
jne 0x49cae0
mov eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x38]
push ecx
mov ecx, eax
call fcn.004180a0
mov edi, eax
mov byte [ebp - 4], 0x16
mov dl, byte [edi]
mov cl, byte [ebp - 0xc8]
mov byte [edi], cl
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
mov byte [ebp - 0xc8], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xc0]
push dword [ebp - 0xc8]
call fcn.00417af0
cmp dword [ebp - 0x48c], 0xf
lea ecx, [ebp - 0x4a0]
lea edx, [ebp - 0x70]
cmova ecx, dword [ebp - 0x4a0]
call fcn.004d3b40
test eax, eax
jne 0x49c7c7
mov dword [ebp - 0x1e8], 0xeccc91fe
mov dword [ebp - 0x1e4], 0x95e04a92
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], ecx
mov dword [ebp - 0x1f0], 0x529591f
mov dword [ebp - 0x1ec], 0xc5b2e896
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x1f8], 0xf8b118cb
mov dword [ebp - 0x1f4], 0x3bef9103
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x200], 0x6e97219e
mov dword [ebp - 0x1fc], 0xd59cebc6
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x208], 0xc44b943e
mov dword [ebp - 0x204], 0xa792d418
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x210], 0x5405b1de
mov dword [ebp - 0x20c], 0x6d86a7
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x414], ecx
mov dword [ebp - 0x218], 0xa980d4ad
mov dword [ebp - 0x214], 0xf3c01ed1
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x220], 0x61453c76
mov dword [ebp - 0x21c], 0xa0df89f8
mov dword [ebp - 0x5c0], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x5bc], ecx
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x228], 0x99c738e7
mov dword [ebp - 0x224], 0x1b8ae46f
mov dword [ebp - 0x5b8], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x5b4], ecx
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x230], 0x23d873d8
mov dword [ebp - 0x22c], 0xaff386e6
mov dword [ebp - 0x5b0], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x5ac], ecx
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x238], 0xb624f261
mov dword [ebp - 0x234], 0xd4fbbc75
mov dword [ebp - 0x5a8], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x5a4], ecx
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x240], 0x2d77deaa
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x23c], 0x6d869c
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x59c], ecx
mov ecx, dword [ebp - 0x23c]
movaps xmm1, xmmword [ebp - 0x5c0]
xorps xmm1, xmmword [ebp - 0x440]
movaps xmmword [ebp - 0x440], xmm1
movaps xmm1, xmmword [ebp - 0x5b0]
xorps xmm1, xmmword [ebp - 0x430]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x594], ecx
movaps xmmword [ebp - 0x430], xmm1
movaps xmm1, xmmword [ebp - 0x5a0]
xorps xmm1, xmmword [ebp - 0x420]
movaps xmmword [ebp - 0x420], xmm1
mov esi, dword [ebp - 0x70]
lea eax, [ebp - 0x6c]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
lea edx, [ebp - 0x440]
mov ecx, esi
call fcn.0050e2b0
add esp, 0x14
test eax, eax
jne 0x49c7c0
mov edi, dword [ebp - 0x6c]
mov ecx, edi
call fcn.00548990
cmp eax, 0x64
jne 0x49c7b9
xor edx, edx
mov ecx, edi
call fcn.005481a0
mov esi, eax
mov edx, 1
mov ecx, edi
mov dword [ebp - 0xcc], esi
call fcn.005481a0
mov edi, eax
mov dword [ebp - 0x40], edi
test esi, esi
je 0x49c23c
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49bf84
sub ecx, edx
je 0x49c23c
mov dword [ebp - 0x248], 0xa9f0bdd7
mov dword [ebp - 0x244], 0xf3c01ed1
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], ecx
mov dword [ebp - 0x250], 0x61453c76
mov dword [ebp - 0x24c], 0xa0df89f8
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x258], 0xa980d4ad
mov dword [ebp - 0x254], 0xf3c01ed1
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x254]
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x260], 0x61453c76
mov dword [ebp - 0x25c], 0xa0df89f8
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x55c], ecx
mov ecx, dword [ebp - 0x25c]
movaps xmm1, xmmword [ebp - 0x380]
mov dword [ebp - 0x558], eax
lea eax, [ebp - 0x380]
mov dword [ebp - 0x554], ecx
xorps xmm1, xmmword [ebp - 0x560]
push eax
push esi
movaps xmmword [ebp - 0x380], xmm1
call fcn.00434e50
add esp, 8
test eax, eax
jne 0x49c14d
mov dword [ebp - 0x268], 0xa9d09df7
mov dword [ebp - 0x264], 0xf3c01ed1
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x270], 0x61453c76
mov dword [ebp - 0x26c], 0xa0df89f8
mov eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], ecx
mov dword [ebp - 0x278], 0xa980d4ad
mov dword [ebp - 0x274], 0xf3c01ed1
mov eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x280], 0x61453c76
mov dword [ebp - 0x27c], 0xa0df89f8
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x58c], ecx
mov ecx, dword [ebp - 0x27c]
movaps xmm1, xmmword [ebp - 0x370]
mov dword [ebp - 0x588], eax
lea eax, [ebp - 0x370]
mov dword [ebp - 0x584], ecx
xorps xmm1, xmmword [ebp - 0x590]
push eax
push esi
movaps xmmword [ebp - 0x370], xmm1
call fcn.00434e50
add esp, 8
test eax, eax
je 0x49c23c
mov byte [ebp - 4], 0x17
push 0x24
call fcn.00433662
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x18
xorps xmm0, xmm0
movq qword [esi], xmm0
mov ecx, edi
mov dword [esi + 8], 0
mov dword [esi + 4], 1
mov dword [esi + 8], 1
mov dword [esi], vtable.std::_Ref_count_obj2_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.0
lea eax, [ecx + 1]
movups xmmword [esi + 0xc], xmm0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49c1a0
sub ecx, dword [ebp - 0x20]
push ecx
push edi
lea ecx, [esi + 0xc]
call fcn.00403040
mov byte [ebp - 4], 0x17
lea eax, [esi + 0xc]
mov edi, dword [ebp - 0x1c]
or edi, 0x20
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x586344]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x48], esi
cmp ecx, dword [0x586348]
je 0x49c200
mov dword [ecx + 4], esi
xor esi, esi
mov dword [ecx], eax
mov dword [ebp - 0x48], esi
add dword [0x586344], 8
mov dword [ebp - 0x4c], 0
jmp 0x49c20d
lea eax, [ebp - 0x4c]
push eax
push ecx
call fcn.00423f40
mov esi, dword [ebp - 0x48]
and edi, 0xffffffdf
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 0x12
test esi, esi
je 0x49c23c
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x49c23c
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x49c23c
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
push 0
lea ecx, [ebp - 0x80]
mov byte [ebp - 0x88], 0
call fcn.00417ef0
mov byte [ebp - 4], 0x1a
xorps xmm0, xmm0
mov byte [ebp - 0xb8], 0
push 0x18
movq qword [ebp - 0xb0], xmm0
mov byte [ebp - 0xb8], 3
call fcn.00433662
mov esi, eax
add esp, 4
lea eax, [ebp - 0x39]
mov dword [ebp - 0x454], esi
mov dword [ebp - 0x458], eax
mov byte [ebp - 4], 0x1b
xorps xmm0, xmm0
mov edx, dword [ebp - 0xcc]
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49c2a8
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.00403040
mov dword [ebp - 0x454], 0
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0xb0], esi
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x288], 0xccedb5c3
mov dword [ebp - 0x284], 0xf3c01ed1
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], ecx
mov dword [ebp - 0x290], 0x61453c76
mov dword [ebp - 0x28c], 0xa0df89f8
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x298], 0xa980d4ad
mov dword [ebp - 0x294], 0xf3c01ed1
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x2a0], 0x61453c76
mov dword [ebp - 0x4d0], eax
mov dword [ebp - 0x29c], 0xa0df89f8
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x4cc], ecx
mov ecx, dword [ebp - 0x29c]
movaps xmm1, xmmword [ebp - 0x320]
mov dword [ebp - 0x4c8], eax
mov al, byte [ebp - 0x88]
mov dword [ebp - 0x4c4], ecx
xorps xmm1, xmmword [ebp - 0x4d0]
movaps xmmword [ebp - 0x320], xmm1
test al, al
jne 0x49c3c9
push 1
lea ecx, [ebp - 0x450]
mov byte [ebp - 0x88], 1
call fcn.00417ef0
mov eax, dword [ebp - 0x44c]
mov esi, dword [ebp - 0x450]
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], eax
jmp 0x49c3d4
cmp al, 1
jne 0x49cb92
mov esi, dword [ebp - 0x80]
xorps xmm0, xmm0
mov dword [ebp - 0x3d8], 0
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x3d4], 0
movups xmmword [ebp - 0x3e8], xmm0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49c400
sub ecx, edx
lea eax, [ebp - 0x320]
push ecx
push eax
lea ecx, [ebp - 0x3e8]
call fcn.00403040
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x3e8]
push eax
lea eax, [ebp - 0x674]
mov ecx, esi
push eax
call fcn.00426db0
mov edi, dword [eax]
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x3d4]
cmp ecx, 0xf
jbe 0x49c475
mov edx, dword [ebp - 0x3e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49c46b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49cb8d
push ecx
push edx
call fcn.004338e3
add esp, 8
mov dword [ebp - 0x3d8], 0
mov dword [ebp - 0x3d4], 0xf
mov byte [ebp - 0x3e8], 0
mov byte [ebp - 4], 0x20
mov al, byte [edi + 0x28]
mov ecx, dword [ebp - 0xac]
mov byte [edi + 0x28], 3
mov edx, dword [edi + 0x30]
mov esi, dword [edi + 0x34]
mov byte [ebp - 0xb8], al
mov byte [ebp - 0xd0], al
mov eax, dword [ebp - 0xb0]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], esi
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xb0]
push dword [ebp - 0xd0]
call fcn.00417af0
xorps xmm0, xmm0
mov byte [ebp - 0xa8], 0
push 0x18
movq qword [ebp - 0xa0], xmm0
mov byte [ebp - 0xa8], 3
call fcn.00433662
mov esi, eax
add esp, 4
lea eax, [ebp - 0x3a]
mov dword [ebp - 0x45c], esi
mov dword [ebp - 0x460], eax
mov byte [ebp - 4], 0x21
xorps xmm0, xmm0
mov edx, dword [ebp - 0x40]
mov ecx, edx
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49c534
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.00403040
mov dword [ebp - 0x45c], 0
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0xa0], esi
mov byte [ebp - 4], 0x22
xorps xmm0, xmm0
mov dword [ebp - 0x2a8], 0xdcecb5db
mov dword [ebp - 0x2a4], 0xf3c01eb4
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x2b0], 0x61453c76
mov dword [ebp - 0x2ac], 0xa0df89f8
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x324], ecx
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x2b8], 0xa980d4ad
mov dword [ebp - 0x2b4], 0xf3c01ed1
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2c0], 0x61453c76
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], ecx
mov dword [ebp - 0x2bc], 0xa0df89f8
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2bc]
movaps xmm1, xmmword [ebp - 0x330]
mov dword [ebp - 0x524], ecx
lea ecx, [ebp - 0x330]
mov dword [ebp - 0x528], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x530]
movaps xmmword [ebp - 0x330], xmm1
movups xmmword [ebp - 0x3d0], xmm0
mov dword [ebp - 0x3c0], 0
mov dword [ebp - 0x3bc], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49c650
sub ecx, edx
lea eax, [ebp - 0x330]
push ecx
push eax
lea ecx, [ebp - 0x3d0]
call fcn.00403040
mov byte [ebp - 4], 0x23
lea eax, [ebp - 0x3d0]
mov ecx, dword [ebp - 0x80]
push eax
lea eax, [ebp - 0x66c]
push eax
call fcn.00426db0
mov edi, dword [eax]
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x3bc]
cmp ecx, 0xf
jbe 0x49c6c6
mov edx, dword [ebp - 0x3d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49c6bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49cb8d
push ecx
push edx
call fcn.004338e3
add esp, 8
mov dword [ebp - 0x3c0], 0
mov dword [ebp - 0x3bc], 0xf
mov byte [ebp - 0x3d0], 0
mov byte [ebp - 4], 0x26
mov al, byte [edi + 0x28]
mov ecx, dword [ebp - 0x9c]
mov byte [edi + 0x28], 3
mov edx, dword [edi + 0x30]
mov esi, dword [edi + 0x34]
mov byte [ebp - 0xa8], al
mov byte [ebp - 0x44], al
mov eax, dword [ebp - 0xa0]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x9c], esi
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xa0]
push dword [ebp - 0x44]
call fcn.00417af0
mov ecx, dword [ebp - 0x90]
lea eax, [ebp - 0x38]
push eax
call fcn.004180a0
mov esi, eax
mov al, byte [esi]
test al, al
je 0x49c74c
cmp al, 2
jne 0x49cb34
jmp 0x49c76e
push 2
lea ecx, [ebp - 0x468]
mov byte [esi], 2
call fcn.00417ef0
mov eax, dword [ebp - 0x468]
mov ecx, dword [ebp - 0x464]
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
mov esi, dword [esi + 8]
lea ecx, [ebp - 0x88]
push ecx
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x49c78d
mov ecx, eax
call fcn.00413d50
add dword [esi + 4], 0x10
jmp 0x49c795
push eax
mov ecx, esi
call fcn.00424900
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x80]
push 1
call fcn.00417af0
mov edi, dword [ebp - 0x6c]
mov ecx, edi
call fcn.00548990
cmp eax, 0x64
je 0x49bf55
mov esi, dword [ebp - 0x70]
mov ecx, edi
call fcn.005482d0
mov ecx, esi
call fcn.004d39a0
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x2c8], 0xc6f4a1cc
mov dword [ebp - 0x2c4], 0x9fac77b7
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], ecx
mov dword [ebp - 0x2d0], 0x61453c76
mov dword [ebp - 0x2cc], 0xa0df89f8
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0x2d8], 0xa980d4ad
mov dword [ebp - 0x2d4], 0xf3c01ed1
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2d4]
mov dword [ebp - 0x58], 0x61453c76
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x54], 0xa0df89f8
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x53c], ecx
mov ecx, dword [ebp - 0x54]
cmp byte [edi], 0
movaps xmm1, xmmword [ebp - 0xe0]
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], ecx
xorps xmm1, xmmword [ebp - 0x540]
movaps xmmword [ebp - 0xe0], xmm1
jne 0x49c8ae
push 1
lea ecx, [ebp - 0x470]
mov byte [edi], 1
call fcn.00417ef0
mov eax, dword [ebp - 0x470]
lea edx, [edi + 8]
mov ecx, dword [ebp - 0x46c]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x49c8b1
lea edx, [edi + 8]
cmp byte [edi], 1
jne 0x49caa6
mov esi, dword [edx]
lea ecx, [ebp - 0xe0]
xorps xmm0, xmm0
mov dword [ebp - 0x3a8], 0
movups xmmword [ebp - 0x3b8], xmm0
mov dword [ebp - 0x3a4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49c8e3
sub ecx, edx
lea eax, [ebp - 0xe0]
push ecx
push eax
lea ecx, [ebp - 0x3b8]
call fcn.00403040
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x3b8]
push eax
lea eax, [ebp - 0x664]
mov ecx, esi
push eax
call fcn.00426db0
mov esi, dword [eax]
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x3a4]
cmp ecx, 0xf
jbe 0x49c958
mov edx, dword [ebp - 0x3b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49c94e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49cb8d
push ecx
push edx
call fcn.004338e3
add esp, 8
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3a4], 0xf
mov byte [ebp - 0x3b8], 0
mov al, byte [esi + 0x28]
test al, al
je 0x49c9b3
cmp al, 2
je 0x49c9d6
lea ecx, [esi + 0x28]
call fcn.004181e0
push eax
lea ecx, [ebp - 0x65c]
call fcn.00402cf0
mov byte [ebp - 4], 0x2e
mov edx, str.cannot_use_push_back___with
push eax
lea ecx, [ebp - 0x644]
call fcn.0041ace0
add esp, 4
mov byte [ebp - 4], 0x2f
jmp 0x49cb63
push 2
lea ecx, [ebp - 0x448]
mov byte [esi + 0x28], 2
call fcn.00417ef0
mov eax, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x444]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ecx
mov esi, dword [esi + 0x30]
lea ecx, [ebp - 0x98]
push ecx
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x49ca06
mov ecx, eax
call fcn.00413d50
add dword [esi + 4], 0x10
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x90]
push 1
call fcn.00417af0
jmp 0x49ca24
push eax
mov ecx, esi
call fcn.00424900
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x90]
push 1
call fcn.00417af0
jmp 0x49ca24
mov edi, dword [ebp - 0x74]
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x4a0]
call fcn.00402df0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x38]
call fcn.00402df0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x62c]
call fcn.00402df0
mov esi, dword [ebp - 0x78]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc esi
add esi, eax
mov dword [ebp - 0x78], esi
cmp byte [esi], 0
jne 0x49b121
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4b8]
call fcn.00402df0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5d8]
call fcn.00402df0
mov byte [ebp - 4], 0
lea ecx, [ebx + 8]
call fcn.00402df0
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, edi
call fcn.004181e0
push eax
lea ecx, [ebp - 0x65c]
call fcn.00402cf0
mov byte [ebp - 4], 0x2c
mov edx, str.cannot_use_operator___with_a_string_argument_with
push eax
lea ecx, [ebp - 0x644]
call fcn.0041ace0
add esp, 4
mov byte [ebp - 4], 0x2d
mov edx, 0x131
push eax
jmp 0x49cb69
lea ecx, [ebp - 0x98]
call fcn.004181e0
push eax
lea ecx, [ebp - 0x70c]
call fcn.00402cf0
mov byte [ebp - 4], 0x14
mov edx, str.cannot_use_operator___with_a_string_argument_with
push eax
lea ecx, [ebp - 0x724]
call fcn.0041ace0
add esp, 4
mov byte [ebp - 4], 0x15
mov edx, 0x131
push eax
lea ecx, [ebp - 0x6c4]
call fcn.00407cf0
add esp, 4
lea eax, [ebp - 0x6c4]
push 0x5776e0
jmp 0x49cb82
mov ecx, esi
call fcn.004181e0
push eax
lea ecx, [ebp - 0x644]
call fcn.00402cf0
mov byte [ebp - 4], 0x29
mov edx, str.cannot_use_push_back___with
push eax
lea ecx, [ebp - 0x65c]
call fcn.0041ace0
add esp, 4
mov byte [ebp - 4], 0x2a
push eax
mov edx, 0x134
lea ecx, [ebp - 0x614]
call fcn.00407cf0
add esp, 4
lea eax, [ebp - 0x614]
push 0x5776e0
push eax
call fcn.004351eb
call fcn.00402c60
call fcn.00438c60
lea ecx, [ebp - 0x88]
call fcn.004181e0
push eax
lea ecx, [ebp - 0x6dc]
call fcn.00402cf0
mov byte [ebp - 4], 0x1e
mov edx, str.cannot_use_operator___with_a_string_argument_with
push eax
lea ecx, [ebp - 0x6f4]
call fcn.0041ace0
add esp, 4
mov byte [ebp - 4], 0x1f
mov edx, 0x131
push eax
lea ecx, [ebp - 0x6a8]
call fcn.00407cf0
add esp, 4
lea eax, [ebp - 0x6a8]
push 0x5776e0
push eax
call fcn.004351eb
int3