Function at 0x4070e0
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov ecx, dword [0x44f834]
mov eax, dword [esp + 0x78]
lea ebx, [esp + 0x44]
xor ecx, esp
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x10]
mov edi, dword [eax]
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], 0
push edi
call fcn.0042d0d0
add esp, 4
mov dword [esp + 0x34], ebx
mov esi, eax
mov ebp, 0x94bdbd64
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x38], eax
mov eax, 0xdf525684
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0xdf525683
jg 0x407190
cmp eax, 0x834bf741
je 0x407235
cmp eax, 0x94bdbd64
jne 0x407150
sub esp, 0xc
mov al, byte [esp + 0x3c]
lea ecx, [esp + 0x50]
mov byte [esp + 4], al
mov dword [esp + 8], edi
mov dword [esp], esi
call fcn.00407c40
mov eax, 0x834bf741
cmp eax, 0xdf525683
jle 0x407157
cmp eax, 0x15f7cc9a
je 0x4071b5
cmp eax, 0xdf525684
jne 0x407150
mov eax, dword [esp + 0x38]
cmp eax, esi
mov eax, 0x15f7cc9a
cmovb eax, ebp
cmp eax, 0xdf525683
jle 0x407157
jmp 0x407190
mov eax, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ecx
mov ecx, 0xc5bf5291
nop word [eax + eax]
cmp ecx, 0xb86a72eb
je 0x40721a
cmp ecx, 0x16192ea3
je 0x407207
cmp ecx, 0xc5bf5291
jne 0x4071d0
cmp dword [eax + 0x14], 0xf
mov ebx, dword [esp + 0x40]
mov ecx, 0xb86a72eb
mov edx, 0x16192ea3
cmova ecx, edx
cmp ecx, 0xb86a72eb
jne 0x4071d8
jmp 0x40721a
mov ecx, dword [esp + 0x3c]
mov ebx, dword [ecx]
mov ecx, 0xb86a72eb
cmp ecx, 0xb86a72eb
jne 0x4071d8
mov eax, dword [esp + 0x34]
mov dword [eax + 0x10], esi
push esi
push edi
push ebx
call fcn.00424580
add esp, 0xc
mov byte [ebx + esi], 0
jmp 0x407184
lea eax, [esp + 0x44]
mov ecx, 0x30b617f6
mov edx, 0xdf29924e
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x58], 0xf
mov dword [esp + 0x40], eax
mov eax, 0x11d211d3
cmova eax, ecx
nop dword [eax]
cmp edx, 0x30b617f6
je 0x407286
cmp edx, 0x11d211d3
je 0x40729b
cmp edx, 0xdf29924e
jne 0x407260
mov ecx, dword [esp + 0x40]
mov edx, eax
cmp edx, 0x30b617f6
jne 0x407268
mov ecx, dword [esp + 0x3c]
mov edx, 0x11d211d3
mov ecx, dword [ecx]
cmp edx, 0x30b617f6
jne 0x407268
jmp 0x407286
push 0x449b3f
push ecx
call fcn.0042b926
add esp, 8
mov dword [esp + 0x14], eax
mov eax, 0x5c05c03c
cmp eax, 0x5c05c03b
jle 0x4072e7
jmp 0x407350
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.004061f0
add esp, 8
mov eax, 0xd97149b9
mov dword [esp + 0xc], 0
nop dword [eax + eax]
cmp eax, 0x5c05c03b
jg 0x407350
cmp eax, 0xd97149b8
jle 0x407310
cmp eax, 0xed29090b
je 0x407451
cmp eax, 0x516326a9
je 0x4072be
cmp eax, 0xd97149b9
jne 0x4072e0
jmp 0x407579
cmp eax, 0x833ee4e8
je 0x40748d
cmp eax, 0xa97fa481
jne 0x4072e0
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 8]
mov eax, 0x78bc107f
mov esi, edi
add ebx, 0x28
inc ebp
mov dword [esp + 4], ecx
cmp eax, 0x5c05c03b
jle 0x4072e7
nop word cs:[eax + eax]
nop
cmp eax, 0x78bc107e
jg 0x407410
cmp eax, 0x5c05c03c
je 0x4074aa
cmp eax, 0x72d67995
jne 0x4072e0
push 2
push 0
push dword [esp + 0x1c]
call fcn.0042a584
add esp, 0xc
push dword [esp + 0x14]
call fcn.0042bfed
add esp, 4
mov ebx, eax
push dword [esp + 0x14]
call fcn.0042b2be
add esp, 4
lea eax, [esp + 0x44]
mov ecx, 0x30b617f6
mov edx, 0xdf29924e
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x58], 0xf
mov dword [esp + 0x40], eax
mov eax, 0x11d211d3
cmova eax, ecx
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0x30b617f6
je 0x4073fa
cmp edx, 0x11d211d3
je 0x4074cc
cmp edx, 0xdf29924e
jne 0x4073d0
mov ecx, dword [esp + 0x40]
mov edx, eax
cmp edx, 0x30b617f6
jne 0x4073d8
mov ecx, dword [esp + 0x3c]
mov edx, 0x11d211d3
mov ecx, dword [ecx]
cmp edx, 0x30b617f6
jne 0x4073d8
jmp 0x4073fa
cmp eax, 0x78bc107f
je 0x40753e
cmp eax, 0x7e13b3a6
jne 0x4072e0
mov eax, dword [esp + 0x2c]
mov edi, dword [eax + 0x14]
add edi, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], eax
mov eax, 0xa97fa481
cmp eax, 0x5c05c03b
jle 0x4072e7
jmp 0x407350
push str..back
push dword [esp + 0x30]
call fcn.0042cff0
add esp, 8
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
test eax, eax
mov eax, 0xa97fa481
mov ecx, 0x7e13b3a6
cmove eax, ecx
mov dword [esp + 8], edx
cmp eax, 0x5c05c03b
jle 0x4072e7
jmp 0x407350
mov eax, 0xd97149b9
mov dword [esp + 0xc], 0xffffffff
cmp eax, 0x5c05c03b
jle 0x4072e7
jmp 0x407350
cmp dword [esp + 0x14], 0
mov eax, 0x72d67995
mov ecx, 0x833ee4e8
cmove eax, ecx
cmp eax, 0x5c05c03b
jle 0x4072e7
jmp 0x407350
push 0x449b3f
push ecx
call fcn.0042b926
add esp, 8
mov ebp, eax
push ebx
call fcn.0042cb4c
add esp, 4
mov dword [esp + 0x18], eax
push ebp
push ebx
push 1
push dword [esp + 0x24]
call fcn.0042bca7
add esp, 0x10
push ebp
call fcn.0042b2be
add esp, 4
mov eax, dword [esp + 0x18]
xor ebp, ebp
xor esi, esi
mov eax, dword [eax + 0x3c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], 0
movzx edx, word [ecx + eax + 6]
lea ebx, [ecx + eax + 0xf8]
mov eax, 0x78bc107f
mov dword [esp + 0x1c], edx
cmp eax, 0x5c05c03b
jle 0x4072e7
jmp 0x407350
mov eax, dword [esp + 4]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
mov edx, 0xed29090b
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp ecx, eax
mov eax, 0x516326a9
cmovl eax, edx
cmp eax, 0x5c05c03b
jle 0x4072e7
jmp 0x407350
lea eax, [esp + 0x44]
mov esi, 0x5b63c86a
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov eax, 0x1f827f1
nop
cmp eax, 0xe63e0ae3
je 0x4075e1
cmp eax, 0x5b63c86a
je 0x4075be
cmp eax, 0x1f827f1
jne 0x407590
mov eax, dword [esp + 0x40]
cmp dword [eax + 0x14], 0xf
mov eax, 0xe63e0ae3
cmova eax, esi
cmp eax, 0xe63e0ae3
jne 0x407597
jmp 0x4075e1
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 0x14]
inc ecx
push ecx
push dword [eax]
call fcn.004078e0
add esp, 8
mov eax, 0xe63e0ae3
cmp eax, 0xe63e0ae3
jne 0x407597
mov eax, dword [esp + 0x40]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x40]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x40]
mov byte [eax], 0
mov ecx, dword [0x450520]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
or ecx, 0xb8058f58
xor esi, 0x47fa70a7
mov edx, ecx
mov edi, ecx
and esi, eax
not edx
and edi, 0x4a5eb488
and edx, 0x5a04027
or edx, edi
mov edi, esi
and esi, 0xb5a14b77
not edi
or ecx, edi
and edi, 0x4a5eb488
or esi, edi
not ecx
mov edi, 0x6901612f
xor esi, edx
or ecx, esi
mov esi, 0xe725cd14
mov edx, ecx
and ecx, 0x47fa70a6
not edx
and edx, 0xb8058f59
or ecx, edx
mov edx, eax
and eax, 0x4fec80b8
not edx
not ecx
and edx, 0xb0137f47
or eax, edx
mov edx, ecx
xor eax, 0x4fec80b8
and edx, eax
xor eax, ecx
mov ecx, dword [0x450524]
or eax, edx
mov edx, eax
and eax, 0xb5fcdb30
not edx
and edx, 0x4a0324cf
or eax, edx
xor eax, 0xb5fcdb30
sete al
setne dl
sete byte [esp + 0x3c]
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl ch
setl byte [esp + 0x40]
and al, ah
mov cl, ch
xor cl, dl
and dl, ch
xor cl, 1
or al, dl
or cl, ah
mov edx, eax
mov dh, cl
xor dl, cl
xor dh, 1
xor dl, 1
and cl, dh
mov ah, cl
xor cl, dh
and ah, dh
or cl, ah
xor cl, al
or al, dh
xor al, 1
or al, dl
mov edx, eax
xor dl, cl
test al, 1
mov eax, 0x6901612f
cmovne edi, esi
test cl, 1
cmove edi, esi
test dl, 1
cmove edi, eax
mov eax, 0x8664642e
nop word [eax + eax]
cmp eax, 0x541df2d9
jg 0x407740
cmp eax, 0x8664642e
je 0x407757
cmp eax, 0xe725cd14
jne 0x407710
mov eax, 0x541df2da
cmp eax, 0x541df2d9
jle 0x407717
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x541df2da
je 0x40787e
cmp eax, 0x6901612f
jne 0x407710
jmp 0x407890
mov ah, byte [esp + 0x3c]
mov al, byte [esp + 0x40]
mov bl, ah
mov edx, eax
mov byte [esp + 8], al
mov ch, ah
xor bl, 1
xor dl, 1
mov bh, bl
mov cl, dl
and bh, ah
or cl, al
xor bh, 1
mov byte [esp + 4], cl
mov al, bh
mov dh, bh
or dh, ah
xor al, ah
mov ah, bl
xor dh, 1
xor ah, bh
or bh, bl
xor bh, 1
or dh, al
mov al, dl
xor al, cl
or bh, ah
and cl, dl
mov ah, ch
and al, dl
mov byte [esp + 2], bh
and bh, dl
or dl, bl
or bl, ch
mov ch, dh
mov byte [esp + 3], al
mov al, bl
xor ch, 1
and dh, bl
xor dl, 1
xor al, 1
and ch, al
mov al, ah
and al, bl
xor bl, ah
or dh, ch
mov ch, ah
mov ah, byte [esp + 3]
or bl, al
mov al, dh
xor bl, 1
and al, bl
xor bl, dh
mov dh, byte [esp + 8]
or bl, al
mov al, byte [esp + 4]
xor bl, 1
xor ch, dh
xor al, 1
or dl, ch
and al, dh
xor dl, 1
or cl, al
mov al, ah
and al, cl
xor cl, ah
mov ah, byte [esp + 2]
or cl, al
mov al, bl
xor al, cl
or bl, cl
xor al, 1
and al, cl
mov ecx, ebx
xor ah, 1
xor cl, al
xor al, 1
and ah, dh
or al, bl
xor cl, 1
or bh, ah
xor al, 1
or al, cl
mov cl, dh
mov cl, bh
mov ch, al
and cl, dl
xor dl, bh
mov ebx, 0x541df2da
xor ch, 1
or dl, cl
and ch, al
mov ah, ch
xor ch, al
and ah, al
or ch, ah
mov ah, ch
and ch, dl
xor dl, 1
xor ah, 1
and ah, dl
or ch, ah
mov ah, al
xor ah, dl
or dl, al
xor dl, 1
or dl, ah
mov eax, edx
xor al, ch
test al, 1
mov eax, 0x541df2da
cmovne ebx, esi
test dl, 1
cmovne eax, ebx
test ch, 1
cmove eax, ebx
cmp eax, 0x541df2d9
jg 0x407740
jmp 0x407717
mov eax, edi
cmp eax, 0x541df2d9
jg 0x407740
jmp 0x407717
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.0041ede8
mov eax, dword [esp + 0xc]
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret