Function at 0x10001000
Capabilities:
Check for time delay via gettickcount
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov ecx, edi
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10001032
test dl, dl
je 0x1000102e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10001032
add eax, 2
add ecx, 2
test dl, dl
jne 0x10001012
xor eax, eax
jmp 0x10001037
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10001046
pop edi
mov eax, 3
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov dword [ebp - 0xc], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x12c0
div ecx
push 0x1000f178
lea eax, [ebp - 0xc]
push ebx
push eax
lea esi, [edx + 0xc8]
mov dword [ebp - 0x1c], esi
call fcn.10001a51
add esp, 0xc
test eax, eax
jne 0x100012a4
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x100012a4
push eax
push 1
lea eax, [ebp - 1]
push 1
push eax
mov byte [ebp - 1], 0
call fcn.10001c59
push 0x1000f17c
mov dword [ebp - 0x18], eax
lea eax, [ebp - 8]
push edi
push eax
mov dword [ebp - 8], 0
call fcn.10001a51
add esp, 0x1c
test eax, eax
jne 0x10001298
cmp dword [ebp - 8], eax
je 0x10001298
mov edi, dword [ebp + 0x10]
mov ebx, edi
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x100010d2
sub ebx, ecx
lea eax, [ebx + 0xa]
push eax
call fcn.1000177b
mov ecx, dword [0x10016204]
mov dword [ebp - 0x14], eax
mov eax, ecx
imul eax, ecx
imul eax, ecx
cdq
mov dword [ebp - 0x10], 0x14
idiv dword [ebp - 0x10]
add esp, 4
cmp edx, 0xe
jne 0x1000110f
inc ecx
mov dword [0x10016204], ecx
push edi
lea eax, [ebx + 5]
push eax
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
call fcn.10001703
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x1f4
div ecx
lea eax, [esi + 1]
add eax, edx
push eax
call fcn.1000177b
add esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x10001153
pop esi
pop edi
mov eax, 4
pop ebx
mov esp, ebp
pop ebp
ret
push str._Judah_saw_there_a_daughter_of_a_certain_Canaanite__whose_name_was_Shuah__and_he_took_her__and_went_in_unto_her.
push esi
push eax
call fcn.10001703
lea eax, [ebx - 1]
add esp, 0xc
cmp eax, 0x1f
ja 0x1000128c
mov ecx, dword [0x10016204]
mov eax, ecx
imul eax, ecx
imul eax, ecx
mov edi, 2
and eax, 0x8000000f
jns 0x1000118d
dec eax
or eax, 0xfffffff0
inc eax
cmp eax, 4
jne 0x100011f0
test ecx, ecx
je 0x100011f0
mov eax, ecx
and eax, 0x80000001
jns 0x100011a4
dec eax
or eax, 0xfffffffe
inc eax
jne 0x100011b1
mov eax, ecx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
jmp 0x100011b8
lea ecx, [ecx*2 + 1]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
lea eax, [eax + eax*2]
sub edx, eax
mov dword [0x10016204], ecx
sub edx, 0
je 0x100011e1
sub edx, edi
je 0x100011e3
dec edx
je 0x100011e4
jmp 0x100011ec
add ecx, edi
inc ecx
add ecx, edi
mov dword [0x10016204], ecx
test ecx, ecx
jne 0x10001196
xor esi, esi
cmp dword [ebp - 0x18], 1
jne 0x10001275
inc ebx
mov dword [ebp - 0x18], ebx
lea esp, [esp]
mov eax, dword [ebp - 0x14]
inc esi
mov cl, byte [edi + eax]
mov eax, dword [ebp - 0x10]
mov dl, cl
and dl, byte [ebp - 1]
or cl, byte [ebp - 1]
not dl
and dl, cl
mov byte [ebp - 1], dl
mov byte [esi + eax - 1], dl
cmp edi, ebx
jne 0x10001228
mov edi, 2
jmp 0x10001229
inc edi
push dword [ebp - 0xc]
lea eax, [ebp - 1]
push 1
push 1
push eax
call fcn.10001c59
mov ebx, eax
mov eax, dword [ebp - 0x1c]
add esp, 0x10
cmp esi, eax
jne 0x10001258
push dword [ebp - 8]
push eax
push 1
push dword [ebp - 0x10]
call fcn.10001e5c
add esp, 0x10
xor esi, esi
cmp ebx, 1
mov ebx, dword [ebp - 0x18]
je 0x10001200
test esi, esi
je 0x10001275
push dword [ebp - 8]
push esi
push 1
push dword [ebp - 0x10]
call fcn.10001e5c
add esp, 0x10
push dword [ebp - 8]
call fcn.10001879
add esp, 4
mov eax, 5
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
pop edi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
pop edi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret