Function at 0x4181a0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4afa49
mov eax, dword fs:[0]
push eax
sub esp, 0x6e0
mov eax, dword [str._o86]
xor eax, ebp
mov dword [ebp - 0x60], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x69c], ecx
mov ecx, dword [ebp - 0x69c]
call fcn.0047eaa2
mov eax, dword [ebp - 0x69c]
mov dword [eax + 0x4c6df0], 0xa
push 0
mov ecx, dword [ebp - 0x69c]
call fcn.00451fe0
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x418270
lea ecx, [ebp - 0x170]
call fcn.0040fe00
mov dword [ebp - 4], 0
push 0x65
lea ecx, [ebp - 0x170]
call fcn.00410030
lea ecx, [ebp - 0x170]
call fcn.0040e620
movzx ecx, al
test ecx, ecx
jne 0x41825e
push 0
push 0
push 0x800
mov ecx, dword [ebp - 0x34]
call fcn.00451f50
lea ecx, [ebp - 0x170]
call fcn.0040ff40
push eax
push 0x10
push 0
mov ecx, dword [ebp - 0x34]
call fcn.00451f50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x170]
call fcn.0040fec0
push 1
mov edx, dword [ebp - 0x69c]
mov eax, dword [edx + 0x594c84]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.004520e0
push 0
mov ecx, dword [ebp - 0x69c]
mov edx, dword [ecx + 0x594c84]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.004520e0
lea eax, [ebp - 0x16c]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [ebp - 0x16c]
push ecx
mov ecx, dword [ebp - 0x69c]
add ecx, 0x4c6de0
call fcn.0040ff00
call fcn.0040fd30
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x50]
call fcn.00479b1e
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00479b1e
mov byte [ebp - 4], 2
lea edx, [ebp - 0x50]
push edx
push ecx
mov eax, esp
mov dword [ebp - 0x66c], esp
push str.lish
mov ecx, dword [ebp - 0x58]
add ecx, 0xbc
push ecx
push eax
call fcn.0040e470
add esp, 0xc
mov dword [ebp - 0x6a0], eax
call fcn.00402610
add esp, 8
lea ecx, [ebp - 0x50]
call fcn.0040fb60
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], 0
lea ecx, [ebp - 0x30]
call fcn.0040fc50
push 0x3fa
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
xor eax, eax
je 0x418ef3
push 0x448
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50300001
mov ecx, dword [ebp - 0x69c]
add ecx, 0x4e4354
call fcn.0048743d
push 0x429
mov ecx, dword [ebp - 0x69c]
add ecx, 0x4e4354
call fcn.00452eb0
mov edx, dword [ebp - 0x69c]
mov dword [edx + 0x501870], 2
mov ecx, dword [ebp - 0x69c]
add ecx, 0x4e4354
call fcn.0046aaa0
push 0x495
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50300001
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5018ac
call fcn.0048743d
push 0x429
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5018ac
call fcn.00452eb0
mov ecx, dword [ebp - 0x69c]
mov dword [ecx + 0x51edc8], 3
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5018ac
call fcn.0046aaa0
push 0x4c0
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov ecx, dword [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x50300001
mov ecx, dword [ebp - 0x69c]
add ecx, 0x51ee04
call fcn.0048743d
push 0x429
mov ecx, dword [ebp - 0x69c]
add ecx, 0x51ee04
call fcn.00452eb0
mov eax, dword [ebp - 0x69c]
mov dword [eax + 0x53c320], 3
mov ecx, dword [ebp - 0x69c]
add ecx, 0x51ee04
call fcn.0046aaa0
push 0x509
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50300001
mov ecx, dword [ebp - 0x69c]
add ecx, 0x53c35c
call fcn.0048743d
push 0x429
mov ecx, dword [ebp - 0x69c]
add ecx, 0x53c35c
call fcn.00452eb0
mov edx, dword [ebp - 0x69c]
mov dword [edx + 0x559878], 3
mov ecx, dword [ebp - 0x69c]
add ecx, 0x53c35c
call fcn.0046aaa0
push 0x53c
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50300001
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5598b4
call fcn.0048743d
push 0x429
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5598b4
call fcn.00452eb0
mov ecx, dword [ebp - 0x69c]
mov dword [ecx + 0x576dd0], 3
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5598b4
call fcn.0046aaa0
push 0x543
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov ecx, dword [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x50300001
mov ecx, dword [ebp - 0x69c]
add ecx, 0x576e0c
call fcn.0048743d
push 0x429
mov ecx, dword [ebp - 0x69c]
add ecx, 0x576e0c
call fcn.00452eb0
mov eax, dword [ebp - 0x69c]
mov dword [eax + 0x594328], 3
mov ecx, dword [ebp - 0x69c]
add ecx, 0x576e0c
call fcn.0046aaa0
push 0x3fe
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594364
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594364
call fcn.00452e30
push 0x403
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov ecx, dword [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x50a11444
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5943d0
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5943d0
call fcn.00452e30
push 0x407
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x59443c
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x59443c
call fcn.00452e30
push 0x408
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5944a8
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5944a8
call fcn.00452e30
push 0x40a
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov ecx, dword [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594580
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594580
call fcn.00452e30
push 0x41e
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5946c4
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5946c4
call fcn.00452e30
push 0x41f
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594730
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594730
call fcn.00452e30
push 0x420
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov ecx, dword [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x50a11444
mov ecx, dword [ebp - 0x69c]
add ecx, 0x59479c
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x59479c
call fcn.00452e30
push 0x42e
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594808
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594808
call fcn.00452e30
push 0
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594808
call fcn.00481111
push 0
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594514
call fcn.00481111
push 0x496
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594874
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594874
call fcn.00452e30
push 0x498
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov ecx, dword [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5948e0
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5948e0
call fcn.00452e30
push 0x514
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50a11444
mov ecx, dword [ebp - 0x69c]
add ecx, 0x59494c
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x59494c
call fcn.00452e30
push 0x516
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50a11444
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5949b8
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5949b8
call fcn.00452e30
push 0x519
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov ecx, dword [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x50a11444
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594a24
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594a24
call fcn.00452e30
push 0x555
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50a11444
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594a90
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594a90
call fcn.00452e30
push 0x557
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50a11444
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594afc
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594afc
call fcn.00452e30
push 0x559
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov ecx, dword [ebp - 0x69c]
push ecx
lea edx, [ebp - 0x30]
push edx
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594b68
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594b68
call fcn.00452e30
push 0x55d
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594bd4
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594bd4
call fcn.00452e30
push 0x447
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50300001
mov ecx, dword [ebp - 0x69c]
add ecx, 0x4c6dfc
call fcn.0048743d
push 0x429
mov ecx, dword [ebp - 0x69c]
add ecx, 0x4c6dfc
call fcn.00452eb0
mov edx, dword [ebp - 0x69c]
mov dword [edx + 0x4e4318], 1
mov ecx, dword [ebp - 0x69c]
add ecx, 0x4c6dfc
call fcn.0046aaa0
push 0x40b
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5945ec
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5945ec
call fcn.00452e30
push 0x41d
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov eax, dword [ebp - 0x69c]
push eax
lea ecx, [ebp - 0x30]
push ecx
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594658
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594658
call fcn.00452e30
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x69c]
mov dword [edx + 0xe4], eax
push 0x445
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov ecx, dword [ebp - 0x69c]
mov dword [ecx + 0x5946b4], eax
mov edx, dword [ebp - 0x69c]
mov dword [edx + 0x5946b0], 5
push 1
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594658
call fcn.00452e60
push 0x409
mov ecx, dword [ebp - 0x69c]
call fcn.00480f30
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x54]
call fcn.00452030
push 0
mov ecx, dword [ebp - 0x54]
call fcn.00481111
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x69c]
call fcn.00480737
push 1
mov edx, dword [ebp - 0x69c]
push edx
lea eax, [ebp - 0x30]
push eax
push 0x50b114c4
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594514
call fcn.004873bf
push 0x7fffffff
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594514
call fcn.00452e30
push 0
mov ecx, dword [ebp - 0x69c]
add ecx, 0x594514
call fcn.00481111
push 0x4ba848
mov ecx, dword [ebp - 0x69c]
add ecx, 0x595064
call fcn.00452a10
push 0x4ba850
mov ecx, dword [ebp - 0x69c]
add ecx, 0x595064
call fcn.00452a10
push 0x4ba858
mov ecx, dword [ebp - 0x69c]
add ecx, 0x595064
call fcn.00452a10
push 0
mov ecx, dword [ebp - 0x69c]
add ecx, 0x595064
call fcn.00452220
push 0x4ba860
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5950b8
call fcn.00452a10
push 0
mov ecx, dword [ebp - 0x69c]
add ecx, 0x5950b8
call fcn.00452220
push ecx
mov ecx, esp
mov dword [ebp - 0x670], esp
push 0x4ba868
mov edx, dword [ebp - 0x58]
add edx, 0xbc
push edx
push ecx
call fcn.0040e470
add esp, 0xc
mov dword [ebp - 0x6a4], eax
lea eax, [ebp - 0x674]
push eax
call fcn.00402300
add esp, 8
mov dword [ebp - 0x6a8], eax
mov ecx, dword [ebp - 0x6a8]
mov dword [ebp - 0x6ac], ecx
mov ecx, dword [ebp - 0x6ac]
call fcn.0040ff40
push eax
call fcn.0049ac36
add esp, 4
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x674]
call fcn.0040fec0
cmp dword [ebp - 0x5c], 0
jl 0x419252
mov ecx, dword [ebp - 0x69c]
add ecx, 0x595064
call fcn.0040fd70
cmp dword [ebp - 0x5c], eax
jge 0x419252
mov edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x69c]
add ecx, 0x595064
call fcn.00452220
mov ecx, dword [ebp - 0x69c]
call fcn.0041a960
mov eax, dword [ebp - 0x69c]
mov dword [eax + 0x2fa0], 1
mov ecx, dword [ebp - 0x69c]
call fcn.00441360
mov ecx, dword [ebp - 0x69c]
mov byte [ecx + 0x4c6dcc], 0
push 0
mov ecx, dword [ebp - 0x69c]
call fcn.0041b9f0
mov edx, 1
test edx, edx
je 0x4199bd
lea eax, [ebp - 0x678]
push eax
mov ecx, dword [ebp - 0x69c]
call fcn.0043f2e0
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x6b0]
mov dword [ebp - 0x6b4], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x6b4]
push edx
mov ecx, dword [ebp - 0x58]
add ecx, 0xc4
call fcn.0040fee0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x678]
call fcn.0040fec0
push ecx
mov eax, esp
mov dword [ebp - 0x67c], esp
push 0x4ba870
mov ecx, dword [ebp - 0x58]
add ecx, 0xbc
push ecx
push eax
call fcn.0040e470
add esp, 0xc
mov dword [ebp - 0x6b8], eax
lea edx, [ebp - 0x63c]
push edx
call fcn.00402300
add esp, 8
mov dword [ebp - 0x6bc], eax
mov byte [ebp - 4], 4
lea eax, [ebp - 0x63c]
push eax
lea ecx, [ebp - 0x680]
push ecx
call fcn.0040a120
add esp, 8
mov dword [ebp - 0x6c0], eax
mov edx, dword [ebp - 0x6c0]
mov dword [ebp - 0x6c4], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x6c4]
push eax
mov ecx, dword [ebp - 0x58]
add ecx, 0xc0
call fcn.0040fee0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x680]
call fcn.0040fec0
push str.200000000000
mov ecx, dword [ebp - 0x58]
add ecx, 0xc0
push ecx
call fcn.0040e540
add esp, 8
movzx edx, al
test edx, edx
je 0x4193b0
push 0x4ba888
push 0x52b
mov ecx, dword [ebp - 0x69c]
call fcn.00480fda
jmp 0x41940e
mov eax, dword [ebp - 0x58]
add eax, 0xc0
push eax
push 0x4ba894
lea ecx, [ebp - 0x684]
push ecx
call fcn.00453040
add esp, 0xc
mov dword [ebp - 0x6c8], eax
mov edx, dword [ebp - 0x6c8]
mov dword [ebp - 0x6cc], edx
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x6cc]
call fcn.0040ff40
push eax
push 0x52b
mov ecx, dword [ebp - 0x69c]
call fcn.00480fda
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x684]
call fcn.0040fec0
mov dword [ebp - 0x65c], 0
mov dword [ebp - 0x658], 0
mov dword [ebp - 0x654], 0
push 3
lea eax, [ebp - 0x65c]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x688], esp
lea edx, [ebp - 0x63c]
push edx
call fcn.0040fe20
mov dword [ebp - 0x6d0], eax
call fcn.00401ff0
add esp, 0xc
lea ecx, [ebp - 0x188]
call fcn.00479b1e
mov byte [ebp - 4], 7
push 0x2a
lea eax, [ebp - 0x188]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x68c], esp
lea edx, [ebp - 0x63c]
push edx
call fcn.0040fe20
mov dword [ebp - 0x6d4], eax
call fcn.004081e0
add esp, 0xc
push 0x4b7bd6
lea ecx, [ebp - 0x188]
call fcn.0040fba0
push 0x4b7bd7
lea ecx, [ebp - 0x188]
call fcn.0040fba0
push 0x4b7beb
lea ecx, [ebp - 0x188]
call fcn.0040fba0
push 0x4b7bef
lea ecx, [ebp - 0x188]
call fcn.0040fba0
push 0x4b7bf9
lea ecx, [ebp - 0x188]
call fcn.0040fba0
push 0x4b7bfa
lea ecx, [ebp - 0x188]
call fcn.0040fba0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x194], 0
jmp 0x419518
mov eax, dword [ebp - 0x194]
add eax, 1
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0xa
jge 0x419533
xor ecx, ecx
mov edx, dword [ebp - 0x194]
mov word [ebp + edx*2 - 0x4a8], cx
jmp 0x419509
mov dword [ebp - 0x194], 0
jmp 0x41954e
mov eax, dword [ebp - 0x194]
add eax, 1
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 0xa
jge 0x419569
xor ecx, ecx
mov edx, dword [ebp - 0x194]
mov word [ebp + edx*2 - 0x4d0], cx
jmp 0x41953f
lea eax, [ebp - 0x4a8]
push eax
push 3
lea ecx, [ebp - 0x188]
call fcn.0040fc00
push ecx
mov ecx, esp
mov dword [ebp - 0x690], esp
push eax
call fcn.0040fe20
mov dword [ebp - 0x6d8], eax
call fcn.00409bc0
add esp, 8
lea ecx, [ebp - 0x4d0]
push ecx
push 4
lea ecx, [ebp - 0x188]
call fcn.0040fc00
push ecx
mov ecx, esp
mov dword [ebp - 0x694], esp
push eax
call fcn.0040fe20
mov dword [ebp - 0x6dc], eax
call fcn.00409bc0
add esp, 8
push 0
lea ecx, [ebp - 0x494]
call fcn.00459ac0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x494]
call fcn.0045a330
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x660], edx
lea ecx, [ebp - 0x494]
call fcn.0045a350
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x4bc], edx
lea ecx, [ebp - 0x494]
call fcn.0045a370
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x4d4], edx
mov edx, dword [ebp - 0x65c]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x644], eax
mov ecx, dword [ebp - 0x658]
mov dword [ebp - 0x640], ecx
mov edx, dword [ebp - 0x660]
mov dword [ebp - 0x4b8], edx
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x4d4]
mov dword [ebp - 0x668], ecx
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x190], 0
mov edx, dword [ebp - 0x644]
imul edx, dword [ebp - 0x4d4]
mov dword [ebp - 0x190], edx
push 0
lea ecx, [ebp - 0x634]
call fcn.00457f50
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x658]
imul eax, dword [ebp - 0x640]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x174]
imul ecx, dword [ebp - 0x660]
add ecx, dword [ebp - 0x190]
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x65c]
imul edx, dword [ebp - 0x174]
add edx, dword [ebp - 0x18c]
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x654]
imul eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x190]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x654]
imul ecx, dword [ebp - 0x644]
add ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x65c]
imul edx, dword [ebp - 0x4b8]
add edx, dword [ebp - 0x190]
mov dword [ebp - 0x190], edx
mov eax, dword [ebp - 0x4d4]
imul eax, dword [ebp - 0x668]
add eax, dword [ebp - 0x18c]
mov dword [ebp - 0x18c], eax
mov ecx, dword [ebp - 0x658]
imul ecx, dword [ebp - 0x638]
add ecx, dword [ebp - 0x190]
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x638]
imul edx, dword [ebp - 0x4bc]
add edx, dword [ebp - 0x18c]
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x640]
imul eax, dword [ebp - 0x4bc]
add eax, dword [ebp - 0x190]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x4b8]
imul ecx, dword [ebp - 0x660]
add ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x660]
imul edx, edx, 0x2710
mov eax, dword [ebp - 0x4d4]
lea eax, [edx + eax + 0x64c]
cdq
mov ecx, 0x3dcc500
idiv ecx
mov dword [ebp - 0x198], edx
mov edx, dword [ebp - 0x4bc]
imul edx, edx, 0x2710
mov eax, dword [ebp - 0x660]
lea eax, [edx + eax + 0x4b9]
cdq
mov ecx, 0x3dcc500
idiv ecx
mov dword [ebp - 0x664], edx
mov ecx, dword [ebp - 0x58]
add ecx, 0xc0
call fcn.0040ff40
push eax
call fcn.0049ac41
add esp, 4
mov esi, eax
mov edi, edx
mov ecx, dword [ebp - 0x58]
add ecx, 0xc4
call fcn.0040ff40
push eax
call fcn.0049ac41
add esp, 4
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x4b4], esi
mov dword [ebp - 0x4b0], edi
mov edx, dword [ebp - 0x4b4]
mov eax, dword [ebp - 0x69c]
mov dword [eax + 0x4c6dd0], edx
mov ecx, dword [ebp - 0x69c]
cmp dword [ecx + 0x4c6dd0], 0x28
jle 0x419875
mov edx, dword [ebp - 0x69c]
mov dword [edx + 0x4c6dd0], 0x28
mov eax, dword [ebp - 0x69c]
cmp dword [eax + 0x4c6dd0], 0xa
jge 0x419894
mov ecx, dword [ebp - 0x69c]
mov dword [ecx + 0x4c6dd0], 0xa
mov edx, dword [ebp - 0x18c]
sub edx, dword [ebp - 0x190]
cmp edx, 0xcf6d3aa
jne 0x41996c
lea eax, [ebp - 0x4a8]
push eax
lea ecx, [ebp - 0x634]
call fcn.00458290
cmp eax, dword [ebp - 0x198]
jne 0x41996c
lea ecx, [ebp - 0x4d0]
push ecx
lea ecx, [ebp - 0x634]
call fcn.00458290
cmp eax, dword [ebp - 0x664]
jne 0x41996c
mov ecx, dword [ebp - 0x58]
add ecx, 0xc0
call fcn.0040ff40
push eax
call fcn.0049ac41
add esp, 4
mov esi, eax
mov edi, edx
mov ecx, dword [ebp - 0x58]
add ecx, 0xc4
call fcn.0040ff40
push eax
call fcn.0049ac41
add esp, 4
mov dword [ebp - 0x6e4], esi
mov dword [ebp - 0x6e0], edi
mov dword [ebp - 0x6ec], eax
mov dword [ebp - 0x6e8], edx
mov edx, dword [ebp - 0x6e0]
cmp edx, dword [ebp - 0x6e8]
jl 0x41996c
jg 0x419950
mov eax, dword [ebp - 0x6e4]
cmp eax, dword [ebp - 0x6ec]
jb 0x41996c
mov ecx, dword [ebp - 0x69c]
mov byte [ecx + 0x4c6dcc], 1
push 1
mov ecx, dword [ebp - 0x69c]
call fcn.0041b9f0
jmp 0x419981
push 0x4ba8a0
push 0x52b
mov ecx, dword [ebp - 0x69c]
call fcn.00480fda
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x634]
call fcn.00457ff0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x494]
call fcn.00459b70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x188]
call fcn.00479fec
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x63c]
call fcn.0040fec0
mov ecx, dword [ebp - 0x69c]
call fcn.0041ab60
push 1
mov ecx, dword [ebp - 0x69c]
call fcn.00483b29
mov edx, dword [ebp - 0x69c]
mov dword [edx + 0x5951a0], 0
push 0
mov ecx, dword [ebp - 0x69c]
call fcn.00483b29
mov dword [ebp - 0x698], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.00479fec
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00479fec
mov eax, dword [ebp - 0x698]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x60]
xor ecx, ebp
call fcn.0049a6da
mov esp, ebp
pop ebp
ret