Function at 0x417610
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x692842
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x458
mov eax, dword [0x6ce36c]
xor eax, ebp
mov dword [ebp - 0x18], eax
mov eax, dword [0x6fa8a0]
and eax, 1
jne 0x41766e
mov ecx, dword [0x6fa8a0]
or ecx, 1
mov dword [0x6fa8a0], ecx
mov dword [ebp - 4], 0
push 0
call fcn.004dcfb0
add esp, 4
mov dword [0x6fa89c], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x6fa898]
add edx, 1
mov dword [0x6fa898], edx
push 0
call fcn.004dcfb0
add esp, 4
sub eax, dword [0x6fa89c]
cmp eax, 0x3e8
jl 0x4176b7
mov eax, dword [0x6fa898]
mov dword [0x6fa894], eax
mov dword [0x6fa898], 0
push 0
call fcn.004dcfb0
add esp, 4
mov dword [0x6fa89c], eax
xor edx, edx
je 0x417820
push 0
call fcn.00412ff0
add esp, 4
push eax
push 0
call fcn.004dcfb0
add esp, 4
sub eax, dword [0x6fa890]
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
fld dword [0x6fa880]
sub esp, 8
fstp qword [esp]
push 2
mov eax, dword [0x6f6400]
push eax
mov ecx, dword [0x6f63fc]
push ecx
mov ecx, 0x6f5908
call fcn.00455a20
push eax
push 1
mov edx, dword [0x6f6400]
push edx
mov eax, dword [0x6f63fc]
push eax
mov ecx, 0x6f5908
call fcn.00455a20
push eax
push 0
mov ecx, dword [0x6f6400]
push ecx
mov edx, dword [0x6f63fc]
push edx
mov ecx, 0x6f5908
call fcn.00455a20
push eax
mov eax, dword [0x6f6400]
push eax
mov ecx, dword [0x6f63fc]
push ecx
mov ecx, 0x6f5908
call fcn.00459a70
movzx edx, al
push edx
push 1
mov ecx, 0x6f63f0
call fcn.00453a10
push eax
push 1
mov ecx, 0x6f63f0
call fcn.00453970
push eax
mov eax, dword [0x6f6400]
push eax
mov ecx, dword [0x6f63fc]
push ecx
push 0x69b750
push 0xff
push 0xeb
push 0xeb
call fcn.004eb060
add esp, 0xc
push eax
push 0x1b6
push 0
call fcn.00510310
add esp, 0x40
push 0
push 1
call fcn.00401c50
add esp, 8
push eax
mov edx, dword [0x6f4374]
push edx
mov ecx, 0x6f4364
call fcn.0049e800
mov eax, dword [eax]
push eax
mov ecx, dword [0x6f4374]
push ecx
mov ecx, 0x6f4354
call fcn.004a05a0
movzx edx, byte [eax]
push edx
mov eax, dword [0x6f4374]
push eax
mov ecx, 0x6f4354
call fcn.0049e430
push eax
push str.LogCount__d__d___d__key_d_Seed_d
push 0xff
push 0xeb
push 0xeb
call fcn.004eb060
add esp, 0xc
push eax
push 0x1b6
push 0
call fcn.00510310
add esp, 0x24
movzx ecx, byte [0x6f236c]
test ecx, ecx
je 0x4178a6
mov eax, dword [0x6f4378]
xor edx, edx
mov ecx, 0xe10
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0x3c
div ecx
push eax
mov eax, dword [0x6f4378]
xor edx, edx
mov ecx, 0x34bc0
div ecx
mov eax, edx
xor edx, edx
mov ecx, 0xe10
div ecx
push eax
mov eax, dword [0x6f4378]
xor edx, edx
mov ecx, 0xe10
div ecx
xor edx, edx
mov ecx, 0x3c
div ecx
push eax
push str._.2i:_.2i:_.2i
push 0xff
push 0xeb
push 0xeb
call fcn.004eb060
add esp, 0xc
push eax
push 0x1cc
push 0x212
call fcn.00510310
add esp, 0x1c
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0x14]
push eax
call fcn.004dcd10
add esp, 8
cmp dword [0x6f40c4], 0
jne 0x4178cd
mov ecx, dword [0x6f40c4]
cmp ecx, dword [0x6ce2a0]
jne 0x4178d6
cmp dword [0x6f40c4], 0xfffffff6
jne 0x417920
mov ecx, dword [0x6f582c]
call fcn.0049cd70
push eax
mov ecx, dword [0x6f580c]
call fcn.0049cd70
push eax
push 0x69b7d4
lea edx, [ebp - 0x11c]
push edx
call fcn.004cb929
add esp, 0x10
lea eax, [ebp - 0x11c]
push eax
call fcn.004df820
add esp, 4
mov dword [0x6f40c4], 0
jmp 0x417cdc
cmp dword [0x6f40c4], 1
je 0x417936
cmp dword [0x6f40c4], 0xfffffff5
jne 0x417cdc
cmp dword [0x6f2368], 0
je 0x417bf8
mov dword [0x6f40c4], 1
mov ecx, dword [0x6fa87c]
add ecx, dword [0x6f40d0]
mov dword [0x6fa87c], ecx
mov eax, dword [0x6fa898]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x417bf3
push 0x69b7fc
lea ecx, [ebp - 0x13c]
call fcn.0049cab0
mov dword [ebp - 4], 1
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x148], 0
jmp 0x4179b0
mov edx, dword [ebp - 0x148]
add edx, 1
mov dword [ebp - 0x148], edx
cmp dword [ebp - 0x148], 5
jge 0x4179fd
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x140]
cmp ecx, dword [eax*4 + 0x6f40d8]
jle 0x4179dc
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x430], edx
jmp 0x4179ef
mov eax, dword [ebp - 0x148]
mov ecx, dword [eax*4 + 0x6f40d8]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x430]
mov dword [ebp - 0x140], edx
jmp 0x4179a1
mov dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x140]
push eax
push 0x69b800
lea ecx, [ebp - 0x11c]
push ecx
call fcn.004cb929
add esp, 0xc
lea edx, [ebp - 0x11c]
push edx
lea ecx, [ebp - 0x13c]
call fcn.0049cb70
mov dword [ebp - 0x14c], 0
jmp 0x417a4f
mov eax, dword [ebp - 0x14c]
add eax, 1
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x14c]
cmp ecx, dword [ebp - 0x140]
jge 0x417b0b
cmp dword [ebp - 0x120], 0x14
jle 0x417a6f
jmp 0x417b0b
cmp dword [ebp - 0x14c], 0x19
jle 0x417aab
mov eax, dword [ebp - 0x14c]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x417aa9
push 0x69b804
lea ecx, [ebp - 0x13c]
call fcn.0049cb70
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
jmp 0x417b06
cmp dword [ebp - 0x14c], 0xa
jge 0x417ad5
push 0x69b808
lea ecx, [ebp - 0x13c]
call fcn.0049cb70
mov eax, dword [ebp - 0x120]
add eax, 1
mov dword [ebp - 0x120], eax
jmp 0x417b06
mov eax, dword [ebp - 0x14c]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x417b06
push 0x69b80c
lea ecx, [ebp - 0x13c]
call fcn.0049cb70
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
jmp 0x417a40
mov dword [ebp - 0x144], 1
mov eax, dword [0x6f5764]
movsx ecx, byte [eax]
cmp ecx, 0x10
jne 0x417b2c
mov dword [ebp - 0x144], 2
cmp dword [0x6f5448], 0
jne 0x417b41
mov dword [ebp - 0x434], str.NoSkip
jmp 0x417b6c
cmp dword [0x6f5448], 1
jne 0x417b56
mov dword [ebp - 0x438], str.Skipx2
jmp 0x417b60
mov dword [ebp - 0x438], str.Skipx3
mov edx, dword [ebp - 0x438]
mov dword [ebp - 0x434], edx
lea ecx, [ebp - 0x13c]
call fcn.0049cd70
push eax
mov eax, dword [ebp - 0x10]
cdq
idiv dword [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x14]
cdq
idiv dword [ebp - 0x144]
push eax
call fcn.004ea840
push eax
push 0
call fcn.00412ff0
add esp, 4
push eax
mov eax, dword [ebp - 0x434]
push eax
mov ecx, dword [0x6f40ec]
push ecx
mov edx, dword [0x6fa894]
push edx
push str.FPS_
lea eax, [ebp - 0x11c]
push eax
call fcn.004cb929
add esp, 0x28
mov dword [0x6fa87c], 0
lea ecx, [ebp - 0x11c]
push ecx
call fcn.004df820
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.0049caf0
jmp 0x417cdc
push 0
call fcn.00412ff0
add esp, 4
mov dword [ebp - 0x150], eax
mov edx, dword [0x6f40c4]
cmp edx, dword [0x6ce2a0]
jne 0x417c43
mov eax, dword [0x6fa894]
cmp eax, dword [0x6ce29c]
jne 0x417c43
mov ecx, dword [ebp - 0x150]
cmp ecx, dword [0x6ce298]
jne 0x417c43
mov edx, dword [0x6ce294]
cmp edx, dword [0x6f5448]
je 0x417cdc
cmp dword [0x6f5448], 0
jne 0x417c58
mov dword [ebp - 0x43c], 0x69b86c
jmp 0x417c83
cmp dword [0x6f5448], 1
jne 0x417c6d
mov dword [ebp - 0x440], 0x69b884
jmp 0x417c77
mov dword [ebp - 0x440], 0x69b89c
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp - 0x43c]
push ecx
mov edx, dword [ebp - 0x150]
push edx
mov eax, dword [0x6fa894]
push eax
push 0x69b8b4
lea ecx, [ebp - 0x11c]
push ecx
call fcn.004cb929
add esp, 0x14
lea edx, [ebp - 0x11c]
push edx
call fcn.004df820
add esp, 4
mov eax, dword [0x6fa894]
mov dword [0x6ce29c], eax
mov ecx, dword [ebp - 0x150]
mov dword [0x6ce298], ecx
mov edx, dword [0x6f5448]
mov dword [0x6ce294], edx
cmp dword [0x6f2368], 0
je 0x41884a
movzx eax, byte [0x6f3c22]
test eax, eax
je 0x41884a
push 0xff
push 0xff
push 0xff
call fcn.004eaf10
add esp, 0xc
push 0xb4
push 1
call fcn.004eaea0
add esp, 8
push 1
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
mov ecx, dword [0x6ce21c]
push ecx
mov edx, dword [0x6ce218]
push edx
push 0
push 0
call fcn.00504ee0
add esp, 0x18
push 0xff
push 0
call fcn.004eaea0
add esp, 8
movzx eax, byte [0x6ce290]
test eax, eax
je 0x417d77
push 0
call fcn.00510040
add esp, 4
push 0xc
call fcn.0050ffc0
add esp, 4
mov dword [ebp - 0x164], 0
mov ecx, 0x6f6240
call fcn.00451630
push eax
call fcn.004ea840
push eax
mov ecx, 0x6f3b8c
call fcn.0049d450
push eax
mov ecx, 0x6f5830
call fcn.004a3eb0
push eax
push 0x69b8e8
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x164]
push ecx
push 0
call fcn.00510310
add esp, 0x20
mov edx, dword [ebp - 0x164]
add edx, 0x16
mov dword [ebp - 0x164], edx
push 0x69b930
push 0x78
push 0x78
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov eax, dword [ebp - 0x164]
push eax
push 0
call fcn.00510310
add esp, 0x10
mov ecx, dword [ebp - 0x164]
add ecx, 0xc
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x290], 0
jmp 0x417e37
mov edx, dword [ebp - 0x290]
add edx, 1
mov dword [ebp - 0x290], edx
mov ecx, 0x6f3b8c
call fcn.0049d450
cmp dword [ebp - 0x290], eax
jge 0x417ed1
mov eax, dword [ebp - 0x290]
push eax
mov ecx, 0x6f3b8c
call fcn.0049d4e0
push eax
lea ecx, [ebp - 0x2ac]
call fcn.0049ca60
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2ac]
call fcn.0049cd70
push eax
push 0x69b940
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x164]
push ecx
push 0
call fcn.00510310
add esp, 0x14
mov edx, dword [ebp - 0x164]
add edx, 0xc
mov dword [ebp - 0x164], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2ac]
call fcn.0049caf0
jmp 0x417e28
mov eax, dword [ebp - 0x164]
add eax, 0xc
mov dword [ebp - 0x164], eax
push 0x69b944
push 0x78
push 0x78
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x164]
push ecx
push 0
call fcn.00510310
add esp, 0x10
mov edx, dword [ebp - 0x164]
add edx, 0xc
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x2b0], 0
jmp 0x417f3c
mov eax, dword [ebp - 0x2b0]
add eax, 1
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 3
jge 0x41803f
mov dword [ebp - 0x2b4], 0
jmp 0x417f64
mov ecx, dword [ebp - 0x2b4]
add ecx, 1
mov dword [ebp - 0x2b4], ecx
mov edx, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2b4]
cmp eax, dword [edx*4 + 0x6f4310]
jge 0x41803a
lea ecx, [ebp - 0x2b4]
push ecx
mov ecx, dword [ebp - 0x2b0]
imul ecx, ecx, 0xc
add ecx, 0x6f6240
call fcn.0049d060
mov edx, dword [eax]
mov dword [ebp - 0x2b8], edx
cmp dword [ebp - 0x2b8], 0
je 0x418035
push 0
push 0
mov eax, dword [ebp - 0x2b4]
push eax
mov ecx, dword [ebp - 0x2b0]
add ecx, 1
push ecx
lea edx, [ebp - 0x2d4]
push edx
mov ecx, 0x6f3b00
call fcn.0044c570
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x2d4]
call fcn.0049cd70
push eax
push 0x69b954
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov eax, dword [ebp - 0x164]
push eax
push 0
call fcn.00510310
add esp, 0x14
mov ecx, dword [ebp - 0x164]
add ecx, 0xc
mov dword [ebp - 0x164], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d4]
call fcn.0049caf0
jmp 0x417f55
jmp 0x417f2d
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x2dc], 0
jmp 0x418064
mov edx, dword [ebp - 0x2dc]
add edx, 1
mov dword [ebp - 0x2dc], edx
cmp dword [ebp - 0x2dc], 2
jge 0x418128
lea eax, [ebp - 0x2e0]
push eax
mov ecx, dword [ebp - 0x2dc]
imul ecx, ecx, 0xc
add ecx, 0x6f3b74
call fcn.0049d810
lea ecx, [ebp - 0x418]
push ecx
mov ecx, dword [ebp - 0x2dc]
imul ecx, ecx, 0xc
add ecx, 0x6f3b74
call fcn.004a84f0
push eax
lea ecx, [ebp - 0x2e0]
call fcn.004ba760
movzx edx, al
test edx, edx
je 0x418123
lea ecx, [ebp - 0x2e0]
call fcn.004a2c50
mov ecx, eax
call fcn.0049cd70
push eax
push 0x69b958
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov eax, dword [ebp - 0x164]
push eax
push 0
call fcn.00510310
add esp, 0x14
mov ecx, dword [ebp - 0x164]
add ecx, 0xc
mov dword [ebp - 0x164], ecx
push 0
lea edx, [ebp - 0x41c]
push edx
lea ecx, [ebp - 0x2e0]
call fcn.004b9530
jmp 0x41808c
jmp 0x418055
mov dword [ebp - 0x164], 0x20
push 0x69b95c
push 0x78
push 0x78
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov eax, dword [ebp - 0x164]
push eax
push 0x140
call fcn.00510310
add esp, 0x10
mov dword [ebp - 0x164], 0x20
lea ecx, [ebp - 0x158]
push ecx
mov ecx, 0x6f4b30
call fcn.0049d810
lea edx, [ebp - 0x420]
push edx
mov ecx, 0x6f4b30
call fcn.004a84f0
push eax
lea ecx, [ebp - 0x158]
call fcn.004ba760
movzx eax, al
test eax, eax
je 0x41822c
lea ecx, [ebp - 0x158]
call fcn.004af550
push eax
lea ecx, [ebp - 0x2fc]
call fcn.0049ca60
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x2fc]
call fcn.0049cd70
push eax
push 0x69b970
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x164]
push ecx
push 0x140
call fcn.00510310
add esp, 0x14
lea ecx, [ebp - 0x158]
call fcn.004b9510
mov edx, dword [ebp - 0x164]
add edx, 0xc
mov dword [ebp - 0x164], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2fc]
call fcn.0049caf0
jmp 0x418178
mov dword [ebp - 0x160], 0
push 0x78
push 1
call fcn.004eaea0
add esp, 8
push 1
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
mov eax, dword [0x6ce21c]
push eax
mov ecx, dword [0x6ce218]
push ecx
push 0x12c
push 0
call fcn.00504ee0
add esp, 0x18
push 0xff
push 0
call fcn.004eaea0
add esp, 8
mov dword [ebp - 0x164], 0x12c
mov dword [ebp - 0x300], 0
jmp 0x4182a3
mov edx, dword [ebp - 0x300]
add edx, 1
mov dword [ebp - 0x300], edx
mov ecx, 0x6f5830
call fcn.004a3eb0
cmp dword [ebp - 0x300], eax
jge 0x41834c
mov eax, dword [ebp - 0x300]
push eax
mov ecx, 0x6f5830
call fcn.004a3f10
mov ecx, dword [eax + 0x24c]
push ecx
push 0x69b974
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov edx, dword [ebp - 0x164]
push edx
mov eax, dword [ebp - 0x160]
push eax
call fcn.00510310
add esp, 0x14
mov ecx, dword [ebp - 0x160]
add ecx, 0x3c
mov dword [ebp - 0x160], ecx
cmp dword [ebp - 0x300], 0
je 0x418347
mov eax, dword [ebp - 0x300]
cdq
mov ecx, 0xa
idiv ecx
test edx, edx
jne 0x418347
mov edx, dword [ebp - 0x164]
add edx, 0xc
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x160], 0
jmp 0x418294
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x164], 0x19f
push 0x69b978
push 0x78
push 0x78
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov eax, dword [ebp - 0x164]
push eax
push 0
call fcn.00510310
add esp, 0x10
mov ecx, dword [ebp - 0x160]
add ecx, 0x78
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x304], 0
jmp 0x4183b2
mov edx, dword [ebp - 0x304]
add edx, 1
mov dword [ebp - 0x304], edx
mov ecx, 0x6f6188
call fcn.004a3ac0
cmp dword [ebp - 0x304], eax
jge 0x41846a
mov eax, dword [ebp - 0x304]
push eax
mov ecx, 0x6f6188
call fcn.004a3b20
add eax, 4
mov ecx, eax
call fcn.004a2f70
movzx ecx, al
test ecx, ecx
jne 0x418440
mov edx, dword [ebp - 0x304]
push edx
mov ecx, 0x6f6188
call fcn.004a3b20
mov eax, dword [eax]
push eax
push 0x69b98c
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov ecx, dword [ebp - 0x164]
push ecx
mov edx, dword [ebp - 0x160]
push edx
call fcn.00510310
add esp, 0x14
mov eax, dword [ebp - 0x160]
add eax, 0x28
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0x258
jle 0x418465
mov ecx, dword [ebp - 0x164]
add ecx, 0xc
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x160], 0
jmp 0x4183a3
mov edx, dword [ebp - 0x164]
add edx, 0xf
mov dword [ebp - 0x164], edx
push 0x69b990
push 0x78
push 0x78
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov eax, dword [ebp - 0x164]
push eax
push 0
call fcn.00510310
add esp, 0x10
mov dword [ebp - 0x16c], 0x6f4b40
lea ecx, [ebp - 0x188]
call fcn.0049ca30
mov dword [ebp - 4], 5
mov dword [ebp - 0x160], 0x78
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + 0x808], 0
je 0x4186e3
mov edx, 1
test edx, edx
je 0x4186e3
mov dword [ebp - 0x154], 0
mov ecx, dword [ebp - 0x16c]
add ecx, 0x28
call fcn.004a2f30
test eax, eax
je 0x418521
mov dword [ebp - 0x154], 1
mov eax, dword [ebp - 0x16c]
cmp dword [eax + 0x18], 0xffffffff
je 0x418547
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx + 0x18]
push edx
call fcn.00403420
add esp, 4
mov dword [ebp - 0x444], eax
jmp 0x418551
mov dword [ebp - 0x444], 0x69b9a1
mov eax, dword [ebp - 0x16c]
cmp dword [eax + 0x18], 0xffffffff
je 0x418569
mov dword [ebp - 0x448], 0x69b9a4
jmp 0x418573
mov dword [ebp - 0x448], 0x69b9a9
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + 0x14], 0xffffffff
je 0x418599
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x14]
push eax
call fcn.00403420
add esp, 4
mov dword [ebp - 0x44c], eax
jmp 0x4185a3
mov dword [ebp - 0x44c], 0x69b9aa
mov ecx, dword [ebp - 0x16c]
cmp dword [ecx + 0x14], 0xffffffff
je 0x4185bb
mov dword [ebp - 0x450], 0x69b9ac
jmp 0x4185c5
mov dword [ebp - 0x450], 0x69b9af
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx + 8]
sub eax, dword [ebp - 0x154]
push eax
mov ecx, dword [ebp - 0x444]
push ecx
mov edx, dword [ebp - 0x448]
push edx
mov eax, dword [ebp - 0x44c]
push eax
mov ecx, dword [ebp - 0x450]
push ecx
push str.__s_s_s_s__d
lea edx, [ebp - 0x11c]
push edx
call fcn.004cb929
add esp, 0x1c
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x188]
call fcn.0049cb70
mov ecx, dword [ebp - 0x16c]
add ecx, 0x28
call fcn.004a2f30
test eax, eax
jne 0x41862e
jmp 0x4186e3
push 0
mov ecx, dword [ebp - 0x16c]
add ecx, 0x28
call fcn.004a2f90
mov dword [ebp - 0x16c], eax
push 0x69b9c0
lea ecx, [ebp - 0x188]
call fcn.0049cb70
mov ecx, dword [ebp - 0x15c]
add ecx, 1
mov dword [ebp - 0x15c], ecx
cmp dword [ebp - 0x15c], 4
jl 0x4186de
lea ecx, [ebp - 0x188]
call fcn.0049cd70
push eax
push 0x69b9c8
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov edx, dword [ebp - 0x164]
push edx
mov eax, dword [ebp - 0x160]
push eax
call fcn.00510310
add esp, 0x14
mov dword [ebp - 0x160], 0xa
mov ecx, dword [ebp - 0x164]
add ecx, 0xc
mov dword [ebp - 0x164], ecx
push 0x69b9cb
lea ecx, [ebp - 0x188]
call fcn.0049cb30
mov dword [ebp - 0x15c], 0
jmp 0x4184ee
lea ecx, [ebp - 0x188]
call fcn.0049cd70
push eax
push 0x69b9cc
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
mov edx, dword [ebp - 0x164]
push edx
mov eax, dword [ebp - 0x160]
push eax
call fcn.00510310
add esp, 0x14
lea ecx, [ebp - 0x28c]
push ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov edx, dword [0x6fa8a0]
and edx, 2
jne 0x41876b
mov eax, dword [0x6fa8a0]
or eax, 2
mov dword [0x6fa8a0], eax
mov byte [ebp - 4], 6
mov ecx, 0x6fa860
call fcn.0049ca30
push 0x6981b0
call fcn.004ccfbd
add esp, 4
mov byte [ebp - 4], 5
mov ecx, 0x6fa860
call fcn.0049cdd0
movzx ecx, al
test ecx, ecx
jne 0x418827
mov ecx, 0x6fa860
call fcn.0049cd70
push eax
lea edx, [ebp - 0x28c]
push edx
call fcn.004cb990
add esp, 8
test eax, eax
je 0x418827
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x424], esp
lea eax, [ebp - 0x28c]
push eax
call fcn.0049cab0
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x454]
mov dword [ebp - 0x458], ecx
mov byte [ebp - 4], 7
mov ecx, 0x6fa860
call fcn.0049cd70
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x428], esp
push eax
call fcn.0049cab0
mov dword [ebp - 0x45c], eax
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0x460], edx
mov byte [ebp - 4], 8
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x42c], esp
push str.Draw_Help
call fcn.0049cab0
mov dword [ebp - 0x464], eax
mov byte [ebp - 4], 5
call fcn.0040ffb0
add esp, 0x54
lea eax, [ebp - 0x28c]
push eax
mov ecx, 0x6fa860
call fcn.0049cb30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x188]
call fcn.0049caf0
mov ecx, dword [0x6f40c4]
mov dword [0x6ce2a0], ecx
mov edx, dword [0x6fa894]
mov dword [0x6f53fc], edx
xor eax, eax
je 0x41891c
push 0xff
push 0
call fcn.004eaea0
add esp, 8
mov ecx, dword [0x6f3bc8]
push ecx
movzx edx, byte [0x6f3bb3]
push edx
movzx eax, byte [0x6f3bb2]
push eax
movzx ecx, byte [0x6f3bb1]
push ecx
movzx edx, byte [0x6f3bb0]
push edx
push 0x69ba10
lea eax, [ebp - 0x414]
push eax
call fcn.004cb929
add esp, 0x1c
mov ecx, dword [0x6f3bc8]
push ecx
movzx edx, byte [0x6f3ba6]
push edx
movzx eax, byte [0x6f3ba5]
push eax
movzx ecx, byte [0x6f3ba4]
push ecx
movzx edx, byte [0x6f3ba3]
push edx
push str._d__d__d__d_D8_d
lea eax, [ebp - 0x414]
push eax
call fcn.004cb929
add esp, 0x1c
push 0
push 0xff
push 0xff
push 0xff
call fcn.004eb060
add esp, 0xc
push eax
lea ecx, [ebp - 0x414]
push ecx
push 0
push 0
call fcn.00510660
add esp, 0x14
mov edx, dword [0x6fa88c]
mov dword [0x6fa890], edx
mov eax, dword [0x6fa888]
mov dword [0x6fa88c], eax
mov ecx, dword [0x6fa884]
mov dword [0x6fa888], ecx
push 0
call fcn.004dcfb0
add esp, 4
mov dword [0x6fa884], eax
push 0
call fcn.004dcfb0
add esp, 4
sub eax, dword [0x6fa890]
cdq
and edx, 3
add eax, edx
sar eax, 2
cdq
mov ecx, 5
idiv ecx
imul eax, eax, 5
add eax, 5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004cac87
mov esp, ebp
pop ebp
ret