Function at 0x43a970
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x4703d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
xor edi, edi
push edi
push edi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], 0xaac56b
mov word [ebp - 0x60], 0xcd44
mov word [ebp - 0x5e], 0x11d0
mov byte [ebp - 0x5c], 0x8c
mov byte [ebp - 0x5b], 0xc2
mov byte [ebp - 0x5a], 0
mov byte [ebp - 0x59], 0xc0
mov byte [ebp - 0x58], 0x4f
mov byte [ebp - 0x57], 0xc2
mov byte [ebp - 0x56], 0x95
mov byte [ebp - 0x55], 0xee
mov dword [ebp - 0x6c], edi
xor bl, bl
call fcn.0042d730
add esp, 8
cmp eax, 0x1770
jge 0x43aa33
lea edx, [ebp - 0x4c]
push edx
push 4
push esi
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x88], edi
call fcn.00435900
add esp, 0xc
test al, al
jne 0x43ab0f
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43aa33
test byte [eax + 0x3c], 1
je 0x43aa33
cmp byte [eax + 0x39], 5
jb 0x43aa33
push 0x45fd94
push 0x2a
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
push ecx
push edx
call fcn.0041b140
mov edi, dword [ebp - 0x84]
xor eax, eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov ebx, 0x10
push ecx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], eax
call fcn.0043a4a0
lea eax, [ebp - 0xbc]
push eax
lea edx, [ebp - 0x80]
mov dword [ebp - 0xa4], edx
mov edx, dword [0x471c20]
lea ecx, [ebp - 0x64]
push ecx
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x94], 0x1010
mov eax, dword [edx + 0x18]
push 0xffffffffffffffff
call eax
cmp eax, 0x800b0101
jg 0x43ad7b
je 0x43ae20
cmp eax, 0x800b0003
jg 0x43aca8
je 0x43acbe
cmp eax, 0x80092026
je 0x43ae20
cmp eax, 0x80096001
jne 0x43addf
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43aafd
test byte [eax + 0x3c], 1
je 0x43aafd
cmp byte [eax + 0x39], 5
jb 0x43aafd
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
push 0x45fd94
push 0x33
push ecx
push edx
call fcn.0041b140
mov eax, dword [ebp - 0x68]
mov dword [eax + 0x820], 0xffffffff
jmp 0x43aed9
cmp dword [ebp - 0x48], edi
jne 0x43ab44
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43aa33
test byte [eax + 0x3c], 1
je 0x43aa33
cmp byte [eax + 0x39], 5
jb 0x43aa33
push 0x45fd94
push 0x2b
jmp 0x43aa26
mov eax, dword [ebp - 0x4c]
push 0
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0043c073
mov edi, eax
add esp, 4
test edi, edi
jne 0x43ab9d
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43ac81
test byte [eax + 0x3c], 1
je 0x43ac81
cmp byte [eax + 0x39], 5
jb 0x43ac81
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
push 0x45fd94
push 0x2c
push edx
push eax
jmp 0x43ac7c
mov edx, dword [ebp - 0x48]
push 0
lea ecx, [ebp - 0x8c]
push ecx
push edx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x43abe6
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43ac81
test byte [eax + 0x3c], 1
je 0x43ac81
cmp byte [eax + 0x39], 5
jb 0x43ac81
push 0x45fd94
push 0x2d
jmp 0x43ac74
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x88]
push ecx
push 0x40
lea edx, [ebp - 0x44]
push edx
push eax
push edi
call fcn.0044ce80
movzx eax, al
add esp, 0x18
test eax, eax
mov dword [ebp - 0x6c], eax
je 0x43ac55
mov ecx, dword [ebp - 0x70]
mov eax, ecx
and eax, 0xf0000
je 0x43ac81
cmp eax, 0x10000
je 0x43ac81
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43ac51
test byte [eax + 0x3c], 1
je 0x43ac51
cmp byte [eax + 0x39], 5
jb 0x43ac51
mov edx, dword [eax + 0x30]
push ecx
mov ecx, dword [eax + 0x34]
push 0x45fd94
push 0x2e
push ecx
push edx
call fcn.00401230
mov bl, 1
jmp 0x43ac81
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43ac81
test byte [eax + 0x3c], 1
je 0x43ac81
cmp byte [eax + 0x39], 5
jb 0x43ac81
push 0x45fd94
push 0x2f
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
push ecx
push edx
call fcn.0041b140
test edi, edi
je 0x43ac8e
push edi
call fcn.0043c1ba
add esp, 4
test bl, bl
je 0x43aa33
mov eax, dword [ebp - 0x68]
mov dword [eax + 0x824], 1
jmp 0x43af3e
cmp eax, 0x800b0004
je 0x43ad5a
cmp eax, 0x800b0100
jne 0x43addf
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x800b0100
je 0x43ad18
cmp eax, 0x800b0003
je 0x43ad18
cmp eax, 0x800b0001
je 0x43ad18
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43ad48
test byte [eax + 0x3c], 1
je 0x43ad48
cmp byte [eax + 0x39], 5
jb 0x43ad48
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
push edi
push 0x45fd94
push 0x35
push ecx
push edx
call fcn.00401260
mov edx, dword [ebp - 0x68]
mov dword [edx + 0x824], 1
jmp 0x43aee0
mov ecx, dword [0x46500c]
cmp ecx, 0x46500c
je 0x43ad48
test byte [ecx + 0x3c], 1
je 0x43ad48
cmp byte [ecx + 0x39], 5
jb 0x43ad48
push eax
mov eax, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x30]
push edi
push 0x45fd94
push 0x34
push eax
push ecx
call fcn.00435ab0
mov edx, dword [ebp - 0x68]
mov dword [edx + 0x824], 1
jmp 0x43aee0
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43adc9
test byte [eax + 0x3c], 1
je 0x43adc9
cmp byte [eax + 0x39], 5
jb 0x43adc9
push 0x45fd94
push 0x37
jmp 0x43adbc
cmp eax, 0x800b0111
jg 0x43addb
je 0x43ad9d
cmp eax, 0x800b0109
jl 0x43addf
cmp eax, 0x800b010a
jle 0x43ae20
cmp eax, 0x800b010e
jmp 0x43addd
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43adc9
test byte [eax + 0x3c], 1
je 0x43adc9
cmp byte [eax + 0x39], 5
jb 0x43adc9
push 0x45fd94
push 0x36
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
push ecx
push edx
call fcn.0041b140
mov eax, dword [ebp - 0x68]
mov dword [eax + 0x824], 1
jmp 0x43aee0
test eax, eax
je 0x43ae20
mov ecx, dword [0x46500c]
cmp ecx, 0x46500c
je 0x43aee0
test byte [ecx + 0x3c], 1
je 0x43aee0
cmp byte [ecx + 0x39], 5
jb 0x43aee0
mov edx, dword [ecx + 0x34]
push eax
mov eax, dword [ecx + 0x30]
push edi
push 0x45fd94
push 0x38
push edx
push eax
call fcn.00435ab0
jmp 0x43aee0
test eax, eax
mov esi, dword [ebp - 0x68]
mov dword [esi + 0x824], 0
jne 0x43ae39
mov dword [esi + 0x824], ebx
jmp 0x43ae94
cmp eax, 0x800b0109
jne 0x43ae61
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43aeca
test byte [eax + 0x3c], 1
je 0x43ae99
cmp byte [eax + 0x39], 5
jb 0x43ae99
push 0x45fd94
push 0x30
jmp 0x43ae87
cmp eax, 0x800b010a
jne 0x43ae94
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43aeca
test byte [eax + 0x3c], 1
je 0x43ae99
cmp byte [eax + 0x39], 5
jb 0x43ae99
push 0x45fd94
push 0x31
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
push ecx
push edx
call fcn.0041b140
mov eax, dword [0x46500c]
cmp eax, 0x46500c
je 0x43aeca
test byte [eax + 0x3c], 1
je 0x43aeca
cmp byte [eax + 0x39], 5
jb 0x43aeca
mov ecx, dword [esi + 0x824]
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
and ecx, ebx
push ecx
push edi
push 0x45fd94
push 0x32
push edx
push eax
call fcn.00435ab0
push 0
push esi
lea ecx, [ebp - 0xbc]
push ecx
call fcn.0043a6a0
mov dword [ebp - 0x6c], 1
cmp dword [ebp - 0x9c], 0
je 0x43af3e
mov ecx, dword [0x471c20]
lea edx, [ebp - 0xbc]
push edx
lea eax, [ebp - 0x54]
push eax
mov dword [ebp - 0x54], 0xaac56b
mov word [ebp - 0x50], 0xcd44
mov word [ebp - 0x4e], 0x11d0
mov byte [ebp - 0x4c], 0x8c
mov byte [ebp - 0x4b], 0xc2
mov byte [ebp - 0x4a], 0
mov byte [ebp - 0x49], 0xc0
mov byte [ebp - 0x48], 0x4f
mov byte [ebp - 0x47], 0xc2
mov byte [ebp - 0x46], 0x95
mov byte [ebp - 0x45], 0xee
mov dword [ebp - 0xa0], 2
mov edx, dword [ecx + 0x18]
push 0
call edx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x6c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043c015
mov esp, ebp
pop ebp
ret 0xc