Function at 0x429fd0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8cc
mov dword [ebp - 0x2be], 0x6574636f
mov word [ebp - 0x2ba], 0x74
mov dword [ebp - 0x1c], 1
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x574]
mov ebx, edx
mov edx, 0xa9
mov edi, eax
mov esi, ebx
mov ecx, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [eax + 0x2a0], 1
mov eax, dword [ebp - 0x364]
add eax, 1
mov dword [ebp - 0x364], eax
mov eax, dword [0x44eda8]
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], 2
call eax
sub esp, 0xc
mov dword [ebp - 0x578], eax
mov eax, dword [ebp - 0x578]
cmp eax, 0xffffffff
sete al
test al, al
je 0x42a10b
mov dword [esp], 0x190
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [0x44eda0]
call eax
mov dword [esp + 8], eax
mov dword [esp + 4], str._TFTP_:_Error:_socket___failed__returned:___d_.
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
mov eax, dword [ebp - 0x2d8]
test eax, eax
jne 0x42a0e1
mov edx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x574]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x238]
mov dword [esp + 8], edx
lea edx, [ebp - 0x574]
add edx, 0x218
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040c3f1
lea eax, [ebp - 0x238]
mov dword [esp], eax
call fcn.00402bae
mov eax, dword [ebp - 0x368]
mov dword [esp], eax
call fcn.0042aeec
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_ExitThread]
call eax
mov edx, dword [ebp - 0x368]
mov eax, dword [ebp - 0x578]
imul edx, edx, 0x234
add edx, 0x44fe6c
mov dword [edx], eax
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0
lea eax, [ebp - 0x588]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov word [ebp - 0x588], 2
mov edx, dword [0x44edbc]
mov eax, dword [ebp - 0x360]
movzx eax, ax
mov dword [esp], eax
call edx
sub esp, 4
mov word [ebp - 0x586], ax
mov dword [ebp - 0x584], 0
mov ecx, dword [0x44eddc]
mov eax, dword [ebp - 0x578]
mov dword [esp + 8], 0x10
lea edx, [ebp - 0x588]
mov dword [esp + 4], edx
mov dword [esp], eax
call ecx
sub esp, 0xc
cmp eax, 0xffffffff
sete al
test al, al
je 0x42a1d7
mov dword [esp], 0x1388
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [ebp - 0x364]
sub eax, 1
mov dword [ebp - 0x364], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00429fd0
sub esp, 4
jmp 0x42a8fc
mov dword [esp + 4], 0x444b80
lea eax, [ebp - 0x574]
add eax, 4
mov dword [esp], eax
call sub.msvcrt.dll_fopen
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
sete al
test al, al
je 0x42a29a
mov dword [esp], 0x190
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
lea eax, [ebp - 0x574]
add eax, 4
mov dword [esp + 8], eax
mov dword [esp + 4], str._TFTP_:_Failed_to_open_file:__s.
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
mov edx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x574]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x238]
mov dword [esp + 8], edx
lea edx, [ebp - 0x574]
add edx, 0x218
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040c3f1
lea eax, [ebp - 0x238]
mov dword [esp], eax
call fcn.00402bae
mov eax, dword [ebp - 0x368]
mov dword [esp], eax
call fcn.0042aeec
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_ExitThread]
call eax
cmp dword [ebp - 0x1c], 0
jle 0x42a886
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x2a0]
test eax, eax
je 0x42a886
cmp dword [ebp - 0x2c], 0
je 0x42a886
mov dword [ebp - 0x590], 5
mov dword [ebp - 0x58c], 0x1388
mov dword [ebp - 0x8ac], 0
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x8ac]
cmp eax, dword [ebp - 0x20]
jbe 0x42a30a
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp + eax*4 - 0x8a8]
mov eax, dword [ebp - 0x578]
cmp edx, eax
je 0x42a309
add dword [ebp - 0x20], 1
jmp 0x42a2e4
nop
mov eax, dword [ebp - 0x8ac]
cmp eax, dword [ebp - 0x20]
jne 0x42a33f
mov eax, dword [ebp - 0x8ac]
cmp eax, 0x3f
ja 0x42a33f
mov edx, dword [ebp - 0x578]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x8a8], edx
mov eax, dword [ebp - 0x8ac]
add eax, 1
mov dword [ebp - 0x8ac], eax
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp + 4], 0
lea eax, [ebp - 0x2b8]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov edx, dword [0x44ede0]
lea eax, [ebp - 0x590]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
lea eax, [ebp - 0x8ac]
mov dword [esp + 4], eax
mov dword [esp], 0
call edx
sub esp, 0x14
test eax, eax
setg al
test al, al
je 0x42a87a
mov dword [ebp - 0x5a4], 0x10
mov dword [ebp - 0x7a8], 0
lea edx, [ebp - 0x7a4]
mov eax, 0
mov ecx, pe_nt_image_headers32
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [0x44edd8]
mov eax, dword [ebp - 0x578]
lea edx, [ebp - 0x5a4]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x5a0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], pe_nt_image_headers32
lea edx, [ebp - 0x2b8]
mov dword [esp + 4], edx
mov dword [esp], eax
call ecx
sub esp, 0x18
mov dword [ebp - 0x1c], eax
mov edx, dword [0x44edb4]
mov eax, dword [ebp - 0x59c]
mov dword [esp], eax
call edx
sub esp, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x2d0]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
movzx eax, byte [ebp - 0x2b8]
test al, al
jne 0x42a690
movzx eax, byte [ebp - 0x2b7]
cmp al, 1
jne 0x42a690
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x34], eax
add dword [ebp - 0x30], 2
lea eax, [ebp - 0x574]
add eax, 0x108
mov dword [esp], eax
call sub.msvcrt.dll_strlen
add eax, 3
add dword [ebp - 0x34], eax
lea eax, [ebp - 0x574]
add eax, 0x108
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x30]
mov dword [esp + 4], eax
lea eax, [ebp - 0x574]
add eax, 0x108
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x42a4e4
lea eax, [ebp - 0x2be]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
lea eax, [ebp - 0x2be]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x42a566
mov ecx, dword [0x44edd0]
mov edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x578]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x5a0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x13
mov dword [esp + 4], 0x444ba5
mov dword [esp], eax
call ecx
sub esp, 0x18
lea eax, [ebp - 0x574]
add eax, 0x108
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x2d0]
mov dword [esp + 8], eax
mov dword [esp + 4], str._TFTP_:_File_not_found:__s___s_.
lea eax, [ebp - 0x2b8]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea eax, [ebp - 0x2b8]
mov dword [esp], eax
call fcn.00402bae
jmp 0x42a881
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_fseek
mov byte [ebp - 0x7a8], 0
mov byte [ebp - 0x7a7], 3
mov byte [ebp - 0x7a6], 0
mov byte [ebp - 0x7a5], 1
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x200
mov dword [esp + 4], 1
lea eax, [ebp - 0x7a8]
add eax, 4
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x44edd0]
mov edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x1c]
lea ebx, [eax + 4]
mov eax, dword [ebp - 0x578]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x5a0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
lea edx, [ebp - 0x7a8]
mov dword [esp + 4], edx
mov dword [esp], eax
call ecx
sub esp, 0x18
lea eax, [ebp - 0x574]
add eax, 4
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x2d0]
mov dword [esp + 8], eax
mov dword [esp + 4], str._TFTP_:_File_transfer_started_to_IP:__s___s_.
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
mov eax, dword [ebp - 0x2d8]
test eax, eax
jne 0x42a67d
mov edx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x574]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x238]
mov dword [esp + 8], edx
lea edx, [ebp - 0x574]
add edx, 0x218
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040c3f1
lea eax, [ebp - 0x238]
mov dword [esp], eax
call fcn.00402bae
jmp 0x42a881
movzx eax, byte [ebp - 0x2b8]
test al, al
jne 0x42a835
movzx eax, byte [ebp - 0x2b7]
cmp al, 4
jne 0x42a835
movzx eax, byte [ebp - 0x2b6]
mov byte [ebp - 0x21], al
movzx eax, byte [ebp - 0x2b5]
mov byte [ebp - 0x22], al
mov byte [ebp - 0x7a8], 0
mov byte [ebp - 0x7a7], 3
cmp byte [ebp - 0x22], 0xff
jne 0x42a6f1
add byte [ebp - 0x21], 1
movzx eax, byte [ebp - 0x21]
mov byte [ebp - 0x7a6], al
mov byte [ebp - 0x22], 0
mov byte [ebp - 0x7a5], 0
jmp 0x42a709
movzx eax, byte [ebp - 0x21]
mov byte [ebp - 0x7a6], al
add byte [ebp - 0x22], 1
movzx eax, byte [ebp - 0x22]
mov byte [ebp - 0x7a5], al
movzx eax, byte [ebp - 0x21]
shl eax, 8
mov edx, eax
movzx eax, byte [ebp - 0x22]
add eax, edx
sub eax, 1
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
shl eax, 9
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_fseek
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x200
mov dword [esp + 4], 1
lea eax, [ebp - 0x7a8]
add eax, 4
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x44edd0]
mov edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x1c]
lea ebx, [eax + 4]
mov eax, dword [ebp - 0x578]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x5a0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
lea edx, [ebp - 0x7a8]
mov dword [esp + 4], edx
mov dword [esp], eax
call ecx
sub esp, 0x18
cmp dword [ebp - 0x1c], 0
jne 0x42a880
lea eax, [ebp - 0x574]
add eax, 4
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x2d0]
mov dword [esp + 8], eax
mov dword [esp + 4], str._TFTP_:_File_transfer_complete_to_IP:__s___s_.
lea eax, [ebp - 0x238]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
mov eax, dword [ebp - 0x2d8]
test eax, eax
jne 0x42a825
mov edx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x574]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x238]
mov dword [esp + 8], edx
lea edx, [ebp - 0x574]
add edx, 0x218
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040c3f1
lea eax, [ebp - 0x238]
mov dword [esp], eax
call fcn.00402bae
jmp 0x42a880
mov ecx, dword [0x44edd0]
mov edx, dword [ebp - 0x5a4]
mov eax, dword [ebp - 0x578]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x5a0]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 9
mov dword [esp + 4], 0x444c3f
mov dword [esp], eax
call ecx
sub esp, 0x18
jmp 0x42a29a
nop
jmp 0x42a29a
nop
jmp 0x42a29a
mov edx, dword [0x44ee04]
mov eax, dword [ebp - 0x578]
mov dword [esp], eax
call edx
sub esp, 4
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov eax, dword [ebp - 0x364]
sub eax, 1
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x2a0]
test eax, eax
jne 0x42a8dd
mov eax, dword [ebp - 0x368]
mov dword [esp], eax
call fcn.0042aeec
mov dword [esp], 0
mov eax, dword [sym.imp.KERNEL32.dll_ExitThread]
call eax
mov dword [esp], 0x3e8
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00429fd0
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4