Function at 0x410d60
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd64
mov eax, dword [0x45e8a4]
test eax, eax
push ebx
push esi
push edi
jne 0x411453
mov eax, dword [0x45eba0]
mov esi, dword [ebp + 0xc]
test eax, eax
mov eax, dword [ebp + 0x10]
je 0x410db1
cmp esi, dword [0x45ea38]
jne 0x410da6
cmp eax, dword [0x45ea3c]
jne 0x410da6
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov dword [0x45ea38], esi
mov dword [0x45ea3c], eax
mov eax, dword [0x45e898]
test eax, eax
jne 0x411453
push 0x104
lea eax, [ebp - 0x324]
push eax
push 0
mov dword [0x45e898], 1
mov byte [ebp - 0x324], 0
mov byte [ebp - 0x220], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xor eax, eax
mov ecx, 0x50
lea edi, [ebp - 0x464]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x464]
push ecx
lea edx, [ebp - 0x324]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
test eax, eax
je 0x410e18
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x104
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x220]
push ecx
call fcn.00410250
mov dl, 0x2e
lea ecx, [ebp - 0x220]
call fcn.00410100
test eax, eax
je 0x410e51
mov dl, 0x2e
lea ecx, [ebp - 0x220]
call fcn.00410100
mov byte [eax], 0
mov ebx, dword [ebp + 8]
push pe_nt_image_headers32
lea edx, [ebp - 0x11c]
push edx
push ebx
mov byte [ebp - 0x11c], 0
call fcn.00411ab0
mov al, byte [ebp - 0x11c]
test al, al
jne 0x410ea4
mov ecx, ebx
call fcn.00411960
push eax
mov eax, ebx
push ebx
and eax, 0xffff
push eax
xor ecx, ecx
call fcn.00410be0
push eax
lea ecx, [ebp - 0x11c]
push pe_nt_image_headers32
push ecx
call fcn.00410450
add esp, 0x18
test esi, esi
mov edi, esi
mov dword [ebp - 8], edi
je 0x410ede
cmp byte [esi], 0
je 0x410ede
mov eax, dword [ebp + 0x10]
cmp eax, 0xfffffffe
je 0x410ebf
cmp eax, 0xfffffffd
jne 0x410ede
push pe_nt_image_headers32
lea edx, [ebp - 0xd64]
mov ecx, esi
call fcn.004114e0
test eax, eax
je 0x410ede
lea edi, [ebp - 0xd64]
mov dword [ebp - 8], edi
test edi, edi
lea esi, [ebp - 0xc64]
je 0x410f01
push 0x800
push edi
lea edx, [ebp - 0xc64]
push edx
call fcn.00410250
lea esi, [ebp + eax - 0xc64]
mov eax, dword [ebp + 0x10]
test eax, eax
jle 0x410f28
push eax
lea ecx, [ebp - 0x464]
push str.__u_
sub ecx, esi
push ecx
push esi
call fcn.00410450
add esp, 0x10
push esi
call fcn.00410390
add esi, eax
mov edx, ebx
and edx, 0xffff
push edx
lea eax, [ebp - 0x464]
push str._:_error__u:
sub eax, esi
push eax
push esi
call fcn.00410450
add esp, 0x10
push esi
call fcn.00410390
add esi, eax
lea ecx, [ebp - 0x464]
sub ecx, esi
push ecx
lea edx, [ebp - 0x11c]
push edx
push esi
call fcn.00410250
lea eax, [ebp - 0xc64]
push eax
push 0x456f44
call fcn.004190e0
add esp, 8
lea ecx, [ebp - 0x11c]
push ecx
mov ecx, 1
call fcn.00410be0
push eax
lea edx, [ebp - 0xc64]
push 0x800
push edx
call fcn.00410450
add esp, 0x10
lea eax, [ebp - 0xc64]
push eax
call fcn.00410390
lea ecx, [ebp - 0x324]
push ecx
mov ecx, 2
lea esi, [ebp + eax - 0xc64]
call fcn.00410be0
push eax
lea edx, [ebp - 0x464]
sub edx, esi
push edx
push esi
call fcn.00410450
add esp, 0x10
push esi
call fcn.00410390
add esi, eax
test edi, edi
je 0x4110bb
cmp byte [edi], 0
je 0x4110bb
mov eax, dword [ebp + 0x10]
add eax, 5
cmp eax, 4
ja case.default.0x410fff
jmp dword [eax*4 + 0x411460]
push edi
mov ecx, 4
call fcn.00410be0
push eax
lea ecx, [ebp - 0x464]
sub ecx, esi
push ecx
push esi
call fcn.00410450
add esp, 0x10
jmp 0x4110b3
push edi
mov ecx, 5
jmp 0x411077
push edi
mov ecx, 6
call fcn.00410be0
push eax
lea eax, [ebp - 0x464]
sub eax, esi
push eax
push esi
call fcn.00410450
add esp, 0x10
jmp 0x4110b3
push edi
mov ecx, 0xb
call fcn.00410be0
push eax
lea ecx, [ebp - 0x464]
sub ecx, esi
push ecx
push esi
call fcn.00410450
add esp, 0x10
jmp 0x4110b3
push edi
mov ecx, 0xe
call fcn.00410be0
push eax
lea edx, [ebp - 0x464]
sub edx, esi
push edx
push esi
call fcn.00410450
add esp, 0x10
jmp 0x4110b3
mov eax, dword [ebp + 0x10]
push eax
push edi
mov ecx, 3
call fcn.00410be0
push eax
lea ecx, [ebp - 0x464]
sub ecx, esi
push ecx
push esi
call fcn.00410450
add esp, 0x14
push esi
call fcn.00410390
add esi, eax
cmp ebx, 0x85100000
mov eax, dword [ebp + 0x14]
jne 0x4110e6
test eax, eax
jne 0x4110cf
mov eax, 0x45d6f0
push eax
mov ecx, 7
call fcn.00410be0
lea edx, [ebp - 0x464]
push eax
sub edx, esi
push edx
jmp 0x411104
test eax, eax
jne 0x4110ef
mov eax, 0x45d6f0
push eax
mov ecx, 8
call fcn.00410be0
push eax
lea eax, [ebp - 0x464]
sub eax, esi
push eax
push esi
call fcn.00410450
add esp, 0x10
push esi
call fcn.00410390
add esi, eax
mov eax, dword [0x45eb8c]
test eax, eax
jne 0x411204
call fcn.00419dc0
mov ecx, 0x45e880
call fcn.00410d00
mov edi, dword [0x45e758]
mov ecx, 0x45e880
mov dword [ebp - 4], edi
mov dword [0x45e758], 0
call fcn.00410d50
test edi, edi
je 0x411159
mov ecx, edi
mov ebx, dword [ecx + 4]
jmp 0x41115b
xor ebx, ebx
lea edx, [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
test ebx, ebx
mov dword [ebp + 0xc], str.Crash
jne 0x411177
mov dword [ebp + 0xc], str.Error
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0xc64]
call fcn.00411730
mov edi, eax
cmp edi, 0xffffffff
je 0x4111ab
mov edx, ebx
neg edx
sbb edx, edx
and edx, 0xfffffffe
push ebx
add edx, 2
mov ecx, edi
call fcn.00411930
mov ecx, edi
call fcn.00411950
call fcn.0041af10
test eax, eax
je 0x4111ff
mov eax, dword [0x45ea34]
test eax, eax
jne 0x4111ff
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp + 0xc]
push 0x104
lea edx, [ebp - 0x428]
push edx
mov edx, 0x456f30
call fcn.004115e0
mov edi, eax
cmp edi, 0xffffffff
je 0x4111ff
mov edx, dword [ebp - 4]
lea eax, [ebp + 0xc]
push eax
push 1
mov ecx, edi
mov dword [ebp + 0xc], 0x45e8ac
call fcn.0041ad80
mov ecx, edi
call fcn.00411950
call fcn.00419dd0
mov eax, dword [0x45eba0]
test eax, eax
je 0x411225
pop edi
pop esi
mov dword [0x45e898], 0
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18
call fcn.004115a0
test eax, eax
mov eax, dword [ebp + 0x18]
je 0x4112aa
test eax, eax
je 0x411271
lea ecx, [ebp - 0x464]
sub ecx, esi
push ecx
mov ecx, 0xd
call fcn.00410be0
push eax
push esi
call fcn.00410250
mov edi, 0x30
mov esi, 0x103
mov ebx, 7
mov dword [ebp + 0x18], 2
mov dword [ebp + 0xc], 6
jmp 0x411315
lea edx, [ebp - 0x464]
sub edx, esi
push edx
mov ecx, 0xc
call fcn.00410be0
push eax
push esi
call fcn.00410250
mov edi, 0x10
mov esi, 0x104
mov ebx, 7
mov dword [ebp + 0x18], 0
mov dword [ebp + 0xc], 6
jmp 0x411315
test eax, eax
je 0x4112e7
lea eax, [ebp - 0x464]
sub eax, esi
push eax
mov ecx, 0xa
call fcn.00410be0
push eax
push esi
call fcn.00410250
mov edi, 0x30
mov esi, 0x101
mov ebx, 2
mov dword [ebp + 0x18], 1
mov dword [ebp + 0xc], 0
jmp 0x411315
lea ecx, [ebp - 0x464]
sub ecx, esi
push ecx
mov ecx, 9
call fcn.00410be0
push eax
push esi
call fcn.00410250
xor esi, esi
xor eax, eax
mov edi, 0x10
mov ebx, 1
mov dword [ebp + 0x18], eax
mov dword [ebp + 0xc], eax
mov ecx, 0x45e740
call fcn.00410d00
mov eax, dword [ebp + 0x18]
or esi, edi
or esi, 0x52000
test eax, eax
mov dword [ebp - 0xc], esi
je 0x411338
mov edx, eax
mov dword [ebp - 4], edx
jmp 0x41133b
mov dword [ebp - 4], ebx
mov ebx, dword [0x45e868]
test bl, 1
jne 0x41134a
test ebx, ebx
jne 0x41134c
xor ebx, ebx
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp - 8]
test bl, 1
jne 0x411384
test ebx, ebx
je 0x411384
test eax, eax
jne 0x411367
mov eax, 0x45d6f0
push eax
mov eax, dword [ebp + 0x10]
push eax
push edi
lea ecx, [ebp - 0x11c]
push ecx
push esi
call dword [ebx + 8]
test eax, eax
je 0x4113c6
mov ebx, dword [ebx + 4]
mov eax, dword [ebp + 0x14]
jmp 0x411355
call fcn.004198e0
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x4113a9
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4113a7
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4113a9
xor edi, edi
mov edx, dword [ebp - 0xc]
push edx
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0xc64]
push ecx
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov esi, eax
jmp 0x4113cb
mov esi, dword [ebp - 4]
xor ebx, ebx
mov ecx, 0x45e740
call fcn.00410d50
cmp esi, dword [ebp + 0xc]
jne 0x4113f3
call fcn.00411480
pop edi
pop esi
mov dword [0x45e898], ebx
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18
cmp esi, dword [ebp + 0x18]
jne 0x41140c
pop edi
pop esi
mov dword [0x45e898], ebx
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push 1
call fcn.00412260
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x80000000
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
je 0x411440
lea edx, [ebp + 0x10]
push edx
call edi
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x411440
cmp dword [ebp + 0x10], 0x103
jne 0x41144d
mov eax, dword [ebp + 0x1c]
push eax
call edi
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [0x45e898], ebx
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x18