Function at 0x10025854
Capabilities:
Terminate process

Disassembly:
mov eax, 0x1005622c
call fcn.10055488
sub esp, 0x30
cmp byte [ebp + 0x10], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x18], dl
mov dword [ebp - 0x3c], ecx
je 0x100259a0
test dl, dl
je 0x1002598e
mov dword [ebp - 0x1c], 0x2121
xor edx, edx
mov dword [ebp - 0x20], 0xe1c5
mov dword [ebp - 0x30], 0x667120dd
mov dword [ebp - 0x24], 0xef3b0639
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x100258bd
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setne dl
xor ecx, ecx
imul edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
cmp edx, eax
setg cl
cmp ecx, 0x1dab
jge 0x100258ea
cmp dword [ebp - 0x1c], 0
jne 0x100258ea
xor eax, eax
jmp 0x100258ed
xor eax, eax
inc eax
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x1c]
neg edx
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, 0xa6ae
setl cl
xor eax, eax
cmp edx, ecx
setle al
cmp eax, dword [ebp - 0x24]
jle 0x10025937
cmp dword [ebp - 0x24], 0
jne 0x10025937
push ecx
push ecx
lea eax, [ebp + 0x13]
mov byte [ebp + 0x13], 0
push eax
xor dl, dl
mov ecx, 0x5758
call fcn.10025cd2
add esp, 0xc
jmp 0x1002596c
push 0x3d4f
mov dl, 1
mov dword [ebp - 0x34], 0x1c84132d
call fcn.10025250
mov dword [esp], 0x247d
lea edx, [ebp - 0x34]
push 0x73de
push 0
push 0x129b
push 1
mov cl, 1
call fcn.10025c36
add esp, 0x14
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x10025b09
push 0
push ecx
mov edx, 0x28ce
call fcn.10025361
pop ecx
pop ecx
jmp 0x10025b09
push 0x1ade
push 0
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x10025b09
cmp byte [ebp + 8], 0
je 0x100259c1
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x10025b09
push 0
call dword [sym.imp.USER32.dll_DestroyCursor]
jmp 0x10025b09
mov dword [ebp - 0x24], 0x7c62
mov dword [ebp - 0x30], 0x1fa1
cmp dword [ebp - 0x30], 0x114a
jge 0x10025a80
call fcn.1003ef60
push eax
push 0x1005e9a0
push str.in.txt
call fcn.1003f23e
call fcn.1003ef60
add eax, 0x20
push eax
push 0x1005e9ac
push str.out.txt
call fcn.1003f23e
add esp, 0x18
jmp 0x10025a66
mov esi, dword [ebp - 0x2c]
cmp esi, 0xffffffff
je 0x10025a80
xor ebx, ebx
xor edi, edi
test esi, esi
jle 0x10025a48
lea eax, [ebp - 0x28]
mov ecx, 0x1006e158
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.1000e51f
mov ecx, eax
call fcn.1000e51f
mov eax, dword [ebp - 0x28]
sub eax, ebx
mov ebx, dword [ebp - 0x28]
imul eax, dword [ebp - 0x38]
add edi, eax
dec esi
jne 0x10025a1e
push edi
mov ecx, 0x1006e038
call fcn.1000e718
mov edx, str._miles
mov ecx, eax
call fcn.100037d1
push eax
call fcn.10011a6e
pop ecx
lea eax, [ebp - 0x2c]
mov ecx, 0x1006e158
push eax
call fcn.1000e51f
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x10025a0e
cmp dword [ebp - 0x24], 0x7f0c
jle 0x10025ad3
xor esi, esi
xor edi, edi
xor ebx, ebx
xor ecx, ecx
mov dword [ebp + 0x10], ecx
mov eax, ebx
shl eax, cl
mov ecx, 0x1006e038
and eax, edi
and eax, esi
cdq
push edx
push eax
call fcn.10001e16
mov ecx, dword [ebp + 0x10]
inc ecx
mov dword [ebp + 0x10], ecx
cmp ecx, 0x266e
jl 0x10025a94
inc ebx
cmp ebx, 0x1f06
jl 0x10025a8f
inc edi
cmp edi, 0x56b4
jl 0x10025a8d
inc esi
cmp esi, 0x45cd
jl 0x10025a8b
and dword [ebp - 4], 0
cmp dword [ebp - 0x24], 0x7a6b
jge 0x10025aef
mov edx, str.qwqsi_kxe_kyndtznux_ynidxg_lwlx_ffqbvatak_qclpdjdf_xvthn_wdkbc_fswhx_snxokzysb
mov ecx, 0x1006e038
call fcn.100037d1
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3c]
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push dword [eax + 4]
push dword [eax]
push dword [ecx + 4]
call fcn.100284f6
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret