Function at 0x1000431c
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
push 0x800
call fcn.1002c7e0
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x10004381
jne 0x10004343
mov edx, edx
nop
nop
jmp 0x1000434f
je 0x1000434a
xchg ecx, ecx
ja 0x1000434a
nop
jne 0x1000433d
xchg esi, esi
fistp qword [eax + 0x84]
mov eax, 0x84
jmp 0x1000473b
jmp 0x1000438a
mov ebp, ebp
jo 0x1000438d
nop
jno 0x1000438d
jmp 0x10004383
jae 0x1000439a
je 0x10004398
xchg edx, edx
ja 0x10004398
xchg edi, edi
nop
jmp 0x1000439d
jae 0x1000438f
sub byte [edx], 0x6a
add byte [ebx - 0x74afefbb], cl
dec ebp
or byte [ecx - 1], dl
adc eax, sym.imp.KERNEL32.dll_SetFilePointer
push 0
push 0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x17
push eax
call fcn.10004810
add esp, 8
cmp eax, 0x3e9
je 0x10004452
mov ecx, dword [ebp - 8]
push ecx
call fcn.1002c770
add esp, 4
jne 0x100043e6
mov edi, edi
nop
nop
je 0x100043e4
jmp 0x100043f0
xchg ebp, ebp
ja 0x100043eb
nop
jne 0x100043de
xchg edi, edi
mov al, byte [0x7770b70]
jo 0x100043fd
ja 0x100043fb
xchg ecx, ecx
je 0x100043fb
xchg eax, eax
nop
jmp 0x10004400
jo 0x100043f2
fsubr st(3)
pop es
jmp 0x10004409
mov edi, edi
js 0x1000440c
nop
jns 0x1000440c
jmp 0x10004402
jne 0x1000441f
je 0x1000441f
jbe 0x10004424
xchg byte [edi], cl
add byte [eax], al
add byte [eax + 0x770b7490], dl
or dword [edi + 0x730077ff], eax
out dx, al
nop
nop
je 0x10004424
ja 0x10004424
xchg edi, edi
ja 0x1000441f
jae 0x1000440f
jb 0x1000440f
sbb dword [eax + 0x1fe], edi
mov eax, 0x1fe
jmp 0x1000473b
cmp dword [ebp + 0x14], 0
je 0x1000470e
cmp dword [ebp + 0x14], 0x800
jae 0x1000446d
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x20], edx
jmp 0x10004474
mov dword [ebp - 0x20], 0x800
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
jbe 0x1000448d
ja 0x1000448d
jnp 0x10004492
mov ecx, dword [edi]
add byte [eax], al
add byte [ebx - 0x6ff48537], cl
mov ecx, ecx
jp 0x10004492
nop
nop
ja 0x1000448d
xchg eax, eax
js 0x1000447d
jns 0x1000447d
arpl word [edx], bp
push 0
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x10004518
jbe 0x100044b4
nop
nop
jmp 0x100044c2
je 0x100044bd
xchg ebp, ebp
ja 0x100044bd
xchg ebp, ebp
nop
jbe 0x100044b0
je 0x100044d4
and ebp, ebx
pop es
jmp 0x100044cb
mov ecx, ecx
jae 0x100044ce
nop
jb 0x100044ce
jmp 0x100044c4
mov edx, dword [ebp - 0x18]
push edx
call fcn.1002c770
add byte [edx], 0
add esp, 4
mov eax, dword [ebp - 8]
push eax
call fcn.1002c770
add esp, 4
mov eax, 0x1f9
jmp 0x1000473b
js 0x10004523
nop
xchg ebp, ebp
jg 0x10004528
xchg eax, eax
jle 0x10004528
je 0x10004525
js 0x1000451a
add dword [esi + 0xa], esi
jbe 0x10004534
nop
nop
je 0x10004532
xchg ecx, ecx
ja 0x10004532
jmp 0x1000453c
xchg ecx, ecx
nop
jbe 0x1000452a
je 0x1000454e
xor al, byte [ebx + 0xf00f07d]
test byte [eax], ah
add dword [eax], eax
add byte [ebx - 0x74ae0fb3], cl
push ebp
clc
cmp dword [ebp - 0x10], 0
je 0x10004666
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x14]
add eax, 0x1ce
push eax
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.10004870
add esp, 0x14
jbe 0x1000456d
nop
nop
jmp 0x1000457b
je 0x10004576
xchg ebx, ebx
ja 0x10004576
xchg ebp, ebp
nop
jbe 0x10004569
je 0x1000458d
xor eax, 0x8790097f
leave
jg 0x10004586
nop
xchg ecx, ecx
js 0x1000458b
xchg esi, esi
jns 0x1000458b
ja 0x10004588
jg 0x1000457d
and ebx, ebp
pop es
jmp 0x10004594
mov edx, edx
jo 0x10004597
nop
jno 0x10004597
jmp 0x1000458d
jl 0x100045aa
jge 0x100045aa
jne 0x100045af
test dword [edi], ecx
add byte [eax], al
add byte [ebp + ecx - 0x75], dh
call dword [eax - 0x78fd8b70]
invalid
je 0x100045af
mov edi, edi
nop
nop
je 0x100045aa
xchg edi, edi
jg 0x1000459a
jle 0x1000459a
add eax, 0x458d006a
cld
push 0
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x10004664
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.1002c770
add esp, 4
mov edx, dword [ebp - 8]
push edx
call fcn.1002c770
add esp, 4
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x27
je 0x100045fe
jmp 0x1000461e
mov eax, 0x1f6
jmp 0x1000473b
mov eax, 0x1fa
jmp 0x1000473b
jmp 0x100046c4
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.1002c770
add esp, 4
mov edx, dword [ebp - 8]
push edx
call fcn.1002c770
add esp, 4
jmp 0x10004687
mov ebp, ebp
js 0x1000468a
nop
jns 0x1000468a
jmp 0x10004680
jg 0x10004695
nop
xchg ebp, ebp
js 0x1000469a
xchg ecx, ecx
jns 0x1000469a
ja 0x10004697
jg 0x1000468c
and bh, byte [eax + 0x1fb]
mov eax, 0x1fb
jmp 0x1000473b
jae 0x100046d1
je 0x100046cf
xchg esi, esi
ja 0x100046cf
xchg ecx, ecx
nop
jmp 0x100046d4
jae 0x100046c6
xor byte [ebp + 4], dh
jne 0x100046da
mov eax, eax
jmp 0x100046e8
nop
nop
je 0x100046e3
xchg ebp, ebp
ja 0x100046e3
nop
jne 0x100046d6
xchg edx, edx
mov cs, word [ebx + 0x452b1445]
invalid
mov eax, dword [ebp + 0x14]
sub eax, dword [ebp - 0x10]
mov dword [ebp + 0x14], eax
jl 0x10004704
jge 0x10004704
jne 0x10004709
test dword [edi], ecx
add byte [eax], al
add byte [ebx + 0x749090f6], cl
or dword [edi + eax - 0x79], esi
in eax, dx
mov esi, esi
nop
nop
je 0x10004709
je 0x10004709
xchg ebp, ebp
jg 0x100046f4
jle 0x100046f4
mov ecx, ebp
inc esp
std
invalid
jmp 0x10004452
js 0x10004719
nop
xchg ebx, ebx
jg 0x1000471e
xchg ebx, ebx
jle 0x1000471e
je 0x1000471b
js 0x10004710
ror byte [ebx - 0x17ae17b3], cl
dec ecx
add byte [edx], 0
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.1002c770
add esp, 4
mov edx, dword [ebp - 8]
push edx
call fcn.1002c770
add esp, 4
mov eax, 0x82
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret