Function at 0x403f40
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4059a2
mov eax, dword fs:[0]
push eax
sub esp, 0x2b8
mov eax, dword [0x408018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov dword [ebp - 0x2bc], eax
lea eax, [ebp - 0x11c]
push 0x104
push eax
mov dword [ebp - 0x2b8], esi
call dword [sym.imp.MSVCR100.dll__getcwd]
push esi
call dword [sym.imp.MSVCR100.dll__chdir]
add esp, 0xc
lea ecx, [ebp - 0x2b4]
push ecx
push 0x4063b4
call dword [sym.imp.MSVCR100.dll__findfirst64i32]
add esp, 8
mov dword [ebp - 0x2c0], eax
cmp eax, 0xffffffff
jne 0x403fd1
push str.Error_searching_for_file
call dword [sym.imp.MSVCR100.dll_perror]
add esp, 4
push 1
call dword [sym.imp.MSVCR100.dll_exit]
xor ebx, ebx
mov esi, 0x4063d4
lea eax, [ebp - 0x290]
mov edi, edi
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x404000
cmp cl, bl
je 0x403ffc
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x404000
add eax, 2
add esi, 2
cmp cl, bl
jne 0x403fe0
xor eax, eax
jmp 0x404005
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40436c
mov esi, 0x4063d8
lea eax, [ebp - 0x290]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x404038
cmp cl, bl
je 0x404034
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x404038
add eax, 2
add esi, 2
cmp cl, bl
jne 0x404018
xor eax, eax
jmp 0x40403d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40436c
test byte [ebp - 0x2b4], 0x10
lea eax, [ebp - 0x11c]
lea edx, [eax + 1]
je 0x4041d9
mov dword [ebp - 0x15c], 0xf
mov dword [ebp - 0x160], ebx
mov byte [ebp - 0x170], bl
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404071
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x11c]
lea esi, [ebp - 0x170]
call fcn.00402e10
push 1
mov eax, 0x4063dc
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00402c10
mov edx, dword [ebp - 0x2b8]
mov eax, edx
mov dword [ebp - 0x124], 0xf
mov dword [ebp - 0x128], ebx
mov byte [ebp - 0x138], bl
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4040c0
sub eax, esi
mov edi, eax
mov eax, edx
lea esi, [ebp - 0x138]
call fcn.00402e10
mov edx, esi
push ebx
push edx
or eax, 0xffffffff
lea esi, [ebp - 0x170]
mov byte [ebp - 4], 1
call fcn.00402700
mov byte [ebp - 4], bl
cmp dword [ebp - 0x124], 0x10
jb 0x40410a
mov eax, dword [ebp - 0x138]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push 1
mov eax, 0x4063dc
lea ecx, [ebp - 0x170]
call fcn.00402c10
lea eax, [ebp - 0x290]
mov dword [ebp - 0x124], 0xf
mov dword [ebp - 0x128], ebx
mov byte [ebp - 0x138], bl
lea edx, [eax + 1]
jmp 0x404140
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404140
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x290]
lea esi, [ebp - 0x138]
call fcn.00402e10
mov ecx, esi
push ebx
push ecx
or eax, 0xffffffff
lea esi, [ebp - 0x170]
mov byte [ebp - 4], 2
call fcn.00402700
mov byte [ebp - 4], bl
cmp dword [ebp - 0x124], 0x10
jb 0x40418e
mov edx, dword [ebp - 0x138]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, dword [ebp - 0x2bc]
lea edi, [esi + 4]
lea ecx, [ebp - 0x170]
call fcn.00404860
lea eax, [ebp - 0x290]
push eax
mov ecx, esi
call fcn.004043d0
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x15c], 0x10
jb 0x40436c
mov ecx, dword [ebp - 0x170]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x40436c
mov dword [ebp - 0x140], 0xf
mov dword [ebp - 0x144], ebx
mov byte [ebp - 0x154], bl
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4041f0
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x11c]
lea esi, [ebp - 0x154]
call fcn.00402e10
push 1
mov eax, 0x4063dc
mov ecx, esi
mov dword [ebp - 4], 3
call fcn.00402c10
mov edx, dword [ebp - 0x2b8]
mov eax, edx
mov dword [ebp - 0x124], 0xf
mov dword [ebp - 0x128], ebx
mov byte [ebp - 0x138], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x404242
sub eax, esi
mov edi, eax
mov eax, edx
lea esi, [ebp - 0x138]
call fcn.00402e10
mov edx, esi
push ebx
push edx
or eax, 0xffffffff
lea esi, [ebp - 0x154]
mov byte [ebp - 4], 4
call fcn.00402700
mov byte [ebp - 4], 3
cmp dword [ebp - 0x124], 0x10
jb 0x40428d
mov eax, dword [ebp - 0x138]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push 1
mov eax, 0x4063dc
lea ecx, [ebp - 0x154]
call fcn.00402c10
lea eax, [ebp - 0x290]
mov dword [ebp - 0x178], 0xf
mov dword [ebp - 0x17c], ebx
mov byte [ebp - 0x18c], bl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4042c0
sub eax, edx
mov edi, eax
lea eax, [ebp - 0x290]
lea esi, [ebp - 0x18c]
call fcn.00402e10
mov ecx, esi
push ebx
push ecx
or eax, 0xffffffff
lea esi, [ebp - 0x154]
mov byte [ebp - 4], 5
call fcn.00402700
mov byte [ebp - 4], 3
cmp dword [ebp - 0x178], 0x10
jb 0x40430f
mov edx, dword [ebp - 0x18c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov edi, dword [ebp - 0x2bc]
mov esi, 0xf
add edi, 0x14
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x17c], ebx
mov byte [ebp - 0x18c], bl
call fcn.00404860
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x140], 0x10
jb 0x40435a
mov eax, dword [ebp - 0x154]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x144], ebx
mov byte [ebp - 0x154], bl
mov esi, dword [ebp - 0x2c0]
lea ecx, [ebp - 0x2b4]
push ecx
push esi
call dword [sym.imp.MSVCR100.dll__findnext64i32]
add esp, 8
test eax, eax
je 0x403fd3
push esi
call dword [sym.imp.MSVCR100.dll__findclose]
lea edx, [ebp - 0x11c]
add esp, 4
push edx
call dword [sym.imp.MSVCR100.dll__chdir]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00404c0a
mov esp, ebp
pop ebp
ret 4