Function at 0x40535c
Capabilities:
Accept command line arguments
Get common file path
Resume thread

Disassembly:
push 0xf70
mov eax, 0x42543c
call fcn.00411623
mov dword [ebp - 0xf64], ecx
mov edi, 0x400
push edi
lea eax, [ebp - 0xc24]
xor ebx, ebx
push eax
push ebx
mov dword [ebp - 0xf60], ecx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x44
lea eax, [ebp - 0xdf8]
push ebx
push eax
call fcn.0040fd40
add esp, 0xc
lea eax, [ebp - 0x424]
push eax
push 0x104
mov dword [ebp - 0xf5c], 0x42d39c
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x21c]
push eax
push ebx
push 0x42cb4c
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov eax, dword [0x433258]
mov ecx, 0x433258
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0xf54], esi
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 2
test eax, 0xffff0000
jne 0x405427
movzx ecx, ax
call fcn.00402088
test eax, eax
je 0x405439
lea edx, [ebp - 0x21c]
movzx ecx, dx
push ecx
push eax
lea ecx, [ebp - 0xf54]
call fcn.00407f3a
jmp 0x405433
push eax
lea ecx, [ebp - 0xf54]
call fcn.00406b68
mov esi, dword [ebp - 0xf54]
lea ecx, [esi - 0x10]
call fcn.004021a3
jmp 0x405462
mov dword [ebp - 4], ebx
mov byte [ebp - 4], 4
push ecx
lea ecx, [ebp - 0xcfc]
mov dword [ebp - 0xd0c], 0x42d4d8
mov dword [ebp - 0xc74], ebx
mov dword [ebp - 0xc70], ebx
mov dword [ebp - 0xc6c], ebx
mov dword [ebp - 0xc64], ebx
mov dword [ebp - 0xc60], ebx
call fcn.004058c0
sub esp, 0xc
lea eax, [ebp - 0xc24]
push eax
lea ecx, [ebp - 0xd0c]
call fcn.00406106
push 2
push ecx
push ecx
lea ecx, [ebp - 0xd0c]
mov byte [ebp - 4], 5
call fcn.00405f62
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0xd0c]
call fcn.00406040
mov ecx, eax
push ebx
mov eax, dword [ecx + 8]
add eax, dword [ecx]
push ecx
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
push ecx
lea ecx, [ebp - 0xd0c]
mov dword [ebp - 0xf5c], eax
call fcn.00405f62
cmp dword [ebp - 0xf5c], edi
jge 0x405612
push ecx
lea ecx, [ebp - 0xf50]
call fcn.00405892
push ecx
push ecx
push 0x20
push esi
lea ecx, [ebp - 0xf50]
call fcn.0040698c
lea ecx, [ebp - 0xcfc]
mov byte [ebp - 4], 6
call fcn.00406c41
test eax, eax
jne 0x405562
mov eax, dword [ebp - 0xd0c]
lea ecx, [ebp - 0xd0c]
mov eax, dword [eax + 4]
add ecx, eax
push ebx
mov edx, dword [ecx + 0xc]
or edx, 2
mov eax, edx
or eax, 4
cmp dword [ecx + 0x38], ebx
cmove edx, eax
push edx
call fcn.00404939
lea ecx, [ebp - 0xf50]
call fcn.00406aaf
push ecx
lea ecx, [ebp - 0xdb4]
call fcn.00405892
push ecx
push ecx
push 0xa
push esi
lea ecx, [ebp - 0xdb4]
call fcn.0040698c
mov byte [ebp - 4], 7
mov dword [ebp - 0xf54], edi
mov esi, edi
push 0x42d3ac
call fcn.004100c0
pop ecx
dec esi
jne 0x405595
dec dword [ebp - 0xf54]
jne 0x405593
push dword [ebp - 0xf5c]
lea ecx, [ebp - 0xdb4]
call fcn.00405e82
lea ecx, [ebp - 0xdb4]
call fcn.00406aaf
lea ecx, [ebp - 0xd54]
mov byte [ebp - 4], 6
call fcn.00406a6c
lea eax, [ebp - 0xd54]
mov esi, 0x42d30c
push eax
mov dword [ebp - 0xd54], esi
call fcn.0040c25d
pop ecx
lea ecx, [ebp - 0xef0]
mov byte [ebp - 4], 5
call fcn.00406a6c
lea eax, [ebp - 0xef0]
push eax
mov dword [ebp - 0xef0], esi
call fcn.0040c25d
pop ecx
jmp 0x405617
mov esi, 0x42d30c
lea ecx, [ebp - 0xc9c]
mov byte [ebp - 4], 4
call fcn.004061c0
lea eax, [ebp - 0xc9c]
push eax
mov dword [ebp - 0xc9c], esi
call fcn.0040c25d
mov edi, dword [ebp - 0xf64]
pop ecx
jmp 0x405654
mov dword [ebp - 4], ebx
mov byte [ebp - 0xf55], bl
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [ebp - 0xf54], eax
lea eax, [ebp - 0xc3c]
push eax
lea ecx, [ebp - 0xf55]
call fcn.00402892
push ebx
push 0x42cb22
mov byte [ebp - 4], 9
push dword [ebp - 0xc2c]
push ecx
lea ecx, [ebp - 0xc3c]
call fcn.00402038
test eax, eax
je 0x40575d
push ecx
lea ecx, [ebp - 0xea8]
call fcn.00402bc2
push ecx
push ecx
lea ecx, [ebp - 0xea8]
call fcn.004032a3
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0xf54]
lea ecx, [ebp - 0xe98]
call fcn.00403ca0
lea edx, [ebp - 0xc3c]
mov ecx, eax
call fcn.00403e55
lea eax, [ebp - 0xf7c]
push eax
lea ecx, [ebp - 0xea8]
call fcn.00403380
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 0x10
jb 0x4056f8
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xc54]
call fcn.0040273a
lea ecx, [ebp - 0xf7c]
call fcn.00402331
cmp dword [ebp - 0xc40], 0x10
lea eax, [ebp - 0xc54]
cmovae eax, dword [ebp - 0xc54]
push eax
call fcn.0041016c
pop ecx
lea ecx, [ebp - 0xc54]
mov dword [ebp - 0xf54], eax
call fcn.00402331
lea ecx, [ebp - 0xe40]
mov byte [ebp - 4], 9
call fcn.00403351
lea eax, [ebp - 0xe40]
push eax
mov dword [ebp - 0xe40], esi
call fcn.0040c25d
pop ecx
push 4
call fcn.0040d8f4
mov esi, eax
pop ecx
test esi, esi
je 0x405773
mov dword [esi], 0x42cb54
jmp 0x405775
mov esi, ebx
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
test al, al
je 0x40580a
mov eax, dword [edi]
push 0x435e84
lea ecx, [ebp - 0xdf8]
push ecx
push ebx
push ebx
push 5
push ebx
push ebx
push ebx
push dword [ebp - 0xf54]
lea ecx, [ebp - 0xc24]
push ecx
mov ecx, edi
call dword [eax + 0x20]
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [0x435e88]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0x10002
push dword [0x435e90]
push dword [0x435e8c]
call dword [sym.imp.KERNEL32.dll_ContinueDebugEvent]
push 0x60
lea eax, [ebp - 0xd6c]
push ebx
push eax
call fcn.0040fd40
add esp, 0xc
lea eax, [ebp - 0xd6c]
push 0x7918
push eax
call dword [sym.imp.KERNEL32.dll_WaitForDebugEvent]
push 0x64
push dword [0x435e88]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
mov dword [esi], 0x42cb54
call fcn.0040d200
mov eax, dword [edi]
mov dword [esp], 0x435e84
lea ecx, [ebp - 0xdf8]
push ecx
push ebx
push ebx
push 4
push ebx
push ebx
push ebx
push dword [ebp - 0xf54]
lea ecx, [ebp - 0xc24]
push ecx
mov ecx, edi
call dword [eax + 0x20]
lea ecx, [ebp - 0xc3c]
mov esi, eax
call fcn.00402331
mov eax, esi
jmp 0x405858
call fcn.00411575
ret