Function at 0x40c740
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49cd54
mov eax, dword fs:[0]
push eax
sub esp, 0x304
mov eax, dword [0x4c20f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x2e8], esi
xor edi, edi
lea eax, [ebp - 0x114]
push 0x104
push edi
push eax
mov dword [ebp - 0x2a0], edi
call fcn.00474010
mov dword [ebp - 0x1c0], edi
add esp, 0xc
mov dword [ebp - 0x1b0], edi
mov dword [ebp - 0x1ac], 0xf
mov byte [ebp - 0x1c0], 0
mov dword [ebp - 4], edi
mov dword [ebp - 0x29c], edi
mov dword [ebp - 0x28c], edi
mov dword [ebp - 0x288], 0xf
mov byte [ebp - 0x29c], 0
mov dword [ebp - 0x1a8], edi
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x2e8]
mov byte [ebp - 4], 2
mov esi, dword [esi + 0x20]
cmp esi, dword [eax + 0x24]
je 0x40e02f
push esi
lea ecx, [ebp - 0x26c]
call fcn.00405b60
lea eax, [esi + 0x18]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x254]
call fcn.00405b60
lea eax, [esi + 0x30]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x23c]
call fcn.00405b60
lea eax, [esi + 0x48]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x224]
call fcn.00405b60
lea eax, [esi + 0x60]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x20c]
call fcn.00405b60
mov al, byte [esi + 0x78]
mov byte [ebp - 0x1f4], al
mov byte [ebp - 4], 7
mov eax, accept
mov ecx, dword [ebp - 0x1fc]
sub eax, ecx
cmp eax, 1
jb 0x40e09b
cmp dword [ebp - 0x1f8], 0x10
lea eax, [ebp - 0x20c]
push 1
cmovae eax, dword [ebp - 0x20c]
push 0x4bafe0
push ecx
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x300]
call fcn.00408460
or edi, 1
lea eax, [ebp - 0x254]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x300]
call fcn.00405aa0
mov dword [ebp - 0x15c], 0
or edi, 2
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x2a0], edi
movups xmmword [ebp - 0x15c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x2ec]
cmp edx, 0x10
jb 0x40c958
mov ecx, dword [ebp - 0x300]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c94e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
cmp dword [ebp - 0x258], 0x10
lea eax, [ebp - 0x26c]
push 0x4bb3a0
cmovae eax, dword [ebp - 0x26c]
push eax
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0xf
mov byte [ebp - 0x300], 0
call fcn.004736f0
add esp, 8
test eax, eax
je 0x40d2bb
mov ecx, dword [ebp - 0x1fc]
mov eax, accept
sub eax, ecx
cmp eax, 1
jb 0x40e09b
cmp dword [ebp - 0x1f8], 0x10
lea eax, [ebp - 0x20c]
push 1
cmovae eax, dword [ebp - 0x20c]
push 0x4bafe0
push ecx
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x2bc]
call fcn.00408460
lea eax, [ebp - 0x254]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x2bc]
call fcn.00405aa0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1f0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1e0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x2a8]
cmp edx, 0x10
jb 0x40ca64
mov ecx, dword [ebp - 0x2bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ca5a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov ecx, dword [ebp - 0x1fc]
mov eax, accept
sub eax, ecx
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0xf
mov byte [ebp - 0x2bc], 0
cmp eax, 0xe
jb 0x40e09b
cmp dword [ebp - 0x1f8], 0x10
lea eax, [ebp - 0x20c]
push 0xe
cmovae eax, dword [ebp - 0x20c]
push str.LoggerManager
push ecx
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x190]
call fcn.00408460
mov byte [ebp - 4], 0xe
mov eax, accept
mov ecx, dword [ebp - 0x1fc]
sub eax, ecx
cmp eax, 0xf
jb 0x40e09b
cmp dword [ebp - 0x1f8], 0x10
lea eax, [ebp - 0x20c]
push 0xf
cmovae eax, dword [ebp - 0x20c]
push str.LoggerManager_
push ecx
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x300]
call fcn.00408460
lea eax, [ebp - 0x254]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x300]
call fcn.00405aa0
or edi, 0x7c
mov dword [ebp - 0x2a0], edi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x284], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x274], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x2ec]
cmp edx, 0x10
jb 0x40cb9e
mov ecx, dword [ebp - 0x300]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cb94
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
cmp dword [ebp - 0x17c], 0x10
lea eax, [ebp - 0x190]
mov dword [ebp - 0x2f0], 0
cmovae eax, dword [ebp - 0x190]
push eax
mov dword [ebp - 0x2ec], 0xf
mov byte [ebp - 0x300], 0
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x40cc8a
mov ecx, dword [ebp - 0x180]
mov eax, accept
sub eax, ecx
cmp eax, 6
jb 0x40e09b
cmp dword [ebp - 0x17c], 0x10
lea eax, [ebp - 0x190]
push ecx
cmovae eax, dword [ebp - 0x190]
lea ecx, [ebp - 0x1d8]
push eax
push 6
push str.mkdir
lea eax, [ebp - 0x190]
push eax
push dword [ebp - 0x2a4]
call fcn.00408460
or edi, 0x80
lea eax, [ebp - 0x1d8]
cmp dword [ebp - 0x1c4], 0x10
mov dword [ebp - 0x2a0], edi
cmovae eax, dword [ebp - 0x1d8]
push eax
call fcn.0047cf91
mov edx, dword [ebp - 0x1c4]
add esp, 4
cmp edx, 0x10
jb 0x40cc8a
mov ecx, dword [ebp - 0x1d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40cc80
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x1f0]
mov ecx, esp
push eax
call fcn.00405b60
lea ecx, [ebp - 0x174]
call fcn.00409600
lea eax, [ebp - 0x284]
mov byte [ebp - 4], 0x12
mov ecx, esp
push eax
call fcn.00405b60
lea ecx, [ebp - 0x144]
call fcn.00409600
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x144]
cmp dword [ebp - 0x130], 0x10
mov eax, dword [ebp - 0x144]
push dword [ebp - 0x134]
mov edi, dword [ebp - 0x174]
cmovae ecx, eax
cmp dword [ebp - 0x160], 0x10
mov dword [ebp - 0x2c0], eax
lea eax, [ebp - 0x174]
push ecx
push dword [ebp - 0x164]
cmovae eax, edi
push eax
call fcn.00413110
add esp, 0x28
test al, al
je 0x40ceab
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x130]
cmp eax, 0x10
jb 0x40cd5d
mov ecx, dword [ebp - 0x2c0]
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x40cd4d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
mov edi, dword [ebp - 0x174]
add esp, 8
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
cmp eax, 0x10
jb 0x40cdb2
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x40cda8
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push ecx
push edi
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x270]
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0xf
mov byte [ebp - 0x174], 0
cmp edx, 0x10
jb 0x40ce0b
mov ecx, dword [ebp - 0x284]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ce01
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x17c]
cmp edx, 0x10
jb 0x40ce49
mov ecx, dword [ebp - 0x190]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ce3f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
mov byte [ebp - 0x190], 0
cmp edx, 0x10
jb 0x40df74
mov ecx, dword [ebp - 0x1f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ce9c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
jmp 0x40df74
mov ecx, dword [ebp - 0x1e0]
mov eax, accept
sub eax, ecx
cmp eax, 8
jb 0x40e09b
cmp dword [ebp - 0x1dc], 0x10
lea eax, [ebp - 0x1f0]
push ecx
cmovae eax, dword [ebp - 0x1f0]
lea ecx, [ebp - 0x2bc]
push eax
push 8
push str.copy__Y
lea eax, [ebp - 0x1f0]
push eax
push dword [ebp - 0x2a4]
call fcn.00408460
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x2a8]
mov eax, edx
mov ecx, dword [ebp - 0x2ac]
sub eax, ecx
cmp eax, 1
jb 0x40cf36
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x2ac], eax
lea eax, [ebp - 0x2bc]
cmovae eax, dword [ebp - 0x2bc]
mov word [eax + ecx], 0x20
lea eax, [ebp - 0x2bc]
jmp 0x40cf57
push 1
push 0x4bb1bc
mov byte [ebp - 0x304], 0
lea ecx, [ebp - 0x2bc]
push dword [ebp - 0x304]
push 1
call fcn.00407fc0
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2dc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2cc], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x284]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x2dc]
call fcn.00405aa0
or dword [ebp - 0x2a0], 0x700
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x12c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x2c8]
cmp edx, 0x10
jb 0x40d041
mov ecx, dword [ebp - 0x2dc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d037
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
cmp edx, 0x10
jb 0x40d09a
mov ecx, dword [ebp - 0x2bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d090
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
cmp dword [ebp - 0x118], 0x10
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
push str.copy
call fcn.00401780
cmp dword [ebp - 0x118], 0x10
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
push eax
call fcn.0047cf91
mov edx, dword [ebp - 0x118]
add esp, 0xc
cmp edx, 0x10
jb 0x40d110
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d106
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x40d169
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d15f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0xf
mov byte [ebp - 0x144], 0
cmp edx, 0x10
jb 0x40d1c2
mov ecx, dword [ebp - 0x174]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d1b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x270]
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0xf
mov byte [ebp - 0x174], 0
cmp edx, 0x10
jb 0x40d21b
mov ecx, dword [ebp - 0x284]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d211
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x17c]
cmp edx, 0x10
jb 0x40d259
mov ecx, dword [ebp - 0x190]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d24f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
mov byte [ebp - 0x190], 0
cmp edx, 0x10
jb 0x40df74
mov ecx, dword [ebp - 0x1f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d2ac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
jmp 0x40df74
mov edi, dword [ebp - 0x240]
lea eax, [ebp - 0x254]
push 0xb
push 0x4bb2e0
push dword [ebp - 0x244]
cmp edi, 0x10
cmovae eax, dword [ebp - 0x254]
push eax
call fcn.00413110
add esp, 0x10
test al, al
jne 0x40df74
push 9
push str.Proxy.exe
push dword [ebp - 0x244]
cmp edi, 0x10
lea eax, [ebp - 0x254]
cmovae eax, dword [ebp - 0x254]
push eax
call fcn.00413110
add esp, 0x10
test al, al
je 0x40d93b
mov ecx, 1
mov dword [ebp - 0x2c0], ecx
nop dword [eax + eax]
cmp dword [ebp - 0x1f8], 0x10
lea eax, [ebp - 0x20c]
push ecx
cmovae eax, dword [ebp - 0x20c]
push eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x2c4], ecx
push str._s_d
push eax
call fcn.00407840
lea ecx, [ebp - 0x114]
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d370
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00406bb0
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x40d919
push 0xa
lea eax, [ebp - 0x178]
push eax
push dword [ebp - 0x2c0]
call fcn.0047b12f
mov ecx, dword [ebp - 0x1b0]
mov eax, accept
sub eax, ecx
add esp, 0xc
cmp eax, 6
jb 0x40e09b
cmp dword [ebp - 0x1ac], 0x10
lea eax, [ebp - 0x1c0]
push 6
cmovae eax, dword [ebp - 0x1c0]
push 0x4bb090
push ecx
push eax
lea eax, [ebp - 0x1c0]
push eax
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x2bc]
call fcn.00408460
lea edi, [ebp - 0x178]
mov byte [ebp - 4], 0x16
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40d410
mov edx, dword [ebp - 0x2a8]
sub edi, ecx
mov ecx, dword [ebp - 0x2ac]
mov eax, edx
sub eax, ecx
push edi
cmp edi, eax
ja 0x40d471
lea eax, [ecx + edi]
cmp edx, 0x10
mov dword [ebp - 0x2ac], eax
lea eax, [ebp - 0x2bc]
cmovae eax, dword [ebp - 0x2bc]
add eax, ecx
lea ecx, [ebp - 0x178]
push ecx
push eax
mov dword [ebp - 0x2e0], eax
call fcn.00473a90
mov eax, dword [ebp - 0x2e0]
add esp, 0xc
mov byte [eax + edi], 0
lea eax, [ebp - 0x2bc]
jmp 0x40d491
lea eax, [ebp - 0x178]
mov byte [ebp - 0x308], 0
push eax
push dword [ebp - 0x308]
lea ecx, [ebp - 0x2bc]
push edi
call fcn.00407fc0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x12c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x11c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x118]
mov eax, edx
mov ecx, dword [ebp - 0x11c]
sub eax, ecx
cmp eax, 4
jb 0x40d51d
lea eax, [ecx + 4]
cmp edx, 0x10
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x12c]
cmovae eax, dword [ebp - 0x12c]
mov dword [eax + ecx], 0x6578652e
mov byte [eax + ecx + 4], 0
lea eax, [ebp - 0x12c]
jmp 0x40d53e
push 4
push 0x4bb088
mov byte [ebp - 0x30c], 0
lea ecx, [ebp - 0x12c]
push dword [ebp - 0x30c]
push 4
call fcn.00407fc0
movups xmm0, xmmword [eax]
or dword [ebp - 0x2a0], 0x3800
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x194]
movq qword [ebp - 0x2e4], xmm1
movups xmmword [ebp - 0x188], xmm0
cmp edx, 0x10
jb 0x40d5b9
mov ecx, dword [ebp - 0x1a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d5a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
movups xmm0, xmmword [ebp - 0x188]
add esp, 8
movq xmm1, qword [ebp - 0x2e4]
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x118]
movq qword [ebp - 0x198], xmm1
movups xmmword [ebp - 0x1a8], xmm0
cmp edx, 0x10
jb 0x40d606
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d5fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
cmp edx, 0x10
jb 0x40d65f
mov ecx, dword [ebp - 0x2bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d655
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
cmp dword [ebp - 0x194], 0x10
lea ecx, [ebp - 0x1a8]
cmovae ecx, dword [ebp - 0x1a8]
call fcn.00403770
cmp dword [ebp - 0x148], 0x10
lea ecx, [ebp - 0x15c]
mov edi, eax
cmovae ecx, dword [ebp - 0x15c]
call fcn.00403770
cmp edi, eax
jge 0x40d919
mov ecx, dword [ebp - 0x14c]
mov eax, accept
sub eax, ecx
cmp eax, 8
jb 0x40e09b
cmp dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x15c]
push ecx
cmovae eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x2bc]
push eax
push 8
push str.copy__Y
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x2a4]
call fcn.00408460
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x2a8]
mov eax, edx
mov ecx, dword [ebp - 0x2ac]
sub eax, ecx
cmp eax, 1
jb 0x40d726
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x2ac], eax
lea eax, [ebp - 0x2bc]
cmovae eax, dword [ebp - 0x2bc]
mov word [eax + ecx], 0x20
lea eax, [ebp - 0x2bc]
jmp 0x40d747
push 1
push 0x4bb1bc
mov byte [ebp - 0x310], 0
lea ecx, [ebp - 0x2bc]
push dword [ebp - 0x310]
push 1
call fcn.00407fc0
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2dc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2cc], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x2dc]
call fcn.00405aa0
or dword [ebp - 0x2a0], 0x1c000
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x144], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x134], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x2c8]
cmp edx, 0x10
jb 0x40d831
mov ecx, dword [ebp - 0x2dc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d827
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
cmp edx, 0x10
jb 0x40d88a
mov ecx, dword [ebp - 0x2bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d880
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
cmp dword [ebp - 0x130], 0x10
lea eax, [ebp - 0x144]
cmovae eax, dword [ebp - 0x144]
push eax
push str.copy
call fcn.00401780
add esp, 8
xor edi, edi
nop
cmp dword [ebp - 0x130], 0x10
lea eax, [ebp - 0x144]
cmovae eax, dword [ebp - 0x144]
push eax
call fcn.0047cf91
add esp, 4
test eax, eax
je 0x40d8df
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 3
jl 0x40d8b0
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x40d919
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40d90f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov ecx, dword [ebp - 0x2c0]
inc ecx
cmp dword [ebp - 0x2c4], 0xff
mov dword [ebp - 0x2c0], ecx
jle 0x40d330
jmp 0x40df74
xor ecx, ecx
nop dword [eax]
cmp dword [ebp - 0x1f8], 0x10
lea eax, [ebp - 0x20c]
cmovae eax, dword [ebp - 0x20c]
inc ecx
push ecx
push eax
lea eax, [ebp - 0x114]
mov dword [ebp - 0x2c4], ecx
push str._s_d
push eax
call fcn.00407840
lea ecx, [ebp - 0x114]
add esp, 0x10
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d980
sub ecx, edx
lea eax, [ebp - 0x114]
push ecx
push eax
lea ecx, [ebp - 0x1c0]
call fcn.00406bb0
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x40df62
mov ecx, dword [ebp - 0x1b0]
mov eax, accept
sub eax, ecx
cmp eax, 1
jb 0x40e09b
cmp dword [ebp - 0x1ac], 0x10
lea eax, [ebp - 0x1c0]
push 1
cmovae eax, dword [ebp - 0x1c0]
push 0x4bafe0
push ecx
push eax
lea eax, [ebp - 0x1c0]
push eax
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x2bc]
call fcn.00408460
lea eax, [ebp - 0x254]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x2bc]
call fcn.00405aa0
movups xmm0, xmmword [eax]
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov edx, dword [ebp - 0x194]
movq qword [ebp - 0x2e4], xmm1
movups xmmword [ebp - 0x188], xmm0
cmp edx, 0x10
jb 0x40da83
mov ecx, dword [ebp - 0x1a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40da6a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
movups xmm0, xmmword [ebp - 0x188]
add esp, 8
movq xmm1, qword [ebp - 0x2e4]
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x2a8]
movq qword [ebp - 0x198], xmm1
movups xmmword [ebp - 0x1a8], xmm0
cmp edx, 0x10
jb 0x40dad0
mov ecx, dword [ebp - 0x2bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40dac6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x1a8]
mov ecx, esp
push eax
call fcn.00405b60
lea ecx, [ebp - 0x1d8]
call fcn.00409600
add esp, 0x18
mov byte [ebp - 4], 0x1b
mov eax, accept
mov ecx, dword [ebp - 0x1fc]
sub eax, ecx
cmp eax, 1
jb 0x40e09b
cmp dword [ebp - 0x1f8], 0x10
lea eax, [ebp - 0x20c]
push 1
cmovae eax, dword [ebp - 0x20c]
push 0x4bafe0
push ecx
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x2a4]
lea ecx, [ebp - 0x12c]
call fcn.00408460
sub esp, 0x18
mov byte [ebp - 4], 0x1c
mov edi, esp
lea eax, [ebp - 0x254]
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x2e0], edi
push eax
call fcn.00405aa0
or dword [ebp - 0x2a0], 0x1e0000
lea ecx, [ebp - 0x174]
mov dword [edi], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.00409600
add esp, 0x18
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x118]
cmp edx, 0x10
jb 0x40dbea
mov ecx, dword [ebp - 0x12c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40dbe0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
cmp dword [ebp - 0x160], 0x10
lea ecx, [ebp - 0x174]
push dword [ebp - 0x164]
mov edi, dword [ebp - 0x174]
lea eax, [ebp - 0x1d8]
cmovae ecx, edi
mov dword [ebp - 0x11c], 0
cmp dword [ebp - 0x1c4], 0x10
push ecx
cmovae eax, dword [ebp - 0x1d8]
push dword [ebp - 0x1c8]
mov dword [ebp - 0x118], 0xf
push eax
mov byte [ebp - 0x12c], 0
call fcn.00413110
add esp, 0x10
test al, al
jne 0x40decf
mov ecx, dword [ebp - 0x14c]
mov eax, accept
sub eax, ecx
cmp eax, 8
jb 0x40e09b
cmp dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x15c]
push ecx
cmovae eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x2bc]
push eax
push 8
push str.copy__Y
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x2a4]
call fcn.00408460
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x2a8]
mov eax, edx
mov ecx, dword [ebp - 0x2ac]
sub eax, ecx
cmp eax, 1
jb 0x40dcd8
lea eax, [ecx + 1]
cmp edx, 0x10
mov dword [ebp - 0x2ac], eax
lea eax, [ebp - 0x2bc]
cmovae eax, dword [ebp - 0x2bc]
mov word [eax + ecx], 0x20
lea eax, [ebp - 0x2bc]
jmp 0x40dcf9
push 1
push 0x4bb1bc
mov byte [ebp - 0x2a4], 0
lea ecx, [ebp - 0x2bc]
push dword [ebp - 0x2a4]
push 1
call fcn.00407fc0
mov dword [ebp - 0x2dc], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2dc], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2cc], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x2dc]
call fcn.00405aa0
or dword [ebp - 0x2a0], 0xe00000
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x144], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x134], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x1f
mov edx, dword [ebp - 0x2c8]
cmp edx, 0x10
jb 0x40dde3
mov ecx, dword [ebp - 0x2dc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ddd9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
cmp edx, 0x10
jb 0x40de3c
mov ecx, dword [ebp - 0x2bc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40de32
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
cmp dword [ebp - 0x130], 0x10
lea eax, [ebp - 0x144]
cmovae eax, dword [ebp - 0x144]
push eax
push str.copy
call fcn.00401780
add esp, 8
xor edi, edi
cmp dword [ebp - 0x130], 0x10
lea eax, [ebp - 0x144]
cmovae eax, dword [ebp - 0x144]
push eax
call fcn.0047cf91
add esp, 4
test eax, eax
je 0x40de8f
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 3
jl 0x40de60
mov edx, dword [ebp - 0x130]
cmp edx, 0x10
jb 0x40dec9
mov ecx, dword [ebp - 0x144]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40debf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov edi, dword [ebp - 0x174]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x160]
cmp eax, 0x10
jb 0x40df09
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x40deff
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push ecx
push edi
call fcn.00471ddf
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0xf
mov byte [ebp - 0x174], 0
cmp edx, 0x10
jb 0x40df62
mov ecx, dword [ebp - 0x1d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40df58
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov ecx, dword [ebp - 0x2c4]
cmp ecx, 0xff
jle 0x40d940
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x148]
cmp edx, 0x10
jb 0x40dfb2
mov ecx, dword [ebp - 0x15c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40dfa8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0xf
mov byte [ebp - 0x15c], 0
mov byte [ebp - 4], 2
call fcn.0040e0b0
mov eax, dword [ebp - 0x2e8]
add esi, 0x7c
cmp esi, dword [eax + 0x24]
je 0x40dff5
mov edi, dword [ebp - 0x2a0]
jmp 0x40c802
mov edx, dword [ebp - 0x194]
cmp edx, 0x10
jb 0x40e02f
mov ecx, dword [ebp - 0x1a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e025
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
cmp edx, 0x10
jb 0x40e080
mov ecx, dword [ebp - 0x1c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e076
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e0a0
push edx
push ecx
call fcn.00471ddf
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00471b4b
mov esp, ebp
pop ebp
ret
call fcn.004019d0
call fcn.0047caa2
int3