Function at 0x406990
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x34
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ebp - 0x28], 0xaa1f9ebb
jmp 0x4069d0
mov dword [ebp - 0x28], eax
nop
nop
nop
nop
mov eax, dword [ebp - 0x28]
cmp eax, 0x8a11a82f
jg 0x406a00
cmp eax, 0x85c8e4f2
jne 0x4069d0
mov al, byte [ebp - 5]
test al, al
mov eax, 0xb9b70be
jne 0x4069c9
mov eax, 0x4ad8f5b
jmp 0x4069c9
cmp eax, 0x8ba6e06a
jg 0x406a50
cmp eax, 0x8a11a830
jne 0x4069d0
mov eax, dword [ebp - 0x14]
mov ecx, 1
sub ecx, dword [eax]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.00416fb7
test eax, eax
mov eax, 0x7c49e0aa
jne 0x406a3d
mov eax, 0xca2c202a
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x912384b1
jg 0x406a88
cmp eax, 0x8ba6e06b
jne 0x4069d0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00416e63
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov dword [ebp - 0x28], 0x2a576644
jmp 0x4069d0
cmp eax, 0x92e9d585
jg 0x406acb
cmp eax, 0x912384b2
jne 0x4069d0
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xfffffffe
call fcn.00416fb7
test eax, eax
mov eax, 0x6b1c7bf7
jne 0x406ac3
mov eax, 0x7e0a9bd1
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x7f7e7d9c
jg 0x406b12
cmp eax, 0x934386ee
jg 0x406b29
cmp eax, 0x92e9d586
jne 0x4069d0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00416e63
mov dword [ebp - 0x24], eax
mov ecx, 0x6a5fd854
test eax, eax
jne 0x406b0a
mov ecx, 0x41995f4b
mov dword [ebp - 0x28], ecx
jmp 0x4069d0
cmp eax, 0x7f7e7d9d
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x9dee84e4
jg 0x406b6e
cmp eax, 0x934386ef
jne 0x4069d0
mov eax, dword [ebp - 0x14]
mov ecx, 0xfffffffc
sub ecx, dword [eax]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.00416fb7
test eax, eax
setne byte [ebp - 6]
mov dword [ebp - 0x28], 0x33544edd
jmp 0x4069d0
cmp eax, 0xa0d2d2fb
jg 0x406b8c
cmp eax, 0x9dee84e5
jne 0x4069d0
mov dword [ebp - 0x28], 0xfa8b42de
jmp 0x4069d0
cmp eax, 0xaa1f9eba
jg 0x406baa
cmp eax, 0xa0d2d2fc
jne 0x4069d0
mov dword [ebp - 0x28], 0x13a5d1f2
jmp 0x4069d0
cmp eax, 0xab72430c
jg 0x406bc8
cmp eax, 0xaa1f9ebb
jne 0x4069d0
mov dword [ebp - 0x28], 0xd342a00b
jmp 0x4069d0
cmp eax, 0xc1460171
jg 0x406be6
cmp eax, 0xab72430d
jne 0x4069d0
mov dword [ebp - 0x28], 0xd342a00b
jmp 0x4069d0
cmp eax, 0xc88cc50d
jg 0x406c32
cmp eax, 0xc1460172
jne 0x4069d0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.004171f9
mov ecx, dword [ebp - 0x14]
cmp eax, dword [ecx]
setne byte [ebp - 7]
mov dword [ebp - 0x28], 0x7e4801bf
jmp 0x4069d0
cmp eax, 0xca2c2029
jg 0x406c49
cmp eax, 0xc88cc50e
jne 0x4069d0
jmp 0x4069c0
cmp eax, 0xca82f391
jg 0x406c67
cmp eax, 0xca2c202a
jne 0x4069d0
mov dword [ebp - 0x28], 0x2a576644
jmp 0x4069d0
cmp eax, 0xceb98852
jg 0x406c85
cmp eax, 0xca82f392
jne 0x4069d0
mov dword [ebp - 0x28], 0x9dee84e5
jmp 0x4069d0
cmp eax, 0xcf4a1925
jg 0x406cc4
cmp eax, 0xceb98853
jne 0x4069d0
mov eax, dword [ebp - 0x14]
mov ecx, 0xfffffffc
sub ecx, dword [eax]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.00416fb7
mov dword [ebp - 0x28], 0x934386ef
jmp 0x4069d0
cmp eax, 0xd342a00a
jg 0x406ce2
cmp eax, 0xcf4a1926
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0xd6b7e300
jg 0x406d0a
cmp eax, 0xd342a00b
jne 0x4069d0
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
sete byte [ebp - 9]
mov dword [ebp - 0x28], 0x992928b
jmp 0x4069d0
cmp eax, 0xf2be7aea
jg 0x406d21
cmp eax, 0xd6b7e301
jne 0x4069d0
jmp 0x40734e
cmp eax, 0xf2ff653f
jg 0x406d3f
cmp eax, 0xf2be7aeb
jne 0x4069d0
mov dword [ebp - 0x28], 0x5a182c2f
jmp 0x4069d0
cmp eax, 0xfa8b42dd
jg 0x406d5d
cmp eax, 0xf2ff6540
jne 0x4069d0
mov dword [ebp - 0x28], 0x549a12b6
jmp 0x4069d0
cmp eax, 0x34ac66
jg 0x406d7b
cmp eax, 0xfa8b42de
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x4ad8f5a
jg 0x406d99
cmp eax, 0x34ac67
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x550c24f
jg 0x406ddf
cmp eax, 0x4ad8f5b
jne 0x4069d0
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
not eax
mov ecx, dword [ebp - 0x20]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 1
call fcn.00416fb7
test eax, eax
mov eax, 0x24b5bb7b
jne 0x406dd7
mov eax, 0x7ce1aae2
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x805385b
jg 0x406e0b
cmp eax, 0x550c250
jne 0x4069d0
mov ecx, dword [ebp - 0x18]
mov eax, 0x77310116
cmp dword [ecx], 0
jne 0x406e03
mov eax, 0xf12a5aa
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x992928a
jg 0x406e29
cmp eax, 0x805385c
jne 0x4069d0
mov dword [ebp - 0x28], 0xa0d2d2fc
jmp 0x4069d0
cmp eax, 0xb9b70bd
jg 0x406e54
cmp eax, 0x992928b
jne 0x4069d0
mov al, byte [ebp - 9]
test al, al
mov eax, 0x6a9954c4
jne 0x406e4c
mov eax, 0x8a11a830
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0xf12a5a9
jg 0x406e72
cmp eax, 0xb9b70be
jne 0x4069d0
mov dword [ebp - 0x28], 0xa0d2d2fc
jmp 0x4069d0
cmp eax, 0x7e4801be
jg 0x406eaa
cmp eax, 0x7e0a9bd0
jg 0x406ece
cmp eax, 0xf384135
jg 0x406ee5
cmp eax, 0xf12a5aa
jne 0x4069d0
mov eax, 0x7109661e
cmp dword [ebp - 0x24], 0
jne 0x406ea2
mov eax, 0x57ab78de
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x7e4801bf
jne 0x4069d0
mov al, byte [ebp - 7]
test al, al
mov eax, 0x34ac67
jne 0x406ec6
mov eax, 0x2d3484ad
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x7e0a9bd1
jne 0x4069d0
mov dword [ebp - 0x28], 0x5a182c2f
jmp 0x4069d0
cmp eax, 0x13a5d1f1
jg 0x406f03
cmp eax, 0xf384136
jne 0x4069d0
mov dword [ebp - 0x28], 0xc1460172
jmp 0x4069d0
cmp eax, 0x24b5bb7a
jg 0x406f21
cmp eax, 0x13a5d1f2
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x2a576643
jg 0x406f3f
cmp eax, 0x24b5bb7b
jne 0x4069d0
mov dword [ebp - 0x28], 0xf2ff6540
jmp 0x4069d0
cmp eax, 0x2d3484ac
jg 0x406f81
cmp eax, 0x2a576644
jne 0x4069d0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00416e63
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax], 0
setne byte [ebp - 8]
mov dword [ebp - 0x28], 0x3d8811a2
jmp 0x4069d0
cmp eax, 0x2f2550cb
jg 0x406f9f
cmp eax, 0x2d3484ad
jne 0x4069d0
mov dword [ebp - 0x28], 0x934386ef
jmp 0x4069d0
cmp eax, 0x33544edc
jg 0x406fbd
cmp eax, 0x2f2550cc
jne 0x4069d0
mov dword [ebp - 0x28], 0x7d05d494
jmp 0x4069d0
cmp eax, 0x3512bfd4
jg 0x406fe8
cmp eax, 0x33544edd
jne 0x4069d0
mov al, byte [ebp - 6]
test al, al
mov eax, 0x60f35e07
jne 0x406fe0
mov eax, 0x48f38229
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x3d8811a1
jg 0x407029
cmp eax, 0x3512bfd5
jne 0x4069d0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.004171f9
mov dword [ebp - 0x28], 0x7d05d494
jmp 0x4069d0
cmp eax, 0x41995f4a
jg 0x407054
cmp eax, 0x3d8811a2
jne 0x4069d0
mov al, byte [ebp - 8]
test al, al
mov eax, 0xf384136
jne 0x40704c
mov eax, 0x7f7e7d9d
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x48ced032
jg 0x407072
cmp eax, 0x41995f4b
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x48f38228
jg 0x407090
cmp eax, 0x48ced033
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x549a12b5
jg 0x4070db
cmp eax, 0x48f38229
jne 0x4069d0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov dword [esp + 8], 4
mov dword [esp + 4], 1
call fcn.004171f9
cmp eax, 4
mov eax, 0xcf4a1926
jne 0x4070d3
mov eax, 0x92e9d586
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x57ab78dd
jg 0x4070f9
cmp eax, 0x549a12b6
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x5a182c2e
jg 0x40711e
cmp eax, 0x57ab78de
jne 0x4069d0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x28], 0xd6b7e301
jmp 0x4069d0
cmp eax, 0x5b40b966
jg 0x40713c
cmp eax, 0x5a182c2f
jne 0x4069d0
mov dword [ebp - 0x28], 0xc88cc50e
jmp 0x4069d0
cmp eax, 0x5e09aecf
jg 0x40715a
cmp eax, 0x5b40b967
jne 0x4069d0
mov dword [ebp - 0x28], 0xf2ff6540
jmp 0x4069d0
cmp eax, 0x60f35e06
jg 0x40719d
cmp eax, 0x5e09aed0
jne 0x4069d0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.004171f9
mov dword [ebp - 0x28], 0xc1460172
jmp 0x4069d0
cmp eax, 0x65e22ba3
jg 0x4071bb
cmp eax, 0x60f35e07
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x6a5fd853
jg 0x4071d9
cmp eax, 0x65e22ba4
jne 0x4069d0
mov dword [ebp - 0x28], 0x9dee84e5
jmp 0x4069d0
cmp eax, 0x6a9954c3
jg 0x407222
cmp eax, 0x6a5fd854
jne 0x4069d0
mov eax, dword [ebp - 0x1c]
mov ecx, 0xfffffffc
sub ecx, dword [eax]
mov eax, dword [ebp - 0x20]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.00416fb7
test eax, eax
mov eax, 0xca82f392
jne 0x40721a
mov eax, 0x2f2550cc
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x6b1c7bf6
jg 0x40726d
cmp eax, 0x6a9954c4
jne 0x4069d0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x14]
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov dword [esp + 8], 1
mov dword [esp + 4], 1
call fcn.004171f9
cmp eax, 1
mov eax, 0x48ced033
jne 0x407265
mov eax, 0x912384b2
mov dword [ebp - 0x28], eax
jmp 0x4069d0
cmp eax, 0x7109661d
jg 0x40728b
cmp eax, 0x6b1c7bf7
jne 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x77310115
jg 0x4072b4
cmp eax, 0x7109661e
jne 0x4069d0
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.00416e2b
mov dword [ebp - 0x28], 0x57ab78de
jmp 0x4069d0
cmp eax, 0x7c49e0a9
jg 0x4072df
cmp eax, 0x77310116
jne 0x4069d0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.00416e2b
mov dword [ebp - 0x28], 0xf12a5aa
jmp 0x4069d0
cmp eax, 0x7c49e0aa
je 0x4072ff
cmp eax, 0x7ce1aae2
jne 0x40730b
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x28], 0xd6b7e301
jmp 0x4069d0
mov dword [ebp - 0x28], 0x550c250
jmp 0x4069d0
cmp eax, 0x7d05d494
jne 0x4069d0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x24]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.004171f9
mov ecx, dword [ebp - 0x1c]
cmp eax, dword [ecx]
setne byte [ebp - 5]
mov dword [ebp - 0x28], 0x85c8e4f2
jmp 0x4069d0
mov eax, dword [ebp - 0x10]
add esp, 0x34
pop esi
pop ebp
ret