Function at 0x456c10
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xffffffe0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54c335
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x10
mov eax, 0x1838
call fcn.00509110
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x70], esi
mov dword [ebp - 4], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 4], 1
lea ecx, [esi + 8]
push 0
mov byte [esi], 0
call fcn.004ad6a0
mov byte [ebp - 4], 1
sub esp, 8
mov dword [ebp - 0x30], 1
mov eax, esp
lea ecx, [ebp - 0xe0]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004a9d10
add esp, 8
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], 0x6b9ba054
mov dword [ebp - 0x24], 0x8a2c82c7
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], ecx
mov dword [ebp - 0x28], 0x76184a46
mov dword [ebp - 0x24], 0xf52f0c30
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x28], 0x4efd535
mov dword [ebp - 0x24], 0xe640eba1
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x28], 0x76184a46
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x24], 0xf52f0c30
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x320]
mov dword [ebp - 0x418], eax
lea eax, [ebp - 0x320]
mov dword [ebp - 0x414], ecx
mov ecx, esi
pxor xmm1, xmmword [ebp - 0x420]
push eax
movaps xmmword [ebp - 0x320], xmm1
call fcn.004b04b0
mov edi, eax
mov byte [ebp - 4], 4
mov dl, byte [edi]
mov cl, byte [ebp - 0xe0]
mov byte [edi], cl
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd4]
mov byte [ebp - 0xe0], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xd4], esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd8]
push dword [ebp - 0xe0]
call fcn.004ad380
push 0x104
push 0
lea eax, [ebp - 0x858]
push eax
call fcn.005205e0
add esp, 0xc
lea eax, [ebp - 0x858]
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 - 0x858]
lea ecx, [ebp - 0x4e0]
call fcn.004b0280
add esp, 4
mov byte [ebp - 4], 5
lea edx, [ebp - 0x4e0]
mov dword [ebp - 0x28], 0x6b9da569
mov dword [ebp - 0x24], 0x832c82c7
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x28], 0x18716435
mov dword [ebp - 0x24], 0xf52f0c59
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x324], ecx
mov dword [ebp - 0x28], 0x4efd535
mov dword [ebp - 0x24], 0xe640eba1
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x28], 0x76184a46
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x24], 0xf52f0c30
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x330]
mov dword [ebp - 0x428], eax
lea eax, [ebp - 0x330]
mov dword [ebp - 0x424], ecx
lea ecx, [ebp - 0x3f4]
pxor xmm1, xmmword [ebp - 0x430]
push eax
movaps xmmword [ebp - 0x330], xmm1
call fcn.004b0150
add esp, 4
mov byte [ebp - 4], 6
lea eax, [ebp - 0x3f4]
cmp dword [ebp - 0x3e0], 0x10
cmovae eax, dword [ebp - 0x3f4]
push eax
push 0x1000
lea eax, [ebp - 0x1858]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
lea esi, [ebp - 0x1858]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0xf0], 0x6280a765
mov dword [ebp - 0xec], 0xe62587c8
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], ecx
mov dword [ebp - 0xf8], 0x76184a46
mov dword [ebp - 0xf4], 0xf52f0c30
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], ecx
mov dword [ebp - 0x100], 0x4efd535
mov dword [ebp - 0xfc], 0xe640eba1
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x108], 0x76184a46
mov dword [ebp - 0x104], 0xf52f0c30
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x43c], ecx
mov ecx, dword [ebp - 0x104]
movaps xmm1, xmmword [ebp - 0x340]
mov dword [ebp - 0x438], eax
lea eax, [ebp - 0x340]
push 7
mov dword [ebp - 0x434], ecx
pxor xmm1, xmmword [ebp - 0x440]
push eax
push esi
movaps xmmword [ebp - 0x340], xmm1
call fcn.0052bbde
add esp, 0xc
test eax, eax
jne 0x458254
push 0x104
push eax
lea eax, [ebp - 0x750]
push eax
call fcn.005205e0
add esp, 0xc
lea edx, [ebp - 0x3f4]
cmp dword [ebp - 0x3e0], 0x10
cmovae edx, dword [ebp - 0x3f4]
mov dword [ebp - 0x110], 0x6c9bb465
mov dword [ebp - 0x10c], 0xe640eba1
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], ecx
mov dword [ebp - 0x118], 0x76184a46
mov dword [ebp - 0x114], 0xf52f0c30
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x114]
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x120], 0x4efd535
mov dword [ebp - 0x11c], 0xe640eba1
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x490], eax
push edx
mov dword [ebp - 0x128], 0x76184a46
mov dword [ebp - 0x124], 0xf52f0c30
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x488], eax
lea eax, [ebp - 0x750]
push 0x104
push eax
mov dword [ebp - 0x48c], ecx
lea eax, [ebp - 0x310]
mov ecx, dword [ebp - 0x124]
movaps xmm1, xmmword [ebp - 0x310]
push 0
mov dword [ebp - 0x484], ecx
pxor xmm1, xmmword [ebp - 0x490]
push eax
push esi
movaps xmmword [ebp - 0x310], xmm1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x130], 0x4efd569
mov dword [ebp - 0x12c], 0xe640eba1
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x138], 0x76184a46
mov dword [ebp - 0x134], 0xf52f0c30
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x134]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0x140], 0x4efd535
mov dword [ebp - 0x13c], 0xe640eba1
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x148], 0x76184a46
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x144], 0xf52f0c30
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x44c], ecx
mov ecx, dword [ebp - 0x144]
movaps xmm1, xmmword [ebp - 0x2c0]
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], ecx
pxor xmm1, xmmword [ebp - 0x450]
movaps xmmword [ebp - 0x2c0], xmm1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c0]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457180
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x4d0]
sub eax, edx
cmp eax, ecx
jb 0x4582aa
cmp dword [ebp - 0x4cc], 0x10
lea eax, [ebp - 0x4e0]
push ecx
cmovae eax, dword [ebp - 0x4e0]
lea ecx, [ebp - 0x2c0]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x5ac]
call fcn.004b41d0
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x750]
or esi, 2
lea edx, [ebp - 0x5ac]
push eax
lea ecx, [ebp - 0x4c8]
mov dword [ebp - 0x30], esi
call fcn.004b01e0
add esp, 4
mov byte [ebp - 4], 8
and esi, 0xfffffffd
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x5ac]
call fcn.0040fe10
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0
lea ecx, [ebp - 0x750]
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x48], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457226
sub ecx, edx
lea eax, [ebp - 0x750]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.00410090
mov byte [ebp - 4], 0xa
lea edi, [ebp - 0x48]
cmp dword [ebp - 0x34], 0x10
mov esi, dword [ebp - 0x38]
cmovae edi, dword [ebp - 0x48]
test esi, esi
je 0x457406
push esi
push 0x2f
push edi
call fcn.00521dd0
add esp, 0xc
test eax, eax
je 0x457406
sub eax, edi
cmp eax, 0xffffffff
je 0x457406
mov dword [ebp - 0x150], 0x4efd51a
sub esp, 0x18
mov dword [ebp - 0x14c], 0xe640eba1
mov edx, esp
mov eax, dword [ebp - 0x150]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x2cc], ecx
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x158], 0x76184a46
mov dword [ebp - 0x154], 0xf52f0c30
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x160], 0x4efd535
mov dword [ebp - 0x15c], 0xe640eba1
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x15c]
mov dword [ebp - 0x168], 0x76184a46
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x164], 0xf52f0c30
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x164]
movaps xmm1, xmmword [ebp - 0x2d0]
mov dword [ebp - 0x454], ecx
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 0x458], eax
lea esi, [ecx + 1]
pxor xmm1, xmmword [ebp - 0x460]
movaps xmmword [ebp - 0x2d0], xmm1
movups xmmword [edx], xmm0
mov dword [ebp - 0x594], esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457366
sub ecx, esi
lea eax, [ebp - 0x2d0]
push ecx
push eax
mov ecx, edx
call fcn.00410090
mov byte [ebp - 4], 0xb
sub esp, 0x18
lea eax, [ebp - 0x48]
mov dword [ebp - 0x584], esp
mov ecx, esp
push eax
call fcn.004abdc0
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3c4]
call fcn.0041a690
add esp, 0x30
mov byte [ebp - 4], 0xd
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x3c0]
mov esi, dword [ebp - 0x3c4]
sub ecx, esi
imul ecx
lea ecx, [ebp - 0x48]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
cmp ecx, eax
je 0x4573f4
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x4573ea
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.004abaf0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3c4]
call fcn.004add00
mov esi, dword [ebp - 0x38]
cmp dword [ebp - 0x34], 0x10
lea edi, [ebp - 0x48]
cmovae edi, dword [ebp - 0x48]
test esi, esi
je 0x4575c3
push esi
push 0x5c
push edi
call fcn.00521dd0
add esp, 0xc
test eax, eax
je 0x4575c3
sub eax, edi
cmp eax, 0xffffffff
je 0x4575c3
mov dword [ebp - 0x170], 0x4efd569
sub esp, 0x18
mov dword [ebp - 0x16c], 0xe640eba1
mov edx, esp
mov eax, dword [ebp - 0x170]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x178], 0x76184a46
mov dword [ebp - 0x174], 0xf52f0c30
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x180], 0x4efd535
mov dword [ebp - 0x17c], 0xe640eba1
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x188], 0x76184a46
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x184], 0xf52f0c30
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
movaps xmm1, xmmword [ebp - 0x2e0]
mov dword [ebp - 0x464], ecx
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x468], eax
lea esi, [ecx + 1]
pxor xmm1, xmmword [ebp - 0x470]
movaps xmmword [ebp - 0x2e0], xmm1
movups xmmword [edx], xmm0
mov dword [ebp - 0x590], esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x457526
sub ecx, esi
lea eax, [ebp - 0x2e0]
push ecx
push eax
mov ecx, edx
call fcn.00410090
mov byte [ebp - 4], 0xe
sub esp, 0x18
lea eax, [ebp - 0x48]
mov dword [ebp - 0x588], esp
mov ecx, esp
push eax
call fcn.004abdc0
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3d0]
call fcn.0041a690
add esp, 0x30
mov byte [ebp - 4], 0x10
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x3cc]
mov esi, dword [ebp - 0x3d0]
sub ecx, esi
imul ecx
lea ecx, [ebp - 0x48]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax - 3]
lea eax, [esi + eax*8]
cmp ecx, eax
je 0x4575b4
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x4575aa
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.004abaf0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3d0]
call fcn.004add00
mov dword [ebp - 0x190], 0x7680b369
lea edx, [ebp - 0x4c8]
mov dword [ebp - 0x18c], 0x952983cc
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], ecx
mov dword [ebp - 0x198], 0xf6a2532
mov dword [ebp - 0x194], 0x995e7f1e
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x1a0], 0x4fdadf6e
mov dword [ebp - 0x19c], 0xe577e857
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x38c], ecx
mov dword [ebp - 0x1a8], 0x666987e8
mov dword [ebp - 0x1a4], 0xd5a69bee
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x384], ecx
mov dword [ebp - 0x1b0], 0x4efd535
mov dword [ebp - 0x1ac], 0xe640eba1
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x1b8], 0x76184a46
mov dword [ebp - 0x1b4], 0xf52f0c30
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], ecx
mov dword [ebp - 0x1c0], 0x4fbfab07
mov dword [ebp - 0x1bc], 0xe577e857
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], ecx
mov dword [ebp - 0x1c8], 0x666987e8
mov dword [ebp - 0x1c4], 0xd5a69bee
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c4]
vmovdqu ymm0, ymmword [ebp - 0x3a0]
mov dword [ebp - 0x528], eax
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x524], ecx
lea ecx, [ebp - 0x3b8]
vpxor ymm0, ymm0, ymmword [ebp - 0x540]
vmovdqa ymmword [ebp - 0x3a0], ymm0
push eax
vzeroupper
call fcn.004b0150
add esp, 4
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x1d0], 0x4efb747
mov dword [ebp - 0x1cc], 0xe640eba1
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1cc]
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], ecx
mov dword [ebp - 0x1d8], 0x76184a46
mov dword [ebp - 0x1d4], 0xf52f0c30
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x250], 0x4efd535
mov dword [ebp - 0x24c], 0xe640eba1
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x1e0], 0x76184a46
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x1dc], 0xf52f0c30
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x47c], ecx
mov ecx, dword [ebp - 0x1dc]
cmp dword [ebp - 0x3a4], 0x10
movaps xmm1, xmmword [ebp - 0x350]
mov dword [ebp - 0x478], eax
lea eax, [ebp - 0x3b8]
cmovae eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x474], ecx
lea ecx, [ebp - 0x350]
pxor xmm1, xmmword [ebp - 0x480]
push ecx
push eax
movaps xmmword [ebp - 0x350], xmm1
call fcn.00524450
add esp, 8
test eax, eax
je 0x45819f
push eax
call fcn.00527cde
add esp, 4
mov byte [ebp - 0x80], 0
lea ecx, [ebp - 0x78]
push 0
call fcn.004ad6a0
mov byte [ebp - 4], 0x13
sub esp, 8
mov eax, esp
lea ecx, [ebp - 0xd0]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004a9d10
add esp, 8
mov byte [ebp - 4], 0x14
mov al, byte [ebp - 0x80]
test al, al
jne 0x4578a8
mov byte [ebp - 0x80], 1
call fcn.004b12e0
mov ecx, eax
mov dword [ebp - 0x78], ecx
mov al, byte [ebp - 0x80]
jmp 0x4578ab
mov ecx, dword [ebp - 0x78]
cmp al, 1
jne 0x45830e
lea eax, [ebp - 0x48]
push eax
call fcn.004ad880
mov edi, eax
mov byte [ebp - 4], 0x17
mov dl, byte [edi]
mov cl, byte [ebp - 0xd0]
mov byte [edi], cl
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xc4]
mov byte [ebp - 0xd0], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xc4], esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xc8]
push dword [ebp - 0xd0]
call fcn.004ad380
cmp dword [ebp - 0x3a4], 0x10
lea ecx, [ebp - 0x3b8]
lea edx, [ebp - 0x68]
cmovae ecx, dword [ebp - 0x3b8]
call fcn.004286e0
test eax, eax
jne 0x4580b0
mov dword [ebp - 0x1e8], 0x41a39066
mov dword [ebp - 0x1e4], 0x8060bfe2
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x57c], ecx
mov dword [ebp - 0x1f0], 0x12742f2f
mov dword [ebp - 0x1ec], 0x90426d5e
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x578], eax
mov dword [ebp - 0x574], ecx
mov dword [ebp - 0x1f8], 0x2ec98b2b
mov dword [ebp - 0x1f4], 0xc5129d3b
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x200], 0x2b26d5ae
mov dword [ebp - 0x1fc], 0xafc9f6ce
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], ecx
mov dword [ebp - 0x208], 0xc8090826
mov dword [ebp - 0x204], 0x91394300
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x55c], ecx
mov dword [ebp - 0x210], 0xb16f7a3e
mov dword [ebp - 0x20c], 0xe38070f7
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x218], 0x4efd535
mov dword [ebp - 0x214], 0xe640eba1
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x220], 0x76184a46
mov dword [ebp - 0x21c], 0xf52f0c30
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], ecx
mov dword [ebp - 0x228], 0x4fbfab07
mov dword [ebp - 0x224], 0xe577e857
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x50c], ecx
mov dword [ebp - 0x230], 0x666987e8
mov dword [ebp - 0x22c], 0xd5a69bee
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x238], 0xba666e79
mov dword [ebp - 0x234], 0xe2502b6d
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x240], 0xc81d154a
mov dword [ebp - 0x23c], 0xe38070cc
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x23c]
vmovdqu ymm0, ymmword [ebp - 0x580]
vpxor ymm0, ymm0, ymmword [ebp - 0x520]
mov dword [ebp - 0x4f8], eax
lea eax, [ebp - 0x64]
mov dword [ebp - 0x4f4], ecx
vmovdqa ymmword [ebp - 0x580], ymm0
vmovaps xmm1, xmmword [ebp - 0x560]
vpxor xmm1, xmm1, xmmword [ebp - 0x500]
push ecx
vmovaps xmmword [ebp - 0x560], xmm1
push eax
mov edi, dword [ebp - 0x68]
lea edx, [ebp - 0x580]
push ecx
mov ecx, edi
vzeroupper
call fcn.004f90d0
add esp, 0xc
test eax, eax
jne 0x4580a9
mov esi, dword [ebp - 0x64]
mov ecx, esi
call fcn.004e4960
cmp eax, 0x64
jne 0x4580a2
xor edx, edx
mov ecx, esi
call fcn.004e4c50
mov edx, 1
mov dword [ebp - 0x2f4], eax
mov ecx, esi
call fcn.004e4c50
push 0
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xe4], eax
mov byte [ebp - 0x60], 0
call fcn.004ad6a0
mov byte [ebp - 4], 0x19
xorps xmm0, xmm0
lea edx, [ebp - 0x2f4]
mov byte [ebp - 0xc0], 0
lea ecx, [ebp - 0xc0]
movq qword [ebp - 0xb8], xmm0
call fcn.004c1e70
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x248], 0x6182b45b
mov dword [ebp - 0x244], 0xe640eba1
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x2a8], 0x76184a46
mov dword [ebp - 0x2a4], 0xf52f0c30
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x258], 0x4efd535
mov dword [ebp - 0x254], 0xe640eba1
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x254]
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x260], 0x76184a46
mov dword [ebp - 0x40c], ecx
mov dword [ebp - 0x25c], 0xf52f0c30
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x25c]
movaps xmm1, xmmword [ebp - 0x360]
mov dword [ebp - 0x408], eax
lea eax, [ebp - 0x360]
mov dword [ebp - 0x404], ecx
lea ecx, [ebp - 0x60]
pxor xmm1, xmmword [ebp - 0x410]
push eax
movaps xmmword [ebp - 0x360], xmm1
call fcn.004b04b0
mov edi, eax
mov byte [ebp - 4], 0x1b
mov dl, byte [edi]
mov cl, byte [ebp - 0xc0]
mov eax, dword [ebp - 0xb8]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xb4]
mov byte [ebp - 0xc0], dl
mov byte [ebp - 0x2f8], dl
mov edx, dword [edi + 8]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xb8]
push dword [ebp - 0x2f8]
call fcn.004ad380
xorps xmm0, xmm0
mov byte [ebp - 0xb0], 0
lea edx, [ebp - 0xe4]
movq qword [ebp - 0xa8], xmm0
lea ecx, [ebp - 0xb0]
call fcn.004c1e70
mov byte [ebp - 4], 0x1c
mov dword [ebp - 0x268], 0x7183b443
mov dword [ebp - 0x264], 0xe640ebc4
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x270], 0x76184a46
mov dword [ebp - 0x26c], 0xf52f0c30
mov eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x278], 0x4efd535
mov dword [ebp - 0x274], 0xe640eba1
mov eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x280], 0x76184a46
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x27c], 0xf52f0c30
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x49c], ecx
mov ecx, dword [ebp - 0x27c]
movaps xmm1, xmmword [ebp - 0x2f0]
mov dword [ebp - 0x498], eax
mov al, byte [ebp - 0x60]
mov dword [ebp - 0x494], ecx
pxor xmm1, xmmword [ebp - 0x4a0]
movaps xmmword [ebp - 0x2f0], xmm1
test al, al
jne 0x457e46
push 1
lea ecx, [ebp - 0x378]
mov byte [ebp - 0x60], 1
call fcn.004ad6a0
mov eax, dword [ebp - 0x374]
mov esi, dword [ebp - 0x378]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], eax
mov al, byte [ebp - 0x60]
jmp 0x457e49
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x2c], esi
cmp al, 1
jne 0x4582b9
xorps xmm0, xmm0
mov dword [ebp - 0x88], 0
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x84], 0
movups xmmword [ebp - 0x98], xmm0
lea edx, [eax + 1]
nop dword [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x457e80
sub eax, edx
lea ecx, [ebp - 0x98]
push eax
lea eax, [ebp - 0x2f0]
push eax
call fcn.00410090
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x3dc]
mov ecx, esi
push eax
call fcn.004b9d20
mov edi, dword [ebp - 0x3d4]
cmp byte [edi + 0xd], 0
jne 0x457ed7
lea edx, [edi + 0x10]
lea ecx, [ebp - 0x98]
call fcn.004be450
test al, al
je 0x457fbe
cmp dword [esi + 4], 0x4924924
je 0x4582b4
mov eax, dword [ebp - 0x2c]
mov esi, dword [esi]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], 0
mov byte [ebp - 4], 0x1e
push 0x38
mov dword [ebp - 0x9c], 0
call fcn.00508130
mov edi, eax
add esp, 4
mov dword [ebp - 0x9c], edi
mov byte [ebp - 4], 0x1f
lea ecx, [edi + 0x10]
mov dword [ebp - 0x58c], ecx
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [ebp - 0x98]
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x88]
movq qword [ecx + 0x10], xmm0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
mov byte [ebp - 4], 0x20
add ecx, 0x18
mov dword [ebp - 0x24], ecx
push 0
mov byte [ecx], 0
add ecx, 8
call fcn.004ad6a0
mov byte [ebp - 4], 0x1f
mov dword [edi], esi
mov dword [edi + 4], esi
mov dword [edi + 8], esi
mov word [edi + 0xc], 0
mov byte [ebp - 4], 0x24
mov dword [ebp - 0x9c], 0
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x2c]
push edi
push dword [ebp - 0x3d8]
push dword [ebp - 0x3dc]
call fcn.004b3ac0
mov edi, eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x84]
cmp ecx, 0x10
jb 0x457ffc
mov edx, dword [ebp - 0x98]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x457ff2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4582af
push ecx
push edx
call fcn.005083b1
add esp, 8
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
mov byte [ebp - 4], 0x2b
mov cl, byte [edi + 0x28]
mov al, byte [ebp - 0xb0]
mov byte [edi + 0x28], al
mov edx, dword [edi + 0x30]
mov esi, dword [edi + 0x34]
mov eax, dword [ebp - 0xa8]
mov byte [ebp - 0xb0], cl
mov byte [ebp - 0x4c], cl
mov ecx, dword [ebp - 0xa4]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xa8]
push dword [ebp - 0x4c]
call fcn.004ad380
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x80]
call fcn.004a95a0
lea ecx, [ebp - 0x60]
push ecx
mov ecx, eax
call fcn.004a92c0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x58]
push dword [ebp - 0x60]
call fcn.004ad380
mov esi, dword [ebp - 0x64]
mov ecx, esi
call fcn.004e4960
cmp eax, 0x64
je 0x457ba6
mov edi, dword [ebp - 0x68]
mov ecx, esi
call fcn.004e45d0
mov ecx, edi
call fcn.00428b50
mov dword [ebp - 0x288], 0x6b9ba054
mov dword [ebp - 0x284], 0x8a2c82c7
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x290], 0x76184a46
mov dword [ebp - 0x28c], 0xf52f0c30
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], ecx
mov dword [ebp - 0x298], 0x4efd535
mov dword [ebp - 0x294], 0xe640eba1
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x2a0], 0x76184a46
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x29c], 0xf52f0c30
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x29c]
movaps xmm1, xmmword [ebp - 0x370]
mov dword [ebp - 0x4a8], eax
lea eax, [ebp - 0x370]
mov dword [ebp - 0x4a4], ecx
pxor xmm1, xmmword [ebp - 0x4b0]
mov ecx, dword [ebp - 0x70]
push eax
movaps xmmword [ebp - 0x370], xmm1
call fcn.004b04b0
lea ecx, [ebp - 0x80]
push ecx
mov ecx, eax
call fcn.004a92c0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x78]
push dword [ebp - 0x80]
call fcn.004ad380
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3b8]
call fcn.0040fe10
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x4581e6
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4581dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4582af
push ecx
push edx
call fcn.005083b1
add esp, 8
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x4b4]
cmp ecx, 0x10
jb 0x458236
mov edx, dword [ebp - 0x4c8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45822c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4582af
push ecx
push edx
call fcn.005083b1
add esp, 8
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x4b8], 0
mov dword [ebp - 0x4b4], 0xf
mov byte [ebp - 0x4c8], 0
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc esi
add esi, eax
mov dword [ebp - 0x6c], esi
cmp byte [esi], 0
jne 0x456ec0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3f4]
call fcn.0040fe10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4e0]
call fcn.0040fe10
mov byte [ebp - 4], 0
lea ecx, [ebx + 8]
call fcn.0040fe10
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0040f760
call fcn.005238a0
call fcn.00416740
lea ecx, [ebp - 0x60]
call fcn.004ad9a0
push eax
lea ecx, [ebp - 0x5fc]
call fcn.0040fcf0
mov byte [ebp - 4], 0x29
mov edx, str.cannot_use_operator___with_a_string_argument_with
push eax
lea ecx, [ebp - 0x614]
call fcn.004b0310
add esp, 4
mov byte [ebp - 4], 0x2a
mov edx, 0x131
push eax
lea ecx, [ebp - 0x5c8]
call fcn.004171c0
add esp, 4
lea eax, [ebp - 0x5c8]
push 0x587d20
push eax
call fcn.0051fe2b
lea ecx, [ebp - 0x80]
call fcn.004ad9a0
push eax
lea ecx, [ebp - 0x644]
call fcn.0040fcf0
mov byte [ebp - 4], 0x15
mov edx, str.cannot_use_operator___with_a_string_argument_with
push eax
lea ecx, [ebp - 0x62c]
call fcn.004b0310
add esp, 4
mov byte [ebp - 4], 0x16
mov edx, 0x131
push eax
lea ecx, [ebp - 0x5e4]
call fcn.004171c0
add esp, 4
lea eax, [ebp - 0x5e4]
push 0x587d20
push eax
call fcn.0051fe2b
int3