Function at 0x6a301958
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xac
mov ebx, dword [ebp + 8]
mov dword [esp], 0x6a313060
call fcn.6a305e20
test eax, eax
jne 0x6a30205c
mov eax, dword [ebx + 4]
test eax, eax
jne 0x6a301ac3
mov dword [ebx + 4], 0xffffffff
mov dword [ebx + 8], 0
mov eax, dword [ebx]
test eax, eax
je 0x6a301abc
mov dword [esp + 4], 0x8000
mov dword [esp], eax
call sub.msvcrt.dll__open
mov edi, eax
cmp eax, 0xffffffff
je 0x6a301abc
lea eax, [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll__fstat
test eax, eax
jne 0x6a301af4
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x54], eax
cmp eax, 0x2f
jbe 0x6a301af4
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x50], eax
test eax, eax
je 0x6a301af4
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x4c], ebx
mov ebx, eax
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.msvcrt.dll__read
test eax, eax
jle 0x6a301ae0
add ebx, eax
sub esi, eax
test esi, esi
jne 0x6a3019fa
mov ebx, dword [ebp - 0x4c]
mov dword [esp], edi
call sub.msvcrt.dll__close
mov edx, dword [ebp - 0x50]
mov esi, dword [edx]
cmp esi, 0x950412de
jne 0x6a3027ff
mov dword [esp], 0x8c
call sub.msvcrt.dll_malloc
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x6a301abc
mov dword [ebx + 8], eax
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
xor eax, eax
cmp esi, 0x950412de
setne al
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 0
test eax, eax
jne 0x6a301b00
mov edx, dword [ebp - 0x50]
mov ecx, dword [edx + 4]
mov edx, ecx
sar edx, 0x10
cmp edx, 1
jbe 0x6a301b18
xor eax, eax
mov dword [esp], eax
call sub.msvcrt.dll_free
mov esi, dword [ebp - 0x50]
mov dword [esp], esi
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov dword [ebx + 8], 0
lea esi, [esi]
mov dword [ebx + 4], 1
mov dword [esp], 0x6a313060
call fcn.6a305ec0
test eax, eax
jne 0x6a30205c
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
leave
ret
inc eax
jne 0x6a301af1
call sub.msvcrt.dll__errno
cmp dword [eax], 4
je 0x6a301a16
mov ebx, dword [ebp - 0x4c]
mov dword [esp], edi
call sub.msvcrt.dll__close
jmp 0x6a301abc
mov esi, dword [ebp - 0x50]
mov edx, dword [esi + 4]
rol dx, 8
rol edx, 0x10
rol dx, 8
mov ecx, edx
jmp 0x6a301a84
test eax, eax
je 0x6a301c38
mov esi, dword [ebp - 0x50]
mov edx, dword [esi + 8]
rol dx, 8
rol edx, 0x10
rol dx, 8
mov esi, dword [ebp - 0x4c]
mov dword [esi + 0x14], edx
mov esi, dword [ebp - 0x50]
mov edx, dword [esi + 0xc]
rol dx, 8
rol edx, 0x10
rol dx, 8
add edx, esi
mov esi, dword [ebp - 0x4c]
mov dword [esi + 0x18], edx
mov esi, dword [ebp - 0x50]
mov edx, dword [esi + 0x10]
rol dx, 8
rol edx, 0x10
rol dx, 8
add edx, esi
mov esi, dword [ebp - 0x4c]
mov dword [esi + 0x1c], edx
mov esi, dword [ebp - 0x50]
mov edx, dword [esi + 0x14]
rol dx, 8
rol edx, 0x10
rol dx, 8
mov esi, dword [ebp - 0x4c]
mov dword [esi + 0x2c], edx
cmp edx, 2
jbe 0x6a301d74
test eax, eax
je 0x6a301d7c
mov esi, dword [ebp - 0x50]
mov edx, dword [esi + 0x18]
rol dx, 8
rol edx, 0x10
rol dx, 8
add edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x4c]
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], eax
test cx, cx
jne 0x6a301c64
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov edx, dword [ebp - 0x4c]
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov eax, edx
add eax, 0x40
mov dword [esp], eax
call fcn.6a305998
lea eax, [ebp - 0x1c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6a31408e
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.6a303e28
mov edx, dword [ebp - 0x4c]
add edx, 0x88
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x4c]
add edx, 0x84
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.6a3055fc
jmp 0x6a301abc
mov esi, dword [ebp - 0x50]
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0x4c]
mov dword [esi + 0x14], edx
mov edx, dword [ebp - 0x50]
add edx, dword [edx + 0xc]
mov dword [esi + 0x18], edx
mov edx, dword [ebp - 0x50]
add edx, dword [edx + 0x10]
mov dword [esi + 0x1c], edx
mov esi, dword [ebp - 0x50]
mov edx, dword [esi + 0x14]
jmp 0x6a301b7a
test edx, edx
je 0x6a301dca
test eax, eax
je 0x6a301d88
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x24]
rol cx, 8
rol ecx, 0x10
rol cx, 8
mov dword [ebp - 0x60], ecx
mov edi, dword [ebp - 0x60]
test edi, edi
je 0x6a301d98
test eax, eax
je 0x6a301dd5
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x1c]
rol ax, 8
rol eax, 0x10
rol ax, 8
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x50]
mov esi, dword [edx + 0x20]
rol si, 8
rol esi, 0x10
rol si, 8
add esi, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
lea eax, [edx*4 + 0x1e]
and eax, 0xfffffff0
call fcn.6a30d5c0
lea ecx, [esp + 0x23]
and ecx, 0xfffffff0
mov dword [ebp - 0x5c], ecx
test edx, edx
je 0x6a302351
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x68], eax
xor edx, edx
mov dword [ebp - 0x64], ebx
mov ebx, eax
mov edi, dword [ebp - 0x5c]
jmp 0x6a301d57
sbb al, 3
retf
ror dword [ebx - 0x4fce7c0], cl
mov esi, 0x41d003c0
sal byte [ebp - 0xf], 0x81
cli
mov dl, 0x17
jmp 0x6a301dc6
dec ebp
clc
inc ebp
hlt
loopne 0x6a301d51
add dword [eax], eax
invalid
xor ecx, ecx
jmp 0x6a301d4a
call sub.msvcrt.dll_abort
cmp cl, 0x36
jne 0x6a30210e
cmp byte [eax + 5], 0x34
jne 0x6a301ff9
xor ecx, ecx
cmp byte [eax + 6], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a3027eb
cmp byte [ebp - 0x58], 0x69
je 0x6a3027e1
cmp byte [ebp - 0x58], 0x6f
je 0x6a3027d7
cmp byte [ebp - 0x58], 0x75
je 0x6a302879
cmp byte [ebp - 0x58], 0x78
je 0x6a30286f
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, str.I64X
jmp 0x6a301d4a
cmp cl, 0x4c
jne 0x6a30216b
cmp byte [eax + 5], 0x45
jne 0x6a301ff9
cmp byte [eax + 6], 0x41
jne 0x6a301ff9
cmp byte [eax + 7], 0x53
jne 0x6a301ff9
xor ecx, ecx
cmp byte [eax + 8], 0x54
jne 0x6a301d4a
mov cl, byte [eax + 9]
cmp cl, 0x38
je 0x6a3029df
cmp cl, 0x31
je 0x6a302987
cmp cl, 0x33
je 0x6a3028db
cmp cl, 0x36
je 0x6a302883
xor ecx, ecx
jmp 0x6a301d4a
cmp cl, 0x46
jne 0x6a30221d
xor ecx, ecx
cmp byte [eax + 5], 0x41
jne 0x6a301d4a
cmp byte [eax + 6], 0x53
jne 0x6a301d4a
cmp byte [eax + 7], 0x54
jne 0x6a301d4a
mov cl, byte [eax + 8]
mov byte [ebp - 0x6c], cl
cmp cl, 0x38
je 0x6a302b67
cmp byte [ebp - 0x6c], 0x31
je 0x6a302b0f
cmp byte [ebp - 0x6c], 0x33
je 0x6a302ab3
xor ecx, ecx
cmp byte [ebp - 0x6c], 0x36
jne 0x6a301d4a
cmp byte [eax + 9], 0x34
jne 0x6a301d4a
cmp byte [eax + 0xa], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a302aa9
cmp byte [ebp - 0x58], 0x69
je 0x6a302a9f
cmp byte [ebp - 0x58], 0x6f
je 0x6a302a95
cmp byte [ebp - 0x58], 0x75
je 0x6a302a8b
cmp byte [ebp - 0x58], 0x78
je 0x6a302a81
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, str.I64X
jmp 0x6a301d4a
cmp cl, 0x4d
jne 0x6a302288
xor ecx, ecx
cmp byte [eax + 5], 0x41
jne 0x6a301d4a
cmp byte [eax + 6], 0x58
jne 0x6a301d4a
cmp byte [eax + 7], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a30277c
cmp byte [ebp - 0x58], 0x69
je 0x6a302772
cmp byte [ebp - 0x58], 0x6f
je 0x6a302768
cmp byte [ebp - 0x58], 0x75
je 0x6a30275e
cmp byte [ebp - 0x58], 0x78
je 0x6a30285b
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, str.I64X
jmp 0x6a301d4a
cmp cl, 0x50
jne 0x6a301ff9
xor ecx, ecx
cmp byte [eax + 5], 0x54
jne 0x6a301d4a
cmp byte [eax + 6], 0x52
jne 0x6a301d4a
cmp byte [eax + 7], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a302754
cmp byte [ebp - 0x58], 0x69
je 0x6a30274a
cmp byte [ebp - 0x58], 0x6f
je 0x6a302740
cmp byte [ebp - 0x58], 0x75
je 0x6a302736
cmp byte [ebp - 0x58], 0x78
je 0x6a302818
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, 0x6a31406e
jmp 0x6a301d4a
mov esi, dword [ebp - 0x4c]
mov esi, dword [esi + 0xc]
mov dword [ebp - 0x68], esi
jmp 0x6a301dfa
mov ecx, 0x6a31406a
jmp 0x6a301d4a
mov ecx, 0x6a314068
jmp 0x6a301d4a
mov ecx, 0x6a314066
jmp 0x6a301d4a
mov ecx, str.diouxX
jmp 0x6a301d4a
mov ecx, str.I64u
jmp 0x6a301d4a
mov ecx, str.I64o
jmp 0x6a301d4a
mov ecx, str.I64i
jmp 0x6a301d4a
mov ecx, 0x6a314070
jmp 0x6a301d4a
mov ecx, str.I64o
jmp 0x6a301d4a
mov ecx, str.I64i
jmp 0x6a301d4a
mov ecx, 0x6a314070
jmp 0x6a301d4a
cmp esi, 0xde120495
je 0x6a301a36
mov dword [esp], edx
call sub.msvcrt.dll_free
jmp 0x6a301abc
mov ecx, 0x6a31406c
jmp 0x6a301d4a
mov ecx, str.I64x
jmp 0x6a301d4a
mov ecx, str.I64x
jmp 0x6a301d4a
mov ecx, str.I64u
jmp 0x6a301d4a
xor ecx, ecx
cmp byte [eax + 0xa], 0x34
jne 0x6a301d4a
cmp byte [eax + 0xb], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a30297d
cmp byte [ebp - 0x58], 0x69
je 0x6a302973
cmp byte [ebp - 0x58], 0x6f
je 0x6a302969
cmp byte [ebp - 0x58], 0x75
je 0x6a30295f
cmp byte [ebp - 0x58], 0x78
je 0x6a302923
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, str.I64X
jmp 0x6a301d4a
xor ecx, ecx
cmp byte [eax + 0xa], 0x32
jne 0x6a301d4a
cmp byte [eax + 0xb], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a302955
cmp byte [ebp - 0x58], 0x69
je 0x6a30294b
cmp byte [ebp - 0x58], 0x6f
je 0x6a302941
cmp byte [ebp - 0x58], 0x75
je 0x6a302937
cmp byte [ebp - 0x58], 0x78
je 0x6a30292d
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, 0x6a31406e
jmp 0x6a301d4a
mov ecx, str.I64x
jmp 0x6a301d4a
mov ecx, 0x6a31406c
jmp 0x6a301d4a
mov ecx, 0x6a31406a
jmp 0x6a301d4a
mov ecx, 0x6a314068
jmp 0x6a301d4a
mov ecx, 0x6a314066
jmp 0x6a301d4a
mov ecx, str.diouxX
jmp 0x6a301d4a
mov ecx, str.I64u
jmp 0x6a301d4a
mov ecx, str.I64o
jmp 0x6a301d4a
mov ecx, str.I64i
jmp 0x6a301d4a
mov ecx, 0x6a314070
jmp 0x6a301d4a
cmp byte [eax + 0xa], 0x36
jne 0x6a302164
xor ecx, ecx
cmp byte [eax + 0xb], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a302a77
cmp byte [ebp - 0x58], 0x69
je 0x6a302a6d
cmp byte [ebp - 0x58], 0x6f
je 0x6a302a63
cmp byte [ebp - 0x58], 0x75
je 0x6a302a59
cmp byte [ebp - 0x58], 0x78
je 0x6a302a1d
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, 0x6a31406e
jmp 0x6a301d4a
xor ecx, ecx
cmp byte [eax + 0xa], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a302a4f
cmp byte [ebp - 0x58], 0x69
je 0x6a302a45
cmp byte [ebp - 0x58], 0x6f
je 0x6a302a3b
cmp byte [ebp - 0x58], 0x75
je 0x6a302a31
cmp byte [ebp - 0x58], 0x78
je 0x6a302a27
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, 0x6a31406e
jmp 0x6a301d4a
mov ecx, 0x6a31406c
jmp 0x6a301d4a
mov ecx, 0x6a31406c
jmp 0x6a301d4a
mov ecx, 0x6a31406a
jmp 0x6a301d4a
mov ecx, 0x6a314068
jmp 0x6a301d4a
mov ecx, 0x6a314066
jmp 0x6a301d4a
mov ecx, str.diouxX
jmp 0x6a301d4a
mov ecx, 0x6a31406a
jmp 0x6a301d4a
mov ecx, 0x6a314068
jmp 0x6a301d4a
mov ecx, 0x6a314066
jmp 0x6a301d4a
mov ecx, str.diouxX
jmp 0x6a301d4a
mov ecx, str.I64x
jmp 0x6a301d4a
mov ecx, str.I64u
jmp 0x6a301d4a
mov ecx, str.I64o
jmp 0x6a301d4a
mov ecx, str.I64i
jmp 0x6a301d4a
mov ecx, 0x6a314070
jmp 0x6a301d4a
xor ecx, ecx
cmp byte [eax + 9], 0x32
jne 0x6a301d4a
cmp byte [eax + 0xa], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a302c31
cmp byte [ebp - 0x58], 0x69
je 0x6a302c27
cmp byte [ebp - 0x58], 0x6f
je 0x6a302c1d
cmp byte [ebp - 0x58], 0x75
je 0x6a302c13
cmp byte [ebp - 0x58], 0x78
je 0x6a302ba5
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, 0x6a31406e
jmp 0x6a301d4a
xor ecx, ecx
cmp byte [eax + 9], 0x36
jne 0x6a301d4a
cmp byte [eax + 0xa], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a302c09
cmp byte [ebp - 0x58], 0x69
je 0x6a302bff
cmp byte [ebp - 0x58], 0x6f
je 0x6a302bf5
cmp byte [ebp - 0x58], 0x75
je 0x6a302beb
cmp byte [ebp - 0x58], 0x78
je 0x6a302baf
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, 0x6a31406e
jmp 0x6a301d4a
xor ecx, ecx
cmp byte [eax + 9], 0
jne 0x6a301d4a
cmp byte [ebp - 0x58], 0x64
je 0x6a302be1
cmp byte [ebp - 0x58], 0x69
je 0x6a302bd7
cmp byte [ebp - 0x58], 0x6f
je 0x6a302bcd
cmp byte [ebp - 0x58], 0x75
je 0x6a302bc3
cmp byte [ebp - 0x58], 0x78
je 0x6a302bb9
cmp byte [ebp - 0x58], 0x58
jne 0x6a30205c
mov ecx, 0x6a31406e
jmp 0x6a301d4a
mov ecx, 0x6a31406c
jmp 0x6a301d4a
mov ecx, 0x6a31406c
jmp 0x6a301d4a
mov ecx, 0x6a31406c
jmp 0x6a301d4a
mov ecx, 0x6a31406a
jmp 0x6a301d4a
mov ecx, 0x6a314068
jmp 0x6a301d4a
mov ecx, 0x6a314066
jmp 0x6a301d4a
mov ecx, str.diouxX
jmp 0x6a301d4a
mov ecx, 0x6a31406a
jmp 0x6a301d4a
mov ecx, 0x6a314068
jmp 0x6a301d4a
mov ecx, 0x6a314066
jmp 0x6a301d4a
mov ecx, str.diouxX
jmp 0x6a301d4a
mov ecx, 0x6a31406a
jmp 0x6a301d4a
mov ecx, 0x6a314068
jmp 0x6a301d4a
mov ecx, 0x6a314066
jmp 0x6a301d4a
mov ecx, str.diouxX
jmp 0x6a301d4a