Function at 0x40318f
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10918
call fcn.0040d87c
push ebx
push esi
push edi
mov ebx, 0x4a612507
mov eax, ebx
xor eax, ebx
mov ebx, eax
add ebx, 0x2ef8
push 0
push 0
push 3
push 0
push 0
push 0x80000000
push dword [ebp + 8]
call sub.KERNEL32.DLL_CreateFileA
mov edi, eax
cmp edi, 0xffffffff
jne 0x4031d9
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
jmp 0x403766
mov eax, 0x4517
mul ebx
mov dword [ebp - 0x10810], eax
mov ebx, eax
push 0
lea eax, [ebp - 0x10008]
push eax
push 0xffff
lea eax, [ebp - 0xffff]
push eax
push edi
call sub.KERNEL32.DLL_ReadFile
push edi
call sub.KERNEL32.DLL_CloseHandle
xor edi, edi
inc edi
jmp 0x403223
cmp byte [ebp + edi - 0xffff], 2
jne 0x403222
cmp byte [ebp + edi - 0x10000], 0
jne 0x40322b
inc edi
cmp edi, dword [ebp - 0x10008]
jl 0x40320e
xor ebx, 0x2ad0
cmp edi, dword [ebp - 0x10008]
je 0x403766
mov esi, edi
jmp 0x40324c
cmp byte [ebp + esi - 0xffff], 0
je 0x403251
dec esi
cmp esi, 1
jg 0x403241
mov eax, esi
inc eax
mov word [ebp - 0x10002], ax
jmp 0x40327d
movzx eax, word [ebp - 0x10002]
mov edx, eax
sub edx, esi
mov al, byte [ebp + eax - 0xffff]
mov byte [ebp + edx - 0x10408], al
inc word [ebp - 0x10002]
movzx eax, word [ebp - 0x10002]
cmp eax, edi
jl 0x40325d
movzx eax, word [ebp - 0x10002]
sub eax, esi
mov byte [ebp + eax - 0x10408], 0
xor ebx, 0x6f7d
lea eax, [ebp - 0x10407]
push eax
push 0x43027a
lea eax, [ebp - 0x10807]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0xc
movzx edi, word [ebp - 0x1080a]
jmp 0x4032d8
cmp byte [ebp + edi - 0xffff], 9
jne 0x4032d7
cmp byte [ebp + edi - 0x10000], 0
jne 0x4032e0
inc edi
cmp edi, dword [ebp - 0x10008]
jl 0x4032c3
mov eax, dword [ebp - 0x10008]
cmp edi, eax
je 0x403391
mov edx, edi
dec edx
cmp edx, eax
je 0x403391
mov esi, edi
jmp 0x403308
cmp byte [ebp + esi - 0xffff], 0
je 0x40330d
dec esi
cmp esi, 1
jg 0x4032fd
mov eax, ebx
sub eax, ebx
mov ebx, eax
mov eax, esi
inc eax
mov word [ebp - 0x10002], ax
jmp 0x40333f
movzx eax, word [ebp - 0x10002]
mov edx, eax
sub edx, esi
mov al, byte [ebp + eax - 0xffff]
mov byte [ebp + edx - 0x10408], al
inc word [ebp - 0x10002]
movzx eax, word [ebp - 0x10002]
cmp eax, edi
jl 0x40331f
mov ax, word [ebp - 0x10002]
mov word [ebp - 0x1080a], ax
movzx eax, word [ebp - 0x10002]
sub eax, esi
mov byte [ebp + eax - 0x10408], 0
mov eax, ebx
xor eax, ebx
mov ebx, eax
lea eax, [ebp - 0x10407]
push eax
lea eax, [ebp - 0x10807]
push eax
push str._s_s
lea eax, [ebp - 0x10807]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
movzx edi, word [ebp - 0x10002]
jmp 0x4033af
cmp byte [ebp + edi - 0xffff], 3
jne 0x4033ae
cmp byte [ebp + edi - 0x10000], 0
jne 0x4033b7
inc edi
cmp edi, dword [ebp - 0x10008]
jl 0x40339a
xor ebx, 0x2039
cmp edi, dword [ebp - 0x10008]
je 0x403470
mov esi, edi
jmp 0x4033d8
cmp byte [ebp + esi - 0xffff], 0
je 0x4033dd
dec esi
cmp esi, 1
jg 0x4033cd
mov eax, 0x4817
mul ebx
mov dword [ebp - 0x10814], eax
mov ebx, eax
mov eax, esi
inc eax
mov word [ebp - 0x10002], ax
jmp 0x403418
movzx eax, word [ebp - 0x10002]
mov edx, eax
sub edx, esi
mov al, byte [ebp + eax - 0xffff]
mov byte [ebp + edx - 0x10408], al
inc word [ebp - 0x10002]
movzx eax, word [ebp - 0x10002]
cmp eax, edi
jl 0x4033f8
mov ax, word [ebp - 0x10002]
mov word [ebp - 0x1080a], ax
mov eax, ebx
mul ebx
mov dword [ebp - 0x10818], eax
mov ebx, eax
movzx eax, word [ebp - 0x10002]
sub eax, esi
mov byte [ebp + eax - 0x10408], 0
lea eax, [ebp - 0x10407]
push eax
lea eax, [ebp - 0x10807]
push eax
push str._s_s
lea eax, [ebp - 0x10807]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
movzx edi, word [ebp - 0x1080a]
jmp 0x40348e
cmp byte [ebp + edi - 0xffff], 0xc
jne 0x40348d
cmp byte [ebp + edi - 0x10000], 0
jne 0x403496
inc edi
cmp edi, dword [ebp - 0x10008]
jl 0x403479
mov eax, ebx
xor eax, ebx
mov ebx, eax
mov eax, dword [ebp - 0x10008]
cmp edi, eax
je 0x40354d
mov edx, edi
dec edx
cmp edx, eax
je 0x40354d
mov esi, edi
jmp 0x4034c4
cmp byte [ebp + esi - 0xffff], 0
je 0x4034c9
dec esi
cmp esi, 1
jg 0x4034b9
mov eax, ebx
xor eax, ebx
mov ebx, eax
mov eax, esi
inc eax
mov word [ebp - 0x10002], ax
jmp 0x4034fb
movzx eax, word [ebp - 0x10002]
mov edx, eax
sub edx, esi
mov al, byte [ebp + eax - 0xffff]
mov byte [ebp + edx - 0x10408], al
inc word [ebp - 0x10002]
movzx eax, word [ebp - 0x10002]
cmp eax, edi
jl 0x4034db
mov ax, word [ebp - 0x10002]
mov word [ebp - 0x1080a], ax
sub ebx, 0x1a77
movzx eax, word [ebp - 0x10002]
sub eax, esi
mov byte [ebp + eax - 0x10408], 0
lea eax, [ebp - 0x10407]
push eax
lea eax, [ebp - 0x10807]
push eax
push str._s_s
lea eax, [ebp - 0x10807]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0x10
movzx edi, word [ebp - 0x1080a]
jmp 0x40356b
cmp byte [ebp + edi - 0xffff], 0x10
jne 0x40356a
cmp byte [ebp + edi - 0x10000], 0
jne 0x403573
inc edi
cmp edi, dword [ebp - 0x10008]
jl 0x403556
mov eax, ebx
add eax, ebx
mov ebx, eax
mov eax, dword [ebp - 0x10008]
cmp edi, eax
je 0x403652
mov edx, edi
dec edx
cmp edx, eax
je 0x403652
mov esi, edi
jmp 0x4035a1
cmp byte [ebp + esi - 0xffff], 0
je 0x4035a6
dec esi
cmp esi, 1
jg 0x403596
mov eax, ebx
mul ebx
mov dword [ebp - 0x10914], eax
mov ebx, eax
mov eax, esi
inc eax
mov word [ebp - 0x10002], ax
jmp 0x4035de
movzx eax, word [ebp - 0x10002]
mov edx, eax
sub edx, esi
mov al, byte [ebp + eax - 0xffff]
mov byte [ebp + edx - 0x10408], al
inc word [ebp - 0x10002]
movzx eax, word [ebp - 0x10002]
cmp eax, edi
jl 0x4035be
mov ax, word [ebp - 0x10002]
mov word [ebp - 0x1080a], ax
movzx eax, word [ebp - 0x10002]
sub eax, esi
mov byte [ebp + eax - 0x10408], 0
mov eax, 0x20d6
mul ebx
mov dword [ebp - 0x10918], eax
mov ebx, eax
lea eax, [ebp - 0x10407]
push eax
call fcn.00402e35
push eax
lea edx, [ebp - 0x1090f]
push edx
call sub.CRTDLL.DLL_sprintf
lea eax, [ebp - 0x1090f]
push eax
lea eax, [ebp - 0x10807]
push eax
push 0x43026f
lea eax, [ebp - 0x10807]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0x1c
movzx edi, word [ebp - 0x1080a]
jmp 0x403670
cmp byte [ebp + edi - 0xffff], 0x11
jne 0x40366f
cmp byte [ebp + edi - 0x10000], 0
jne 0x403678
inc edi
cmp edi, dword [ebp - 0x10008]
jl 0x40365b
sub ebx, 0x390b
mov eax, dword [ebp - 0x10008]
cmp edi, eax
je 0x403754
mov edx, edi
dec edx
cmp edx, eax
je 0x403754
mov esi, edi
jmp 0x4036a6
cmp byte [ebp + esi - 0xffff], 0
je 0x4036ab
dec esi
cmp esi, 1
jg 0x40369b
mov eax, ebx
xor eax, ebx
mov ebx, eax
mov eax, esi
inc eax
mov word [ebp - 0x10002], ax
jmp 0x4036dd
movzx eax, word [ebp - 0x10002]
mov edx, eax
sub edx, esi
mov al, byte [ebp + eax - 0xffff]
mov byte [ebp + edx - 0x10408], al
inc word [ebp - 0x10002]
movzx eax, word [ebp - 0x10002]
cmp eax, edi
jl 0x4036bd
mov ax, word [ebp - 0x10002]
mov word [ebp - 0x1080a], ax
movzx eax, word [ebp - 0x10002]
sub eax, esi
mov byte [ebp + eax - 0x10408], 0
mov eax, ebx
xor eax, ebx
mov ebx, eax
lea eax, [ebp - 0x10407]
push eax
call fcn.00402e35
push eax
lea edi, [ebp - 0x1090f]
push edi
call sub.CRTDLL.DLL_sprintf
lea eax, [ebp - 0x1090f]
push eax
lea eax, [ebp - 0x10807]
push eax
push str._s:_s
lea eax, [ebp - 0x10807]
push eax
call sub.CRTDLL.DLL_sprintf
add esp, 0x1c
mov eax, ebx
mul ebx
mov dword [ebp - 0x10914], eax
mov ebx, eax
lea eax, [ebp - 0x10807]
push eax
push dword [ebp + 0xc]
call sub.CRTDLL.DLL_sprintf
add esp, 8
pop edi
pop esi
pop ebx
leave
ret