Function at 0x10043720
Capabilities:
Get file size
Read file on windows

Disassembly:
sub esp, 0x214
mov eax, dword [0x10139d00]
xor eax, esp
mov dword [esp + 0x210], eax
push ebp
mov ebp, dword [esp + 0x21c]
push 0x1ff
lea eax, [esp + 0x19]
push 0
push eax
mov dword [esp + 0x18], ebp
mov byte [esp + 0x20], 0
call fcn.100d4cc0
mov eax, ebp
add esp, 0xc
mov dword [esp + 0x10], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10043766
sub eax, edx
sar eax, 1
mov dword [esp + 4], eax
cmp eax, 5
jae 0x10043796
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.100d0738
add esp, 0x214
ret
push esi
push 0
push 0
push 3
push 0
push 1
push SysReAllocString
push ebp
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x100437cd
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.100d0738
add esp, 0x214
ret
push edi
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 0
lea ecx, [esp + 0x1c]
push ecx
push 0x200
lea edx, [esp + 0x28]
push edx
push esi
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [esp + 0x18]
cmp edi, 0x14
jbe 0x10043ed9
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x1c]
je 0x10043aa1
test eax, eax
je 0x100438c0
cmp edi, 0xdc
jbe 0x10043aa1
cmp dword [esp + 0x5c], 0
jne 0x10043aa1
cmp dword [esp + 0xe0], 0
jne 0x10043aa1
mov ecx, dword [esp + 0xf4]
mov edx, ecx
and edx, 0xf
sub ecx, edx
add ecx, 0xec
cmp ecx, dword [esp + 0x10]
je 0x100438a3
mov ecx, dword [esp + 0xc]
mov edx, str..exx
lea ecx, [ebp + ecx*2 - 8]
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043896
test si, si
je 0x10043892
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043896
add ecx, 4
add edx, 4
test si, si
jne 0x10043870
xor ecx, ecx
jmp 0x1004389b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10043aa1
pop edi
pop esi
mov eax, 4
pop ebp
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.100d0738
add esp, 0x214
ret
cmp edi, 0x19e
jbe 0x10043c9c
cmp byte [esp + 0x20], 4
jne 0x10043c9c
cmp byte [esp + 0xe2], 0
jne 0x10043c9c
cmp byte [esp + 0xe3], 4
jne 0x10043c9c
cmp byte [esp + 0x1a5], 0
jne 0x10043c9c
mov ecx, dword [esp + 0x1b6]
mov edx, ecx
and edx, 0xf
sub ecx, edx
add ecx, 0x1ae
cmp ecx, dword [esp + 0x10]
ja 0x10043c9c
mov eax, dword [esp + 0xc]
lea edi, [ebp + eax*2 - 8]
mov edx, str..xyz
mov ecx, edi
mov edi, edi
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043956
test si, si
je 0x10043952
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043956
add ecx, 4
add edx, 4
test si, si
jne 0x10043930
xor ecx, ecx
jmp 0x1004395b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..zzz
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043996
test si, si
je 0x10043992
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043996
add ecx, 4
add edx, 4
test si, si
jne 0x10043970
xor ecx, ecx
jmp 0x1004399b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..aaa
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x100439d6
test si, si
je 0x100439d2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x100439d6
add ecx, 4
add edx, 4
test si, si
jne 0x100439b0
xor ecx, ecx
jmp 0x100439db
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..abc
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043a16
test si, si
je 0x10043a12
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043a16
add ecx, 4
add edx, 4
test si, si
jne 0x100439f0
xor ecx, ecx
jmp 0x10043a1b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..ccc
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043a56
test si, si
je 0x10043a52
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043a56
add ecx, 4
add edx, 4
test si, si
jne 0x10043a30
xor ecx, ecx
jmp 0x10043a5b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..vvv
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043c76
test si, si
je 0x10043a9a
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043c76
add ecx, 4
add edx, 4
test si, si
jne 0x10043a70
xor ecx, ecx
jmp 0x10043c7b
cmp eax, 0xefbeadde
jne 0x10043c9c
cmp edi, 0x19e
jbe 0x10043c9c
cmp byte [esp + 0x20], 4
jne 0x10043c9c
cmp byte [esp + 0xe2], 0
jne 0x10043c9c
cmp byte [esp + 0xe3], 4
jne 0x10043c9c
cmp byte [esp + 0x1a5], 0
jne 0x10043c9c
mov ecx, dword [esp + 0x1b6]
mov edx, ecx
and edx, 0xf
sub ecx, edx
add ecx, 0x1ae
cmp ecx, dword [esp + 0x10]
ja 0x10043c9c
mov eax, dword [esp + 0xc]
lea edi, [ebp + eax*2 - 8]
mov edx, str..xyz
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043b46
test si, si
je 0x10043b42
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043b46
add ecx, 4
add edx, 4
test si, si
jne 0x10043b20
xor ecx, ecx
jmp 0x10043b4b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..zzz
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043b86
test si, si
je 0x10043b82
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043b86
add ecx, 4
add edx, 4
test si, si
jne 0x10043b60
xor ecx, ecx
jmp 0x10043b8b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..aaa
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043bc6
test si, si
je 0x10043bc2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043bc6
add ecx, 4
add edx, 4
test si, si
jne 0x10043ba0
xor ecx, ecx
jmp 0x10043bcb
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..abc
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043c06
test si, si
je 0x10043c02
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043c06
add ecx, 4
add edx, 4
test si, si
jne 0x10043be0
xor ecx, ecx
jmp 0x10043c0b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..ccc
mov ecx, edi
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043c3c
test si, si
je 0x10043c38
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043c3c
add ecx, 4
add edx, 4
test si, si
jne 0x10043c16
xor ecx, ecx
jmp 0x10043c41
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043c7f
mov edx, str..vvv
mov ecx, edi
lea esp, [esp]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043c76
test si, si
je 0x10043c72
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043c76
add ecx, 4
add edx, 4
test si, si
jne 0x10043c50
xor ecx, ecx
jmp 0x10043c7b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10043c9c
pop edi
pop esi
mov eax, 5
pop ebp
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.100d0738
add esp, 0x214
ret
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
mov ecx, ebp
and ecx, 0xf
mov edx, ebp
sub edx, ecx
add edx, 0x24
cmp edx, dword [esp + 0x10]
jne 0x10043d52
mov ecx, dword [esp + 0x14]
lea edi, [ecx + eax*2 - 8]
mov edx, str..ecc
mov ecx, edi
lea esp, [esp]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043cf6
test si, si
je 0x10043cf2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043cf6
add ecx, 4
add edx, 4
test si, si
jne 0x10043cd0
xor ecx, ecx
jmp 0x10043cfb
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043d35
mov edx, str..ezz
mov ecx, edi
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043d2c
test si, si
je 0x10043d28
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043d2c
add ecx, 4
add edx, 4
test si, si
jne 0x10043d06
xor ecx, ecx
jmp 0x10043d31
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10043d52
pop edi
pop esi
mov eax, 3
pop ebp
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.100d0738
add esp, 0x214
ret
cmp dword [esp + 0x1c], 0
jne 0x10043ed9
test ebp, ebp
jne 0x10043ed9
cmp byte [esp + 0x34], 4
jne 0x10043ed9
cmp dword [esp + 0x95], ebp
jne 0x10043ed9
cmp byte [esp + 0xb4], 4
jne 0x10043ed9
cmp byte [esp + 0xf8], 4
jne 0x10043ed9
cmp word [esp + 0xf5], bp
jne 0x10043ed9
mov edx, dword [esp + 0x14]
lea edi, [edx + eax*2 - 8]
mov edx, str..xxx
mov ecx, edi
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043ddc
test si, si
je 0x10043dd8
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043ddc
add ecx, 4
add edx, 4
test si, si
jne 0x10043db6
xor ecx, ecx
jmp 0x10043de1
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043ebc
mov edx, str..ttt
mov ecx, edi
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043e16
test si, si
je 0x10043e12
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043e16
add ecx, 4
add edx, 4
test si, si
jne 0x10043df0
xor ecx, ecx
jmp 0x10043e1b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043ebc
mov edx, 0x1012b0b4
mov ecx, edi
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043e56
test si, si
je 0x10043e52
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043e56
add ecx, 4
add edx, 4
test si, si
jne 0x10043e30
xor ecx, ecx
jmp 0x10043e5b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x10043ebc
mov ecx, dword [esp + 0x14]
mov edx, str..micro
lea ecx, [ecx + eax*2 - 0xc]
lea esp, [esp]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10043e96
test si, si
je 0x10043e92
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10043e96
add ecx, 4
add edx, 4
test si, si
jne 0x10043e70
xor eax, eax
jmp 0x10043e9b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10043ebc
pop edi
pop esi
mov eax, 8
pop ebp
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.100d0738
add esp, 0x214
ret
pop edi
pop esi
mov eax, 7
pop ebp
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.100d0738
add esp, 0x214
ret
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
pop ebp
xor ecx, esp
xor eax, eax
call fcn.100d0738
add esp, 0x214
ret