Function at 0x45a579
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 0x54c825
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x10
mov eax, 0x1af8
call fcn.00509110
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x74], 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 - 0x128]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004a9d10
add esp, 8
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], 0x6f80ba56
mov dword [ebp - 0x24], 0xe6338ec8
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x28], 0x76184a46
mov dword [ebp - 0x24], 0xf52f0c30
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4f4], ecx
mov dword [ebp - 0x28], 0x4efd535
mov dword [ebp - 0x24], 0xe640eba1
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x28], 0x76184a46
mov dword [ebp - 0x73c], ecx
mov dword [ebp - 0x24], 0xf52f0c30
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x500]
mov dword [ebp - 0x738], eax
lea eax, [ebp - 0x500]
mov dword [ebp - 0x734], ecx
mov ecx, esi
pxor xmm1, xmmword [ebp - 0x740]
push eax
movaps xmmword [ebp - 0x500], xmm1
call fcn.004b04b0
mov edi, eax
mov byte [ebp - 4], 4
mov dl, byte [edi]
mov cl, byte [ebp - 0x128]
mov byte [edi], cl
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x11c]
mov byte [ebp - 0x128], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x11c], esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x120]
push dword [ebp - 0x128]
call fcn.004ad380
push 0x104
push 0
lea eax, [ebp - 0xb18]
push eax
call fcn.005205e0
add esp, 0xc
lea eax, [ebp - 0xb18]
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 - 0xb18]
lea ecx, [ebp - 0x758]
call fcn.004b0280
add esp, 4
mov byte [ebp - 4], 5
lea edx, [ebp - 0x758]
mov dword [ebp - 0x28], 0x6b9da569
mov dword [ebp - 0x24], 0x832c82c7
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x50c], ecx
mov dword [ebp - 0x28], 0x18716435
mov dword [ebp - 0x24], 0xf52f0c59
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x28], 0x4efd535
mov dword [ebp - 0x24], 0xe640eba1
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x28], 0x76184a46
mov dword [ebp - 0x61c], ecx
mov dword [ebp - 0x24], 0xf52f0c30
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movaps xmm1, xmmword [ebp - 0x510]
mov dword [ebp - 0x618], eax
lea eax, [ebp - 0x510]
mov dword [ebp - 0x614], ecx
lea ecx, [ebp - 0x60c]
pxor xmm1, xmmword [ebp - 0x620]
push eax
movaps xmmword [ebp - 0x510], xmm1
call fcn.004b0150
add esp, 4
mov byte [ebp - 4], 6
lea eax, [ebp - 0x60c]
cmp dword [ebp - 0x5f8], 0x10
cmovae eax, dword [ebp - 0x60c]
push eax
push 0x1000
lea eax, [ebp - 0x1b18]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
lea esi, [ebp - 0x1b18]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x4e0], 0x6280a765
mov dword [ebp - 0x4dc], 0xe62587c8
mov eax, dword [ebp - 0x4e0]
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x1a0], 0x76184a46
mov dword [ebp - 0x19c], 0xf52f0c30
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], ecx
mov dword [ebp - 0x1a8], 0x4efd535
mov dword [ebp - 0x1a4], 0xe640eba1
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x1b0], 0x76184a46
mov dword [ebp - 0x1ac], 0xf52f0c30
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x62c], ecx
mov ecx, dword [ebp - 0x1ac]
movaps xmm1, xmmword [ebp - 0x520]
mov dword [ebp - 0x628], eax
lea eax, [ebp - 0x520]
push 7
mov dword [ebp - 0x624], ecx
pxor xmm1, xmmword [ebp - 0x630]
push eax
push esi
movaps xmmword [ebp - 0x520], xmm1
call fcn.0052bbde
add esp, 0xc
test eax, eax
jne 0x45c770
push 0x104
push eax
lea eax, [ebp - 0xa10]
push eax
call fcn.005205e0
add esp, 0xc
lea edx, [ebp - 0x60c]
cmp dword [ebp - 0x5f8], 0x10
cmovae edx, dword [ebp - 0x60c]
mov dword [ebp - 0x1b8], 0x6c9bb465
mov dword [ebp - 0x1b4], 0xe640eba1
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x1c0], 0x76184a46
mov dword [ebp - 0x1bc], 0xf52f0c30
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x4e4], ecx
mov dword [ebp - 0x1c8], 0x4efd535
mov dword [ebp - 0x1c4], 0xe640eba1
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x640], eax
push edx
mov dword [ebp - 0x1d0], 0x76184a46
mov dword [ebp - 0x1cc], 0xf52f0c30
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x638], eax
lea eax, [ebp - 0xa10]
push 0x104
push eax
mov dword [ebp - 0x63c], ecx
lea eax, [ebp - 0x4f0]
mov ecx, dword [ebp - 0x1cc]
movaps xmm1, xmmword [ebp - 0x4f0]
push 0
mov dword [ebp - 0x634], ecx
pxor xmm1, xmmword [ebp - 0x640]
push eax
push esi
movaps xmmword [ebp - 0x4f0], xmm1
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x1d8], 0x4efd569
mov dword [ebp - 0x1d4], 0xe640eba1
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], ecx
mov dword [ebp - 0x1e0], 0x76184a46
mov dword [ebp - 0x1dc], 0xf52f0c30
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], ecx
mov dword [ebp - 0x1e8], 0x4efd535
mov dword [ebp - 0x1e4], 0xe640eba1
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1e4]
mov dword [ebp - 0x1f0], 0x76184a46
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x1ec], 0xf52f0c30
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x64c], ecx
mov ecx, dword [ebp - 0x1ec]
movaps xmm1, xmmword [ebp - 0x470]
mov dword [ebp - 0x648], eax
mov dword [ebp - 0x644], ecx
pxor xmm1, xmmword [ebp - 0x650]
movaps xmmword [ebp - 0x470], xmm1
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x470]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45aab0
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebp - 0x748]
sub eax, edx
cmp eax, ecx
jb 0x45c7c6
cmp dword [ebp - 0x744], 0x10
lea eax, [ebp - 0x758]
push ecx
cmovae eax, dword [ebp - 0x758]
lea ecx, [ebp - 0x470]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x68]
lea ecx, [ebp - 0x854]
call fcn.004b41d0
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0xa10]
or esi, 4
lea edx, [ebp - 0x854]
push eax
lea ecx, [ebp - 0x86c]
mov dword [ebp - 0x30], esi
call fcn.004b01e0
add esp, 4
mov byte [ebp - 4], 8
and esi, 0xfffffffb
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x854]
call fcn.0040fe10
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0xa10]
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x60], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ab56
sub ecx, edx
lea eax, [ebp - 0xa10]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.00410090
mov byte [ebp - 4], 0xa
lea edi, [ebp - 0x60]
cmp dword [ebp - 0x4c], 0x10
mov esi, dword [ebp - 0x50]
cmovae edi, dword [ebp - 0x60]
test esi, esi
je 0x45ad36
push esi
push 0x2f
push edi
call fcn.00521dd0
add esp, 0xc
test eax, eax
je 0x45ad36
sub eax, edi
cmp eax, 0xffffffff
je 0x45ad36
mov dword [ebp - 0x1f8], 0x4efd51a
sub esp, 0x18
mov dword [ebp - 0x1f4], 0xe640eba1
mov edx, esp
mov eax, dword [ebp - 0x1f8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1f4]
mov dword [ebp - 0x47c], ecx
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x200], 0x76184a46
mov dword [ebp - 0x1fc], 0xf52f0c30
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0x474], ecx
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x208], 0x4efd535
mov dword [ebp - 0x204], 0xe640eba1
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
mov dword [ebp - 0x210], 0x76184a46
mov dword [ebp - 0x6c0], eax
mov dword [ebp - 0x6bc], ecx
mov dword [ebp - 0x20c], 0xf52f0c30
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
movaps xmm1, xmmword [ebp - 0x480]
mov dword [ebp - 0x6b4], ecx
lea ecx, [ebp - 0x480]
mov dword [ebp - 0x6b8], eax
lea esi, [ecx + 1]
pxor xmm1, xmmword [ebp - 0x6c0]
movups xmmword [edx], xmm0
mov dword [ebp - 0x838], esp
movaps xmmword [ebp - 0x480], xmm1
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ac96
sub ecx, esi
lea eax, [ebp - 0x480]
push ecx
push eax
mov ecx, edx
call fcn.00410090
mov byte [ebp - 4], 0xb
sub esp, 0x18
lea eax, [ebp - 0x60]
mov dword [ebp - 0x83c], esp
mov ecx, esp
push eax
call fcn.004abdc0
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5f4]
call fcn.0041a690
add esp, 0x30
mov byte [ebp - 4], 0xd
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x5f0]
mov esi, dword [ebp - 0x5f4]
sub ecx, esi
imul ecx
lea ecx, [ebp - 0x60]
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 0x45ad24
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x45ad1a
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.004abaf0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5f4]
call fcn.004add00
mov esi, dword [ebp - 0x50]
cmp dword [ebp - 0x4c], 0x10
lea edi, [ebp - 0x60]
cmovae edi, dword [ebp - 0x60]
test esi, esi
je 0x45aef3
push esi
push 0x5c
push edi
call fcn.00521dd0
add esp, 0xc
test eax, eax
je 0x45aef3
sub eax, edi
cmp eax, 0xffffffff
je 0x45aef3
mov dword [ebp - 0x218], 0x4efd569
sub esp, 0x18
mov dword [ebp - 0x214], 0xe640eba1
mov edx, esp
mov eax, dword [ebp - 0x218]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x48c], ecx
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x220], 0x76184a46
mov dword [ebp - 0x21c], 0xf52f0c30
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x484], ecx
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x228], 0x4efd535
mov dword [ebp - 0x224], 0xe640eba1
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x230], 0x76184a46
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x65c], ecx
mov dword [ebp - 0x22c], 0xf52f0c30
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
movaps xmm1, xmmword [ebp - 0x490]
mov dword [ebp - 0x654], ecx
lea ecx, [ebp - 0x490]
mov dword [ebp - 0x658], eax
lea esi, [ecx + 1]
pxor xmm1, xmmword [ebp - 0x660]
movups xmmword [edx], xmm0
mov dword [ebp - 0x834], esp
movaps xmmword [ebp - 0x490], xmm1
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ae56
sub ecx, esi
lea eax, [ebp - 0x490]
push ecx
push eax
mov ecx, edx
call fcn.00410090
mov byte [ebp - 4], 0xe
sub esp, 0x18
lea eax, [ebp - 0x60]
mov dword [ebp - 0x830], esp
mov ecx, esp
push eax
call fcn.004abdc0
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5e8]
call fcn.0041a690
add esp, 0x30
mov byte [ebp - 4], 0x10
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x5e4]
mov esi, dword [ebp - 0x5e8]
sub ecx, esi
imul ecx
lea ecx, [ebp - 0x60]
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 0x45aee4
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x45aeda
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.004abaf0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5e8]
call fcn.004add00
mov dword [ebp - 0x4d8], 0x6b80b669
lea edx, [ebp - 0x86c]
mov dword [ebp - 0x4d4], 0x952582ca
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [ebp - 0x4d4]
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x238], 0x1a693968
mov dword [ebp - 0x234], 0xf54a7859
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x234]
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], ecx
mov dword [ebp - 0x240], 0x4efd535
mov dword [ebp - 0x23c], 0xe640eba1
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x670], eax
mov dword [ebp - 0x248], 0x76184a46
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x244], 0xf52f0c30
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x244]
movaps xmm1, xmmword [ebp - 0x540]
mov dword [ebp - 0x668], eax
lea eax, [ebp - 0x540]
mov dword [ebp - 0x664], ecx
lea ecx, [ebp - 0x5d0]
pxor xmm1, xmmword [ebp - 0x670]
push eax
movaps xmmword [ebp - 0x540], xmm1
call fcn.004b0150
add esp, 4
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x250], 0x4efb747
mov dword [ebp - 0x24c], 0xe640eba1
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 0x258], 0x76184a46
mov dword [ebp - 0x254], 0xf52f0c30
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x254]
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], ecx
mov dword [ebp - 0x260], 0x4efd535
mov dword [ebp - 0x25c], 0xe640eba1
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x680], eax
mov dword [ebp - 0x268], 0x76184a46
mov dword [ebp - 0x67c], ecx
mov dword [ebp - 0x264], 0xf52f0c30
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
cmp dword [ebp - 0x5bc], 0x10
movaps xmm1, xmmword [ebp - 0x550]
mov dword [ebp - 0x678], eax
lea eax, [ebp - 0x5d0]
cmovae eax, dword [ebp - 0x5d0]
mov dword [ebp - 0x674], ecx
lea ecx, [ebp - 0x550]
pxor xmm1, xmmword [ebp - 0x680]
push ecx
push eax
movaps xmmword [ebp - 0x550], xmm1
call fcn.00524450
add esp, 8
test eax, eax
je 0x45c705
push eax
call fcn.00527cde
add esp, 4
mov byte [ebp - 0x88], 0
lea ecx, [ebp - 0x80]
push 0
call fcn.004ad6a0
mov byte [ebp - 4], 0x13
sub esp, 8
mov eax, esp
lea ecx, [ebp - 0x138]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004a9d10
add esp, 8
mov byte [ebp - 4], 0x14
mov al, byte [ebp - 0x88]
test al, al
jne 0x45b12f
mov byte [ebp - 0x88], 1
call fcn.004b12e0
mov ecx, eax
mov dword [ebp - 0x80], ecx
mov al, byte [ebp - 0x88]
jmp 0x45b132
mov ecx, dword [ebp - 0x80]
cmp al, 1
jne 0x45c82a
lea eax, [ebp - 0x60]
push eax
call fcn.004ad880
mov edi, eax
mov byte [ebp - 4], 0x17
mov dl, byte [edi]
mov cl, byte [ebp - 0x138]
mov byte [edi], cl
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
mov byte [ebp - 0x138], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x130]
push dword [ebp - 0x138]
call fcn.004ad380
cmp dword [ebp - 0x5bc], 0x10
lea ecx, [ebp - 0x5d0]
lea edx, [ebp - 0x6c]
cmovae ecx, dword [ebp - 0x5d0]
call fcn.004286e0
test eax, eax
jne 0x45c610
mov dword [ebp - 0x270], 0x41a39066
mov dword [ebp - 0x26c], 0x8e60bfe2
mov eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x820], eax
mov dword [ebp - 0x81c], ecx
mov dword [ebp - 0x278], 0x5a6c3929
mov dword [ebp - 0x274], 0xbd5c6510
mov eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x814], ecx
mov dword [ebp - 0x280], 0xcfdf73
mov dword [ebp - 0x27c], 0xc90e8439
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x27c]
mov dword [ebp - 0x810], eax
mov dword [ebp - 0x80c], ecx
mov dword [ebp - 0x288], 0x1208f7c8
mov dword [ebp - 0x284], 0xbc86b786
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0x808], eax
mov dword [ebp - 0x804], ecx
mov dword [ebp - 0x290], 0xd9033d0a
mov dword [ebp - 0x28c], 0xce355918
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x28c]
mov dword [ebp - 0x800], eax
mov dword [ebp - 0x7fc], ecx
mov dword [ebp - 0x298], 0xb865706a
mov dword [ebp - 0x294], 0xcff902a5
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x7f8], eax
mov dword [ebp - 0x7f4], ecx
mov dword [ebp - 0x2a0], 0x279bc28b
mov dword [ebp - 0x29c], 0x2e528b26
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x7f0], eax
mov dword [ebp - 0x7ec], ecx
mov dword [ebp - 0x2a8], 0x78ecf82d
mov dword [ebp - 0x2a4], 0x62498a6a
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 0x7e4], ecx
mov dword [ebp - 0x2b0], 0xf9c76b10
mov dword [ebp - 0x2ac], 0x7a0c0663
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 0x7dc], ecx
mov dword [ebp - 0x2b8], 0xc7bfdbc1
mov dword [ebp - 0x2b4], 0xc53667b
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x2b4]
mov dword [ebp - 0x7d8], eax
mov dword [ebp - 0x7d4], ecx
mov dword [ebp - 0x2c0], 0x4efd535
mov dword [ebp - 0x2bc], 0xe640eba1
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x7c0], eax
mov dword [ebp - 0x7bc], ecx
mov dword [ebp - 0x2c8], 0x76184a46
mov dword [ebp - 0x2c4], 0xf52f0c30
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c4]
mov dword [ebp - 0x7b8], eax
mov dword [ebp - 0x7b4], ecx
mov dword [ebp - 0x2d0], 0x4fbfab07
mov dword [ebp - 0x2cc], 0xe577e857
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x7b0], eax
mov dword [ebp - 0x7ac], ecx
mov dword [ebp - 0x2d8], 0x666987e8
mov dword [ebp - 0x2d4], 0xd5a69bee
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2d4]
lea edx, [ebp - 0x820]
mov dword [ebp - 0x7a8], eax
mov dword [ebp - 0x7a4], ecx
mov dword [ebp - 0x2e0], 0xba666e79
mov dword [ebp - 0x2dc], 0xe2502b6d
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x79c], ecx
mov dword [ebp - 0x2e8], 0xc81d154a
mov dword [ebp - 0x2e4], 0xe38070cc
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x798], eax
mov dword [ebp - 0x794], ecx
mov dword [ebp - 0x2f0], 0x4afaacab
mov dword [ebp - 0x2ec], 0x5872a743
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x2ec]
mov dword [ebp - 0x790], eax
mov dword [ebp - 0x78c], ecx
mov dword [ebp - 0x2f8], 0x1d99944c
mov dword [ebp - 0x2f4], 0x2d1bcc4a
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2f4]
mov dword [ebp - 0x788], eax
mov dword [ebp - 0x784], ecx
mov dword [ebp - 0x300], 0x96aa4b5d
mov dword [ebp - 0x2fc], 0x156f5919
mov eax, dword [ebp - 0x300]
mov ecx, dword [ebp - 0x2fc]
mov dword [ebp - 0x780], eax
mov dword [ebp - 0x77c], ecx
mov dword [ebp - 0x308], 0xa2d6b0ae
mov dword [ebp - 0x304], 0xc536608
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x304]
vmovdqu ymm0, ymmword [ebp - 0x820]
vpxor ymm0, ymm0, ymmword [ebp - 0x7c0]
mov edi, dword [ebp - 0x6c]
vmovdqa ymmword [ebp - 0x820], ymm0
vmovdqu ymm0, ymmword [ebp - 0x800]
vpxor ymm0, ymm0, ymmword [ebp - 0x7a0]
mov dword [ebp - 0x778], eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x774], ecx
push ecx
vmovdqa ymmword [ebp - 0x800], ymm0
vmovaps xmm1, xmmword [ebp - 0x7e0]
vpxor xmm1, xmm1, xmmword [ebp - 0x780]
push eax
push ecx
vmovaps xmmword [ebp - 0x7e0], xmm1
mov ecx, edi
vzeroupper
call fcn.004f90d0
add esp, 0xc
test eax, eax
jne 0x45c609
mov esi, dword [ebp - 0x2c]
mov ecx, esi
call fcn.004e4960
cmp eax, 0x64
jne 0x45c602
push 0
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x48], 0
call fcn.004ad6a0
mov byte [ebp - 4], 0x19
xor edx, edx
mov ecx, esi
call fcn.004e4c50
xorps xmm0, xmm0
mov dword [ebp - 0x44c], eax
lea edx, [ebp - 0x44c]
mov byte [ebp - 0xd8], 0
lea ecx, [ebp - 0xd8]
movq qword [ebp - 0xd0], xmm0
call fcn.004c1e70
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x310], 0x6582ba51
mov dword [ebp - 0x30c], 0xe64085c8
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x49c], ecx
mov dword [ebp - 0x318], 0x76184a46
mov dword [ebp - 0x314], 0xf52f0c30
mov eax, dword [ebp - 0x318]
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x320], 0x4efd535
mov dword [ebp - 0x31c], 0xe640eba1
mov eax, dword [ebp - 0x320]
mov ecx, dword [ebp - 0x31c]
mov dword [ebp - 0x328], 0x76184a46
mov dword [ebp - 0x690], eax
mov dword [ebp - 0x324], 0xf52f0c30
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x68c], ecx
mov ecx, dword [ebp - 0x324]
movaps xmm1, xmmword [ebp - 0x4a0]
mov dword [ebp - 0x688], eax
mov al, byte [ebp - 0x48]
mov dword [ebp - 0x684], ecx
pxor xmm1, xmmword [ebp - 0x690]
movaps xmmword [ebp - 0x4a0], xmm1
test al, al
jne 0x45b6e2
push 1
lea ecx, [ebp - 0x5b8]
mov byte [ebp - 0x48], 1
call fcn.004ad6a0
mov eax, dword [ebp - 0x5b4]
mov esi, dword [ebp - 0x5b8]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], eax
mov al, byte [ebp - 0x48]
jmp 0x45b6e5
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x34], esi
cmp al, 1
jne 0x45c7d5
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x8c], 0
movups xmmword [ebp - 0xa0], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45b717
sub eax, edx
lea ecx, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x4a0]
push eax
call fcn.00410090
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x5dc]
mov ecx, esi
push eax
call fcn.004b9d20
mov edi, dword [ebp - 0x5d4]
cmp byte [edi + 0xd], 0
jne 0x45b76e
lea edx, [edi + 0x10]
lea ecx, [ebp - 0xa0]
call fcn.004be450
test al, al
je 0x45b855
cmp dword [esi + 4], 0x4924924
je 0x45c7d0
mov eax, dword [ebp - 0x34]
mov esi, dword [esi]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], 0
mov byte [ebp - 4], 0x1c
push 0x38
mov dword [ebp - 0xa4], 0
call fcn.00508130
mov edi, eax
add esp, 4
mov dword [ebp - 0xa4], edi
mov byte [ebp - 4], 0x1d
lea ecx, [edi + 0x10]
mov dword [ebp - 0x82c], ecx
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
movups xmm0, xmmword [ebp - 0xa0]
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x90]
movq qword [ecx + 0x10], xmm0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x1e
add ecx, 0x18
mov dword [ebp - 0x24], ecx
push 0
mov byte [ecx], 0
add ecx, 8
call fcn.004ad6a0
mov byte [ebp - 4], 0x1d
mov dword [edi], esi
mov dword [edi + 4], esi
mov dword [edi + 8], esi
mov word [edi + 0xc], 0
mov byte [ebp - 4], 0x22
mov dword [ebp - 0xa4], 0
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x34]
push edi
push dword [ebp - 0x5d8]
push dword [ebp - 0x5dc]
call fcn.004b3ac0
mov edi, eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x8c]
cmp ecx, 0x10
jb 0x45b893
mov edx, dword [ebp - 0xa0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45b889
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45c7cb
push ecx
push edx
call fcn.005083b1
add esp, 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov byte [ebp - 4], 0x29
mov cl, byte [edi + 0x28]
mov al, byte [ebp - 0xd8]
mov byte [edi + 0x28], al
mov edx, dword [edi + 0x30]
mov esi, dword [edi + 0x34]
mov eax, dword [ebp - 0xd0]
mov byte [ebp - 0xd8], cl
mov byte [ebp - 0x450], cl
mov ecx, dword [ebp - 0xcc]
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xd0]
push dword [ebp - 0x450]
call fcn.004ad380
mov dword [ebp - 0x330], 0x4efd504
xorps xmm0, xmm0
mov dword [ebp - 0x32c], 0xe640eba1
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x338], 0x76184a46
mov dword [ebp - 0x334], 0xf52f0c30
mov eax, dword [ebp - 0x338]
mov ecx, dword [ebp - 0x334]
mov dword [ebp - 0x4a4], ecx
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x340], 0x4efd535
mov dword [ebp - 0x33c], 0xe640eba1
mov eax, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x33c]
mov dword [ebp - 0x348], 0x76184a46
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 0x69c], ecx
mov dword [ebp - 0x344], 0xf52f0c30
mov eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x344]
movaps xmm1, xmmword [ebp - 0x4b0]
mov dword [ebp - 0x694], ecx
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 0x698], eax
lea edx, [ecx + 1]
pxor xmm1, xmmword [ebp - 0x6a0]
movaps xmmword [ebp - 0x4b0], xmm1
movups xmmword [ebp - 0x168], xmm0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45b9f0
sub ecx, edx
lea eax, [ebp - 0x4b0]
push ecx
push eax
lea ecx, [ebp - 0x168]
call fcn.00410090
mov byte [ebp - 4], 0x2a
mov edx, 1
mov ecx, dword [ebp - 0x2c]
call fcn.004e4c50
mov edx, eax
mov dword [ebp - 0x140], 0
mov ecx, edx
mov dword [ebp - 0x13c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x150], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ba42
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x150]
call fcn.00410090
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x168]
cmp dword [ebp - 0x154], 0x10
lea ecx, [ebp - 0x150]
push dword [ebp - 0x158]
cmovae eax, dword [ebp - 0x168]
cmp dword [ebp - 0x13c], 0x10
mov edx, dword [ebp - 0x140]
cmovae ecx, dword [ebp - 0x150]
push eax
call fcn.004bc4e0
add esp, 8
mov byte [ebp - 0xc8], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0xc8]
mov dl, al
movq qword [ebp - 0xc0], xmm0
call fcn.004c1f10
mov byte [ebp - 4], 0x2c
mov dword [ebp - 0x350], 0x749ba15d
mov dword [ebp - 0x34c], 0x9f2c85ee
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x34c]
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x55c], ecx
mov dword [ebp - 0x358], 0x76184a46
mov dword [ebp - 0x354], 0xf52f0c30
mov eax, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x354]
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x360], 0x4efd535
mov dword [ebp - 0x35c], 0xe640eba1
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 0x368], 0x76184a46
mov dword [ebp - 0x6ac], ecx
mov dword [ebp - 0x364], 0xf52f0c30
mov eax, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x364]
movaps xmm1, xmmword [ebp - 0x560]
mov dword [ebp - 0x6a8], eax
lea eax, [ebp - 0x560]
mov dword [ebp - 0x6a4], ecx
lea ecx, [ebp - 0x48]
pxor xmm1, xmmword [ebp - 0x6b0]
push eax
movaps xmmword [ebp - 0x560], xmm1
call fcn.004b04b0
mov edi, eax
mov byte [ebp - 4], 0x2d
mov dl, byte [edi]
mov cl, byte [ebp - 0xc8]
mov eax, dword [ebp - 0xc0]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xbc]
mov byte [ebp - 0xc8], dl
mov byte [ebp - 0x454], dl
mov edx, dword [edi + 8]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0xc0]
push dword [ebp - 0x454]
call fcn.004ad380
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x13c]
cmp ecx, 0x10
jb 0x45bc24
mov edx, dword [ebp - 0x150]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45bc1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45c7cb
push ecx
push edx
call fcn.005083b1
add esp, 8
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x154]
cmp ecx, 0x10
jb 0x45bc7d
mov edx, dword [ebp - 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45bc73
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45c7cb
push ecx
push edx
call fcn.005083b1
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov edx, 2
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
call fcn.004e4c50
xorps xmm0, xmm0
mov dword [ebp - 0x458], eax
lea edx, [ebp - 0x458]
mov byte [ebp - 0xb8], 0
lea ecx, [ebp - 0xb8]
movq qword [ebp - 0xb0], xmm0
call fcn.004c1e70
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x370], 0x6c9bb445
mov dword [ebp - 0x36c], 0xe640eba1
mov eax, dword [ebp - 0x370]
mov ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x378], 0x76184a46
mov dword [ebp - 0x374], 0xf52f0c30
mov eax, dword [ebp - 0x378]
mov ecx, dword [ebp - 0x374]
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], ecx
mov dword [ebp - 0x380], 0x4efd535
mov dword [ebp - 0x37c], 0xe640eba1
mov eax, dword [ebp - 0x380]
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0x730], eax
mov dword [ebp - 0x388], 0x76184a46
mov dword [ebp - 0x72c], ecx
mov dword [ebp - 0x384], 0xf52f0c30
mov eax, dword [ebp - 0x388]
mov ecx, dword [ebp - 0x384]
movaps xmm1, xmmword [ebp - 0x570]
mov dword [ebp - 0x728], eax
lea eax, [ebp - 0x570]
mov dword [ebp - 0x724], ecx
lea ecx, [ebp - 0x48]
pxor xmm1, xmmword [ebp - 0x730]
push eax
movaps xmmword [ebp - 0x570], xmm1
call fcn.004b04b0
mov edi, eax
mov byte [ebp - 4], 0x2f
mov dl, byte [edi]
mov cl, byte [ebp - 0xb8]
mov eax, dword [ebp - 0xb0]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xac]
mov byte [ebp - 0xb8], dl
mov byte [ebp - 0x45c], dl
mov edx, dword [edi + 8]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xb0]
push dword [ebp - 0x45c]
call fcn.004ad380
mov dword [ebp - 0x390], 0x4efd504
mov dword [ebp - 0x38c], 0xe640eba1
mov eax, dword [ebp - 0x390]
mov ecx, dword [ebp - 0x38c]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], ecx
mov dword [ebp - 0x398], 0x76184a46
mov dword [ebp - 0x394], 0xf52f0c30
mov eax, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x394]
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], ecx
mov dword [ebp - 0x3a0], 0x4efd535
mov dword [ebp - 0x39c], 0xe640eba1
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [ebp - 0x39c]
xorps xmm0, xmm0
mov dword [ebp - 0x3a8], 0x76184a46
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], ecx
mov dword [ebp - 0x3a4], 0xf52f0c30
mov eax, dword [ebp - 0x3a8]
mov ecx, dword [ebp - 0x3a4]
movaps xmm1, xmmword [ebp - 0x4c0]
mov dword [ebp - 0x6c4], ecx
lea ecx, [ebp - 0x4c0]
mov dword [ebp - 0x6c8], eax
lea edx, [ecx + 1]
pxor xmm1, xmmword [ebp - 0x6d0]
movaps xmmword [ebp - 0x4c0], xmm1
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45bef0
sub ecx, edx
lea eax, [ebp - 0x4c0]
push ecx
push eax
lea ecx, [ebp - 0x198]
call fcn.00410090
mov byte [ebp - 4], 0x30
mov edx, 3
mov ecx, dword [ebp - 0x2c]
call fcn.004e4c50
mov edx, eax
mov dword [ebp - 0x170], 0
mov ecx, edx
mov dword [ebp - 0x16c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x180], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45bf42
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x180]
call fcn.00410090
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x198]
cmp dword [ebp - 0x184], 0x10
lea ecx, [ebp - 0x180]
push dword [ebp - 0x188]
cmovae eax, dword [ebp - 0x198]
cmp dword [ebp - 0x16c], 0x10
mov edx, dword [ebp - 0x170]
cmovae ecx, dword [ebp - 0x180]
push eax
call fcn.004bc4e0
add esp, 8
mov byte [ebp - 0xe8], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0xe8]
mov dl, al
movq qword [ebp - 0xe0], xmm0
call fcn.004c1f10
mov byte [ebp - 4], 0x32
mov dword [ebp - 0x3b0], 0x718cb046
mov dword [ebp - 0x3ac], 0xe6408ed3
mov eax, dword [ebp - 0x3b0]
mov ecx, dword [ebp - 0x3ac]
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x57c], ecx
mov dword [ebp - 0x3b8], 0x76184a46
mov dword [ebp - 0x3b4], 0xf52f0c30
mov eax, dword [ebp - 0x3b8]
mov ecx, dword [ebp - 0x3b4]
mov dword [ebp - 0x578], eax
mov dword [ebp - 0x574], ecx
mov dword [ebp - 0x3c0], 0x4efd535
mov dword [ebp - 0x3bc], 0xe640eba1
mov eax, dword [ebp - 0x3c0]
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x3c8], 0x76184a46
mov dword [ebp - 0x6dc], ecx
mov dword [ebp - 0x3c4], 0xf52f0c30
mov eax, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 0x3c4]
movaps xmm1, xmmword [ebp - 0x580]
mov dword [ebp - 0x6d8], eax
lea eax, [ebp - 0x580]
mov dword [ebp - 0x6d4], ecx
lea ecx, [ebp - 0x48]
pxor xmm1, xmmword [ebp - 0x6e0]
push eax
movaps xmmword [ebp - 0x580], xmm1
call fcn.004b04b0
mov edi, eax
mov byte [ebp - 4], 0x33
mov dl, byte [edi]
mov cl, byte [ebp - 0xe8]
mov eax, dword [ebp - 0xe0]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xdc]
mov byte [ebp - 0xe8], dl
mov byte [ebp - 0x460], dl
mov edx, dword [edi + 8]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], esi
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0xe0]
push dword [ebp - 0x460]
call fcn.004ad380
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x16c]
cmp ecx, 0x10
jb 0x45c124
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45c11a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45c7cb
push ecx
push edx
call fcn.005083b1
add esp, 8
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x184]
cmp ecx, 0x10
jb 0x45c17d
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45c173
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45c7cb
push ecx
push edx
call fcn.005083b1
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov edx, 4
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
call fcn.004e4c50
push eax
call fcn.0052bf26
add esp, 4
mov byte [ebp - 0xf8], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0xf8]
movq qword [ebp - 0xf0], xmm0
push edx
push eax
call fcn.004c1f30
add esp, 8
mov byte [ebp - 4], 0x34
mov dword [ebp - 0x3d0], 0x6d9fad50
mov dword [ebp - 0x3cc], 0x8f348ad3
mov eax, dword [ebp - 0x3d0]
mov ecx, dword [ebp - 0x3cc]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], ecx
mov dword [ebp - 0x3d8], 0x175c2429
mov dword [ebp - 0x3d4], 0xf52f6944
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x3d4]
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], ecx
mov dword [ebp - 0x3e0], 0x4efd535
mov dword [ebp - 0x3dc], 0xe640eba1
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x3e8], 0x76184a46
mov dword [ebp - 0x6ec], ecx
mov dword [ebp - 0x3e4], 0xf52f0c30
mov eax, dword [ebp - 0x3e8]
mov ecx, dword [ebp - 0x3e4]
movaps xmm1, xmmword [ebp - 0x590]
mov dword [ebp - 0x6e8], eax
lea eax, [ebp - 0x590]
mov dword [ebp - 0x6e4], ecx
lea ecx, [ebp - 0x48]
pxor xmm1, xmmword [ebp - 0x6f0]
push eax
movaps xmmword [ebp - 0x590], xmm1
call fcn.004b04b0
mov edi, eax
mov byte [ebp - 4], 0x35
mov dl, byte [edi]
movzx ecx, byte [ebp - 0xf8]
mov eax, dword [ebp - 0xf0]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xec]
mov byte [ebp - 0xf8], dl
mov byte [ebp - 0x4c4], dl
mov edx, dword [edi + 8]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xec], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xf0]
push dword [ebp - 0x4c4]
call fcn.004ad380
mov ecx, dword [ebp - 0x2c]
mov edx, 5
call fcn.004e4c50
xorps xmm0, xmm0
mov dword [ebp - 0x4c8], eax
lea edx, [ebp - 0x4c8]
mov byte [ebp - 0x108], 0
lea ecx, [ebp - 0x108]
movq qword [ebp - 0x100], xmm0
call fcn.004c1e70
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x3f0], 0x6182b45b
mov dword [ebp - 0x3ec], 0xe640eba1
mov eax, dword [ebp - 0x3f0]
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], ecx
mov dword [ebp - 0x3f8], 0x76184a46
mov dword [ebp - 0x3f4], 0xf52f0c30
mov eax, dword [ebp - 0x3f8]
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x528], eax
mov dword [ebp - 0x524], ecx
mov dword [ebp - 0x400], 0x4efd535
mov dword [ebp - 0x3fc], 0xe640eba1
mov eax, dword [ebp - 0x400]
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x700], eax
mov dword [ebp - 0x408], 0x76184a46
mov dword [ebp - 0x6fc], ecx
mov dword [ebp - 0x404], 0xf52f0c30
mov eax, dword [ebp - 0x408]
mov ecx, dword [ebp - 0x404]
movaps xmm1, xmmword [ebp - 0x530]
mov dword [ebp - 0x6f8], eax
lea eax, [ebp - 0x530]
mov dword [ebp - 0x6f4], ecx
lea ecx, [ebp - 0x48]
pxor xmm1, xmmword [ebp - 0x700]
push eax
movaps xmmword [ebp - 0x530], xmm1
call fcn.004b04b0
mov edi, eax
mov byte [ebp - 4], 0x37
mov dl, byte [edi]
movzx ecx, byte [ebp - 0x108]
mov eax, dword [ebp - 0x100]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp - 0xfc]
mov byte [ebp - 0x108], dl
mov byte [ebp - 0x4cc], dl
mov edx, dword [edi + 8]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x100]
push dword [ebp - 0x4cc]
call fcn.004ad380
mov ecx, dword [ebp - 0x2c]
mov edx, 6
call fcn.004e4c50
xorps xmm0, xmm0
mov dword [ebp - 0x4d0], eax
lea edx, [ebp - 0x4d0]
mov byte [ebp - 0x118], 0
lea ecx, [ebp - 0x118]
movq qword [ebp - 0x110], xmm0
call fcn.004c1e70
mov byte [ebp - 4], 0x38
mov dword [ebp - 0x410], 0x7183b443
mov dword [ebp - 0x40c], 0xe640ebc4
mov eax, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], ecx
mov dword [ebp - 0x418], 0x76184a46
mov dword [ebp - 0x414], 0xf52f0c30
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x594], ecx
mov dword [ebp - 0x420], 0x4efd535
mov dword [ebp - 0x41c], 0xe640eba1
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x710], eax
mov dword [ebp - 0x428], 0x76184a46
mov dword [ebp - 0x70c], ecx
mov dword [ebp - 0x424], 0xf52f0c30
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x424]
movaps xmm1, xmmword [ebp - 0x5a0]
mov dword [ebp - 0x708], eax
lea eax, [ebp - 0x5a0]
mov dword [ebp - 0x704], ecx
lea ecx, [ebp - 0x48]
pxor xmm1, xmmword [ebp - 0x710]
push eax
movaps xmmword [ebp - 0x5a0], xmm1
call fcn.004b04b0
mov edi, eax
mov byte [ebp - 4], 0x39
mov dl, byte [edi]
movzx ecx, byte [ebp - 0x118]
mov eax, dword [ebp - 0x110]
mov byte [edi], cl
mov esi, dword [edi + 0xc]
mov ecx, dword [ebp - 0x10c]
mov byte [ebp - 0x118], dl
mov byte [ebp - 0x68], dl
mov edx, dword [edi + 8]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x10c], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x110]
push dword [ebp - 0x68]
call fcn.004ad380
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x88]
call fcn.004a95a0
lea ecx, [ebp - 0x48]
push ecx
mov ecx, eax
call fcn.004a92c0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x40]
push dword [ebp - 0x48]
call fcn.004ad380
mov esi, dword [ebp - 0x2c]
mov ecx, esi
call fcn.004e4960
cmp eax, 0x64
je 0x45b5a5
mov edi, dword [ebp - 0x6c]
mov ecx, esi
call fcn.004e45d0
mov ecx, edi
call fcn.00428b50
mov dword [ebp - 0x430], 0x6f80ba56
mov dword [ebp - 0x42c], 0xe6338ec8
mov eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], ecx
mov dword [ebp - 0x438], 0x76184a46
mov dword [ebp - 0x434], 0xf52f0c30
mov eax, dword [ebp - 0x438]
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], ecx
mov dword [ebp - 0x440], 0x4efd535
mov dword [ebp - 0x43c], 0xe640eba1
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x43c]
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x448], 0x76184a46
mov dword [ebp - 0x71c], ecx
mov dword [ebp - 0x444], 0xf52f0c30
mov eax, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x718], eax
lea eax, [ebp - 0x5b0]
mov dword [ebp - 0x714], ecx
movaps xmm1, xmmword [ebp - 0x720]
pxor xmm1, xmmword [ebp - 0x5b0]
mov ecx, dword [ebp - 0x74]
push eax
movaps xmmword [ebp - 0x5b0], xmm1
call fcn.004b04b0
lea ecx, [ebp - 0x88]
push ecx
mov ecx, eax
call fcn.004a92c0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x80]
push dword [ebp - 0x88]
call fcn.004ad380
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x5d0]
call fcn.0040fe10
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x10
jb 0x45c74c
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x45c742
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x45c7cb
push ecx
push edx
call fcn.005083b1
add esp, 8
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x86c]
call fcn.0040fe10
mov esi, dword [ebp - 0x70]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc esi
add esi, eax
mov dword [ebp - 0x70], esi
cmp byte [esi], 0
jne 0x45a7f0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x60c]
call fcn.0040fe10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x758]
call fcn.0040fe10
mov byte [ebp - 4], 0
lea ecx, [ebx + 8]
call fcn.0040fe10
mov eax, dword [ebp - 0x74]
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 - 0x48]
call fcn.004ad9a0
push eax
lea ecx, [ebp - 0x8bc]
call fcn.0040fcf0
mov byte [ebp - 4], 0x27
mov edx, str.cannot_use_operator___with_a_string_argument_with
push eax
lea ecx, [ebp - 0x8d4]
call fcn.004b0310
add esp, 4
mov byte [ebp - 4], 0x28
mov edx, 0x131
push eax
lea ecx, [ebp - 0x888]
call fcn.004171c0
add esp, 4
lea eax, [ebp - 0x888]
push 0x587d20
push eax
call fcn.0051fe2b
lea ecx, [ebp - 0x88]
call fcn.004ad9a0
push eax
lea ecx, [ebp - 0x8ec]
call fcn.0040fcf0
mov byte [ebp - 4], 0x15
mov edx, str.cannot_use_operator___with_a_string_argument_with
push eax
lea ecx, [ebp - 0x904]
call fcn.004b0310
add esp, 4
mov byte [ebp - 4], 0x16
mov edx, 0x131
push eax
lea ecx, [ebp - 0x8a4]
call fcn.004171c0
add esp, 4
lea eax, [ebp - 0x8a4]
push 0x587d20
push eax
call fcn.0051fe2b
int3