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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44bf9d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa5c
mov dword [ebp - 0xa54], ecx
lea ecx, [ebp - 0x534]
call fcn.00404590
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x477c], 0x32
push 0x45c1f4
mov ecx, dword [ebp - 0xa54]
add ecx, 0x350c
push ecx
push 0x45c200
lea edx, [ebp - 0x42c]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x42c]
push eax
push 0x45c208
call fcn.00401000
add esp, 8
lea ecx, [ebp - 0x42c]
push ecx
mov edx, dword [ebp - 0xa54]
add edx, 0x1880
push edx
call fcn.0042a2c0
add esp, 8
lea eax, [ebp - 0x42c]
push eax
push 0xff
mov ecx, dword [ebp - 0xa54]
add ecx, 0x2b8c
push ecx
push 0x467db8
push 0x45c21c
push 0x45c228
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x42c]
push edx
push 0xff
mov eax, dword [ebp - 0xa54]
add eax, 0x2d8c
push eax
push 0x467dbc
push 0x45c230
push 0x45c234
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x42c]
push ecx
push 0xff
mov edx, dword [ebp - 0xa54]
add edx, 0x2c8c
push edx
push 0x467dc0
push 0x45c23c
push 0x45c248
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x42c]
push eax
push 0x200
mov ecx, dword [ebp - 0xa54]
add ecx, 0x2e0c
push ecx
push 0x467dc4
push 0x45c250
push 0x45c258
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [ebp - 0xa54]
add edx, 0x2b8c
push edx
mov eax, dword [ebp - 0xa54]
add eax, 0x2c8c
push eax
mov ecx, dword [ebp - 0xa54]
add ecx, 0x2e0c
push ecx
push 0x45c260
mov edx, dword [ebp - 0xa54]
add edx, 0x3a8c
push edx
call fcn.0042ada4
add esp, 0x14
push 0x45c26c
mov eax, dword [ebp - 0xa54]
add eax, 0x2c8c
push eax
call fcn.0042ad20
add esp, 8
test eax, eax
jne 0x401949
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x2784], 1
lea edx, [ebp - 0x42c]
push edx
push 0xffffffffffffffff
push 0x45c274
push 0x45c27c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x3c98], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0x3c98], 0xffffffff
jne 0x40198d
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x3c98], 0
lea ecx, [ebp - 0x42c]
push ecx
push 0xffffffffffffffff
push 0x45c284
push 0x45c294
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x3c9c], eax
mov eax, dword [ebp - 0xa54]
cmp dword [eax + 0x3c9c], 0xffffffff
jne 0x4019d1
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x3c9c], 0
lea edx, [ebp - 0x42c]
push edx
push 0xffffffffffffffff
push 0x45c29c
push 0x45c2a8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x3ca0], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0x3ca0], 0xffffffff
jne 0x401a15
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x3ca0], 0
lea ecx, [ebp - 0x42c]
push ecx
push 0xffffffffffffffff
push 0x45c2b0
push 0x45c2c8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0xa54]
cmp dword [eax + 0x28], 0xffffffff
jne 0x401a50
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x28], 0
lea edx, [ebp - 0x42c]
push edx
push 0xff
mov eax, dword [ebp - 0xa54]
add eax, 0x300c
push eax
push 0x467dc8
push 0x45c2d0
push 0x45c2d8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x42c]
push ecx
push 0xff
mov edx, dword [ebp - 0xa54]
add edx, 0x310c
push edx
push 0x467dcc
push 0x45c2e4
push 0x45c2f0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x42c]
push eax
push 0xff
mov ecx, dword [ebp - 0xa54]
add ecx, 0x320c
push ecx
push 0x467dd0
push 0x45c2fc
push 0x45c308
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [ebp - 0xa54]
add edx, 0x300c
push edx
mov eax, dword [ebp - 0xa54]
add eax, 0x320c
push eax
push 0x45c314
mov ecx, dword [ebp - 0xa54]
add ecx, 0x320c
push ecx
call fcn.0042ada4
add esp, 0x10
lea edx, [ebp - 0x42c]
push edx
push 0xff
mov eax, dword [ebp - 0xa54]
add eax, 0x278c
push eax
push 0x467dd4
push 0x45c31c
push 0x45c32c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x42c]
push ecx
push 0
push 0x45c338
push 0x45c34c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x3c8c], eax
lea eax, [ebp - 0x42c]
push eax
push 0
push 0x45c350
push 0x45c364
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x3ca4], eax
lea edx, [ebp - 0x42c]
push edx
push 0
push 0x45c368
push 0x45c378
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x3c90], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0x3c90], 0
ja 0x401bc7
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x3c90], 0x4b
mov ecx, dword [ebp - 0xa54]
cmp dword [ecx + 0x3ca4], 0
je 0x401c95
lea edx, [ebp - 0x42c]
push edx
push 0xff
mov eax, dword [ebp - 0xa54]
add eax, 0x3cb4
push eax
push 0x467dd8
push 0x45c37c
push 0x45c388
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x42c]
push ecx
push 0xff
lea edx, [ebp - 0x530]
push edx
push 0x467ddc
push 0x45c390
push 0x45c394
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x10
push 0
lea eax, [ebp - 0x530]
push eax
call fcn.0042aae8
add esp, 0xc
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x3db4], eax
lea edx, [ebp - 0x42c]
push edx
push 0xff
lea eax, [ebp - 0x530]
push eax
push 0x467de0
push 0x45c39c
push 0x45c3a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x10
push 0
lea ecx, [ebp - 0x530]
push ecx
call fcn.0042aae8
add esp, 0xc
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x3db8], eax
lea eax, [ebp - 0x42c]
push eax
push 0
push 0x45c3a8
push 0x45c3b8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x3ca8], eax
lea edx, [ebp - 0x42c]
push edx
push 0
push 0x45c3c0
push 0x45c3c8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x4774], eax
lea edx, [ebp - 0x42c]
push edx
push 0xffffffffffffffff
push 0x45c3d0
push 0x45c3e4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x3c94], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0x3c94], 0xffffffff
jne 0x401d23
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x3c94], 1
lea ecx, [ebp - 0x42c]
push ecx
push 0xffffffffffffffff
push 0x45c3ec
push 0x45c400
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x4778], eax
mov eax, dword [ebp - 0xa54]
cmp dword [eax + 0x4778], 0xffffffff
jne 0x401d67
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x4778], 1
lea edx, [ebp - 0x42c]
push edx
push 0xffffffffffffffff
push 0x45c408
push 0x45c41c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x34], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0x34], 0xffffffff
jne 0x401da2
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x34], 0
lea ecx, [ebp - 0x42c]
push ecx
push 0xffffffffffffffff
push 0x45c424
push 0x45c438
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x24], eax
mov eax, dword [ebp - 0xa54]
cmp dword [eax + 0x24], 0xffffffff
jne 0x401ddd
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x24], 0
lea edx, [ebp - 0x42c]
push edx
push 0xffffffffffffffff
push 0x45c440
push 0x45c454
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x20], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0x20], 0xffffffff
jne 0x401e18
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x20], 1
lea ecx, [ebp - 0x42c]
push ecx
push 0xffffffffffffffff
push 0x45c45c
push 0x45c46c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 0xa54]
cmp dword [eax + 0x1c], 0xffffffff
jne 0x401e53
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x1c], 0
lea edx, [ebp - 0x42c]
push edx
push 0xffffffffffffffff
push 0x45c474
push 0x45c480
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x4780], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0x4780], 0xffffffff
jne 0x401e97
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x4780], 0
lea ecx, [ebp - 0x42c]
push ecx
push 0xffffffffffffffff
push 0x45c488
push 0x45c490
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x1878], eax
lea eax, [ebp - 0x42c]
push eax
push 0xff
mov ecx, dword [ebp - 0xa54]
add ecx, 0x1675
push ecx
push 0x467de4
push 0x45c494
push 0x45c4a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x42c]
push edx
push 0xff
mov eax, dword [ebp - 0xa54]
add eax, 0x1775
push eax
push 0x467de8
push 0x45c4a4
push 0x45c4b4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x42c]
push ecx
push 0xff
mov edx, dword [ebp - 0xa54]
add edx, 0x1575
push edx
push 0x467dec
push 0x45c4b8
push 0x45c4bc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
ja 0x401f62
push 0x45c4c0
mov eax, dword [ebp - 0xa54]
add eax, 0x1575
push eax
call fcn.0042a2c0
add esp, 8
lea ecx, [ebp - 0x42c]
push ecx
push 0xff
mov edx, dword [ebp - 0xa54]
add edx, 0x1375
push edx
push 0x467df0
push 0x45c4d4
push 0x45c4e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
ja 0x401fad
push 0x45c4e4
mov eax, dword [ebp - 0xa54]
add eax, 0x1575
push eax
call fcn.0042a2c0
add esp, 8
lea ecx, [ebp - 0x42c]
push ecx
push 0x400
mov edx, dword [ebp - 0xa54]
add edx, 0xf75
push edx
push 0x467df4
push 0x45c4f0
push 0x45c4fc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0xa54]
add eax, 0x1675
push eax
call fcn.0042a790
add esp, 4
test eax, eax
jbe 0x40203d
lea ecx, [ebp - 0x638]
push ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, dword [ebp - 0xa54]
add edx, 0x1775
push edx
lea eax, [ebp - 0x638]
push eax
call fcn.0042a2d0
add esp, 8
lea ecx, [ebp - 0x638]
push ecx
mov edx, dword [ebp - 0xa54]
add edx, 0x1775
push edx
call fcn.0042a2c0
add esp, 8
lea eax, [ebp - 0x42c]
push eax
push 0xff
mov ecx, dword [ebp - 0xa54]
add ecx, 0x1475
push ecx
push 0x467df8
push 0x45c500
push 0x45c510
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
ja 0x402089
push 0x467dfc
mov edx, dword [ebp - 0xa54]
add edx, 0x1475
push edx
call fcn.0042a2c0
add esp, 8
mov eax, dword [ebp - 0xa54]
cmp dword [eax + 0x1878], 0xffffffff
jne 0x4020a8
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x1878], 0
mov edx, dword [ebp - 0xa54]
add edx, 0x1775
push edx
mov eax, dword [ebp - 0xa54]
mov ecx, dword [eax + 0x1878]
push ecx
push 0x45c514
call fcn.00401000
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
push 0xffffffffffffffff
push 0x45c52c
push 0x45c53c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x187c], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0x187c], 0xffffffff
jne 0x402113
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x187c], 0
push 0xff
push 0
lea ecx, [ebp - 0x530]
push ecx
call fcn.0042aa90
add esp, 0xc
lea edx, [ebp - 0x42c]
push edx
push 0xff
lea eax, [ebp - 0x530]
push eax
push 0x467e00
push 0x45c544
push 0x45c54c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x530]
push ecx
lea ecx, [ebp - 0x534]
call fcn.0043e01c
mov ecx, dword [ebp - 0xa54]
call fcn.004038a4
lea edx, [ebp - 0x42c]
push edx
push 0xffffffffffffffff
push 0x45c554
push 0x45c560
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0xd70], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0xd70], 0xffffffff
jne 0x4021b2
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0xd70], 1
lea ecx, [ebp - 0x42c]
push ecx
push 0xffffffffffffffff
push 0x45c568
push 0x45c578
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x3cac], eax
mov eax, dword [ebp - 0xa54]
cmp dword [eax + 0x3cac], 0xffffffff
jne 0x4021f6
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x3cac], 1
lea edx, [ebp - 0x42c]
push edx
push 0x3ff
mov eax, dword [ebp - 0xa54]
add eax, 0x1f84
push eax
push 0x467e04
push 0x45c580
push 0x45c590
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x42c]
push ecx
push 0x3ff
mov edx, dword [ebp - 0xa54]
add edx, 0x2384
push edx
push 0x467e08
push 0x45c598
push 0x45c5a8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x42c]
push eax
push 0xff
mov ecx, dword [ebp - 0xa54]
add ecx, 0x446c
push ecx
push 0x467e0c
push 0x45c5b0
push 0x45c5b8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x42c]
push edx
push 0x3ff
mov eax, dword [ebp - 0xa54]
add eax, 0x3f6c
push eax
push 0x467e10
push 0x45c5c0
push 0x45c5cc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x42c]
push ecx
push 0
push 0x45c5d4
push 0x45c5e4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x476c], eax
lea eax, [ebp - 0x42c]
push eax
push 0
push 0x45c5ec
push 0x45c5f4
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x4770], eax
lea edx, [ebp - 0x42c]
push edx
push 0xff
lea eax, [ebp - 0x530]
push eax
push 0x467e14
push 0x45c5fc
push 0x45c608
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x530]
push ecx
mov edx, dword [ebp - 0xa54]
add edx, 0x350c
push edx
push 0x45c610
mov eax, dword [ebp - 0xa54]
add eax, 0x1a80
push eax
call fcn.0042ada4
add esp, 0x10
lea ecx, [ebp - 0x42c]
push ecx
push 0xff
mov edx, dword [ebp - 0xa54]
add edx, 0x1c84
push edx
push 0x467e18
push 0x45c618
push 0x45c620
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [ebp - 0xa54]
call fcn.0040289c
test eax, eax
je 0x4023e1
mov eax, dword [ebp - 0xa54]
add eax, 0x288c
push eax
call fcn.0042a790
add esp, 4
test eax, eax
jne 0x4023e1
lea ecx, [ebp - 0x42c]
push ecx
push 0xa
lea edx, [ebp - 0x644]
push edx
push 0x467e1c
push 0x45c624
push 0x45c630
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x644]
push eax
mov ecx, dword [ebp - 0xa54]
add ecx, 0x288c
push ecx
call fcn.0042a2c0
add esp, 8
lea edx, [ebp - 0x42c]
push edx
push 0xffffffffffffffff
push 0x45c63c
push 0x45c64c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x2c], eax
mov edx, dword [ebp - 0xa54]
cmp dword [edx + 0x2c], 0xffffffff
jne 0x40241c
mov eax, dword [ebp - 0xa54]
mov dword [eax + 0x2c], 0
lea ecx, [ebp - 0x42c]
push ecx
push 0xffffffffffffffff
push 0x45c658
push 0x45c670
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0xa54]
cmp dword [eax + 0x30], 0xffffffff
jne 0x402457
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x30], 0x2710
lea ecx, [ebp - 0x214]
call fcn.00404590
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xa54]
add edx, 0x288c
push edx
mov eax, dword [ebp - 0xa54]
add eax, 0x350c
push eax
push 0x45c67c
mov ecx, dword [ebp - 0xa54]
add ecx, 0x330c
push ecx
call fcn.0042ada4
add esp, 0x10
mov edx, dword [ebp - 0xa54]
add edx, 0x330c
push edx
push 0x45c694
call fcn.00401000
add esp, 8
lea eax, [ebp - 0x32c]
push eax
mov ecx, dword [ebp - 0xa54]
add ecx, 0x330c
push ecx
call fcn.0042a93e
add esp, 8
mov dword [ebp - 0x538], eax
cmp dword [ebp - 0x538], 0xffffffff
jne 0x40252d
mov edx, dword [ebp - 0xa54]
add edx, 0x310c
push edx
mov eax, dword [ebp - 0xa54]
add eax, 0x350c
push eax
push 0x45c6ac
mov ecx, dword [ebp - 0xa54]
add ecx, 0x330c
push ecx
call fcn.0042ada4
add esp, 0x10
push 0x45c6c4
mov edx, dword [ebp - 0xa54]
add edx, 0x288c
push edx
call fcn.0042a2c0
add esp, 8
jmp 0x40253c
mov eax, dword [ebp - 0x538]
push eax
call fcn.0042aa0b
add esp, 4
mov ecx, dword [ebp - 0xa54]
add ecx, 0x350c
push ecx
push 0x45c6c8
lea edx, [ebp - 0x20c]
push edx
call fcn.0042ada4
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push 0x45c6d4
call fcn.00401000
add esp, 8
push 0x45c6f4
lea ecx, [ebp - 0x534]
call fcn.0043cb31
test eax, eax
jl 0x4025ed
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0042a790
add esp, 4
test eax, eax
jbe 0x4025e8
lea edx, [ebp - 0x32c]
push edx
lea eax, [ebp - 0x20c]
push eax
call fcn.0042a93e
add esp, 8
mov dword [ebp - 0x538], eax
cmp dword [ebp - 0x538], 0xffffffff
jne 0x4025cc
mov ecx, dword [ebp - 0xa54]
mov dword [ecx + 0x14], 0
jmp 0x4025d9
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x14], 1
mov eax, dword [ebp - 0x538]
push eax
call fcn.0042aa0b
add esp, 4
jmp 0x4026f7
push 0x45c6f8
lea ecx, [ebp - 0x534]
call fcn.0043cb31
test eax, eax
jl 0x40264c
lea ecx, [ebp - 0x844]
push ecx
push 0x200
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x45c700
lea edx, [ebp - 0x844]
push edx
call fcn.0042a2d0
add esp, 8
lea eax, [ebp - 0x844]
push eax
mov ecx, dword [ebp - 0xa54]
add ecx, 0xc
call fcn.0043e01c
mov ecx, dword [ebp - 0xa54]
call fcn.00404336
jmp 0x4026f7
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0042a790
add esp, 4
test eax, eax
jbe 0x4026f7
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x14], 1
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0042a93e
add esp, 8
mov dword [ebp - 0x538], eax
cmp dword [ebp - 0x538], 0xffffffff
jne 0x4026e8
mov edx, dword [ebp - 0xa54]
mov dword [edx + 0x14], 0
lea eax, [ebp - 0xa44]
push eax
push 0x200
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x45c710
lea ecx, [ebp - 0xa44]
push ecx
call fcn.0042a2d0
add esp, 8
lea edx, [ebp - 0xa44]
push edx
mov ecx, dword [ebp - 0xa54]
add ecx, 0xc
call fcn.0043e01c
mov ecx, dword [ebp - 0xa54]
call fcn.00404336
mov eax, dword [ebp - 0x538]
push eax
call fcn.0042aa0b
add esp, 4
lea ecx, [ebp - 0x430]
call fcn.00404590
mov byte [ebp - 4], 2
push 0x45c720
lea ecx, [ebp - 0x210]
call fcn.0043df01
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x430]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0xa48], esp
lea edx, [ebp - 0x210]
push edx
call fcn.0043dc08
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0xa58]
mov dword [ebp - 0xa5c], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0xa54]
add ecx, 0x3a8c
push ecx
mov edx, esp
mov dword [ebp - 0xa4c], esp
push ecx
mov ecx, edx
call fcn.0043df01
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0xa54]
mov byte [ebp - 4], 3
call fcn.0040317f
mov dword [ebp - 0xa64], eax
cmp dword [ebp - 0xa64], 0
jne 0x4027a6
mov eax, dword [ebp - 0xa54]
add eax, 0x3a8c
push eax
push 0x45c72c
call fcn.00401000
add esp, 8
push 0x200
push 0
mov ecx, dword [ebp - 0xa54]
add ecx, 0x298c
push ecx
call fcn.0042aa90
add esp, 0xc
lea ecx, [ebp - 0x430]
call fcn.00404610
cmp eax, 0x200
jae 0x4027e7
lea ecx, [ebp - 0x430]
call fcn.00404610
mov dword [ebp - 0xa68], eax
jmp 0x4027f1
mov dword [ebp - 0xa68], 0x1ff
mov edx, dword [ebp - 0xa68]
push edx
lea ecx, [ebp - 0x430]
call fcn.00404600
push eax
mov eax, dword [ebp - 0xa54]
add eax, 0x298c
push eax
call fcn.0042a840
add esp, 0xc
mov ecx, dword [ebp - 0xa54]
add ecx, 0x350c
push ecx
push 0x45c764
mov edx, dword [ebp - 0xa54]
add edx, 0x370c
push edx
call fcn.0042ada4
add esp, 0xc
mov dword [ebp - 0xa50], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x210]
call fcn.0043de93
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x430]
call fcn.0043de93
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x214]
call fcn.0043de93
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x534]
call fcn.0043de93
mov eax, dword [ebp - 0xa50]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret