Function at 0x426590
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x58
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [0x5cc180]
xor eax, ebp
mov dword [esp + 0x50], eax
mov dword [esp], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], esi
mov eax, 0xc036de59
jmp 0x426610
mov edx, dword [0x5cd244]
mov ecx, dword [0x5cd248]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x85909f87
mov edi, 0xf7b73495
cmovne esi, edi
test edx, eax
mov eax, esi
cmove eax, edi
cmp ecx, 0xa
cmovge eax, esi
nop dword [eax]
cmp eax, 0xb6fdc82
jle 0x426670
cmp eax, 0x541fa6b1
jle 0x4266f0
cmp eax, 0x688d3756
jg 0x4267d9
cmp eax, 0x58afe22c
jle 0x4268eb
cmp eax, 0x58afe22d
je 0x426a9f
cmp eax, 0x5baef076
je 0x426ada
cmp eax, 0x5dd33a6d
jne 0x426610
cmp dword [esp + 0x3c], 0
mov eax, 0xf78688fd
mov ecx, 0x688d3757
cmove eax, ecx
jmp 0x426610
cmp eax, 0xbf610644
jle 0x426740
cmp eax, 0xdda0127c
jg 0x42682b
cmp eax, 0xca5df9a9
jle 0x42693c
cmp eax, 0xca5df9aa
je 0x426aec
cmp eax, 0xd464ce4a
je 0x426b27
cmp eax, 0xd8ec47a9
jne 0x426610
mov edx, dword [0x5cd244]
mov ecx, dword [0x5cd248]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x1b9d2627
mov edi, 0xa06017e6
jmp 0x4265fc
cmp eax, 0x27a18325
jle 0x426869
cmp eax, 0x3e97e4b7
jle 0x426972
cmp eax, 0x3e97e4b8
je 0x426b4d
cmp eax, 0x3fe22b42
je 0x426b57
cmp eax, 0x4e284cde
jne 0x426610
mov eax, 0x5dd33a6d
jmp 0x426610
cmp eax, 0x9bbaa34c
jle 0x4268bd
cmp eax, 0xa0e87d8b
jle 0x426992
cmp eax, 0xa0e87d8c
je 0x426b8b
cmp eax, 0xb92c9d7a
je 0x426b9d
cmp eax, 0xbbd0fcf8
jne 0x426610
mov eax, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x44], eax
mov eax, dword [0x5cd75c]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete cl
cmp dword [0x5cd760], 0xa
setge dl
setl ah
xor ah, cl
or dl, al
xor dl, 1
or dl, ah
mov eax, 0xad98d132
mov ecx, 0xd84d313b
cmovne eax, ecx
mov ecx, 0xad98d132
mov edx, 0xe4129c44
cmovne ecx, edx
mov ebx, 0x9f79b9d5
jmp 0x426c20
cmp eax, 0x6fc66c42
jle 0x4269b2
cmp eax, 0x6fc66c43
je 0x426cbe
cmp eax, 0x783b1d9e
je 0x426cd5
cmp eax, 0x7c96d913
jne 0x426610
mov eax, dword [esp]
push dword [eax + 0x4c]
push dword [esp + 0x50]
push 1
push dword [esp + 0x10]
call fcn.005a019e
add esp, 0x10
sub dword [esp + 0x4c], eax
mov eax, 0x5baef076
jmp 0x426610
cmp eax, 0xf7b73494
jle 0x4269df
cmp eax, 0xf7b73495
je 0x426cee
cmp eax, 0xfee238c3
je 0x426d38
cmp eax, 0xffafc203
jne 0x426610
mov eax, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov eax, 0x92bba003
jmp 0x426610
cmp eax, 0x1b9d2626
jle 0x426a29
cmp eax, 0x1b9d2627
je 0x426d7d
cmp eax, 0x26e546cf
jne 0x427083
mov edx, dword [0x5cd244]
mov ecx, dword [0x5cd248]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x58afe22d
mov edi, 0xb92c9d7a
jmp 0x4265fc
cmp eax, 0x8b235ca7
jg 0x426a72
cmp eax, 0x803dc31e
je 0x426d87
cmp eax, 0x85909f87
jne 0x426610
mov eax, dword [esp]
mov eax, 0xf7b73495
jmp 0x426610
cmp eax, 0x541fa6b2
je 0x426daf
cmp eax, 0x54526f40
jne 0x426610
mov eax, dword [esp]
push dword [eax + 0x4c]
push 0xfff
push 1
mov esi, dword [esp + 0x10]
push esi
call fcn.005a019e
add esp, 0x10
add esi, eax
mov dword [esp + 4], esi
sub dword [esp + 0x4c], eax
cmp eax, 0xfff
mov eax, 0x26e546cf
mov ecx, 0x27a18326
cmove eax, ecx
jmp 0x426610
cmp eax, 0xbf610645
je 0x426db9
cmp eax, 0xc036de59
jne 0x426610
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
cmp eax, 1
sbb ecx, 0
mov eax, 0x783b1d9e
mov ecx, 0xdda0127d
cmovl eax, ecx
jmp 0x426610
cmp eax, 0x27a18326
je 0x426dd3
cmp eax, 0x318cfa9f
jne 0x426610
mov eax, 0x8b235ca8
jmp 0x426610
cmp eax, 0x9bbaa34d
je 0x426de5
cmp eax, 0xa06017e6
jne 0x426610
mov eax, 0xbf610645
jmp 0x426610
cmp eax, 0x688d3757
je 0x426def
cmp eax, 0x6daf8a05
jne 0x426610
cmp dword [esp + 0x4c], 0
mov eax, 0x7c96d913
mov ecx, 0x5baef076
cmove eax, ecx
jmp 0x426610
cmp eax, 0xdda0127d
je 0x426df9
cmp eax, 0xf78688fd
jne 0x426610
mov edx, dword [0x5cd244]
mov ecx, dword [0x5cd248]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x9bbaa34d
mov esi, 0xfee238c3
jmp 0x426d67
cmp eax, 0xb6fdc83
je 0x4265ce
cmp eax, 0x16c594c1
jne 0x426610
mov eax, dword [0x5cd244]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x318cfa9f
mov esi, 0x8b235ca8
cmove eax, esi
cmp dword [0x5cd248], 0xa
mov edx, 0x318cfa9f
jmp 0x426d28
cmp eax, 0x8b235ca8
je 0x426e13
cmp eax, 0x92bba003
jne 0x426610
cmp dword [esp + 0x38], 0
mov eax, 0x16c594c1
mov ecx, 0x3fe22b42
cmove eax, ecx
jmp 0x426610
mov edx, dword [esp + 0x18]
mov ecx, 0x81187456
add edx, ecx
mov esi, dword [esp + 0x24]
mov eax, 0x55536423
adc esi, eax
sub edx, dword [esp + 0x4c]
sbb esi, 0
sub edx, ecx
mov dword [esp + 0x14], edx
sbb esi, eax
mov dword [esp + 0x10], esi
mov eax, 0xb92c9d7a
mov dword [esp + 0xc], 1
jmp 0x426610
mov eax, 0x16c594c1
mov dword [esp + 0xc], 0
jmp 0x426610
mov edx, dword [esp + 0x18]
mov ecx, 0xc980c820
add edx, ecx
mov esi, dword [esp + 0x24]
mov eax, 0xb827ce12
adc esi, eax
sub edx, dword [esp + 0x4c]
sbb esi, 0
sub edx, ecx
mov dword [esp + 0x14], edx
sbb esi, eax
mov dword [esp + 0x10], esi
mov eax, 0xf78688fd
mov dword [esp + 0xc], 1
jmp 0x426610
mov ecx, dword [esp]
push dword [esp + 0x24]
push dword [esp + 0x1c]
push dword [esp + 0xc]
call fcn.00429570
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov eax, 0x1cda1c94
jmp 0x426610
mov eax, 0xffafc203
jmp 0x426610
mov edx, dword [0x5cd244]
mov ecx, dword [0x5cd248]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x1b9d2627
mov esi, 0xd8ec47a9
jmp 0x426d67
mov ecx, dword [esp]
call fcn.00423a40
mov eax, 0xbf610645
jmp 0x426610
mov edx, dword [0x5cd244]
mov ecx, dword [0x5cd248]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov esi, 0x58afe22d
mov ebx, 0x3e97e4b8
cmovne esi, ebx
test edx, eax
mov eax, esi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, esi
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x24]
sbb ecx, 0
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 1
jmp 0x426610
lea esi, [esp + 0x48]
mov dword [esp + 0x28], esi
lea esi, [esp + 0x28]
mov esi, dword [esi]
mov ebx, 0x616b2b92
nop word cs:[eax + eax]
cmp ebx, 0xd84d313a
jle 0x426c50
cmp ebx, 0x3666f05e
jg 0x426c80
cmp ebx, 0xd84d313b
je 0x426e60
cmp ebx, 0xe4129c44
jne 0x426c20
mov ebx, eax
jmp 0x426c20
cmp ebx, 0x9f79b9d5
je 0x426c9a
cmp ebx, 0xad98d132
je 0x426cb4
cmp ebx, 0xd0252811
jne 0x426c20
lea esi, [esp + 0x4c]
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x1c]
jmp 0x426c0b
cmp ebx, 0x3666f05f
je 0x426bff
cmp ebx, 0x616b2b92
jne 0x426c20
mov ebx, ecx
mov edx, esi
jmp 0x426c20
mov ebx, dword [esp + 0x40]
cmp ebx, dword [esp + 0x44]
mov ebx, 0xd0252811
mov edi, 0x3666f05f
cmovb ebx, edi
jmp 0x426c20
mov ebx, 0xe4129c44
jmp 0x426c20
cmp byte [esp + 0xb], 0
mov eax, 0xca5df9aa
mov ecx, 0xa0e87d8c
cmovne eax, ecx
jmp 0x426610
mov eax, dword [esp]
cmp dword [eax + 0x38], 0
mov eax, 0xd464ce4a
mov ecx, 0x803dc31e
cmove eax, ecx
jmp 0x426610
mov eax, dword [esp]
cmp dword [eax + 0x4c], 0
setne byte [esp + 0xb]
mov eax, dword [0x5cd244]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x85909f87
mov esi, 0x6fc66c43
cmove eax, esi
cmp dword [0x5cd248], 0xa
mov edx, 0x85909f87
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, esi
jmp 0x426610
mov edx, dword [0x5cd244]
mov ecx, dword [0x5cd248]
lea eax, [edx - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x9bbaa34d
mov esi, 0x541fa6b2
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x426610
mov eax, 0xd8ec47a9
jmp 0x426610
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp]
call fcn.0042aa90
mov dword [esp + 0x48], eax
test eax, eax
mov eax, 0xbbd0fcf8
mov ecx, 0xb6fdc83
cmove eax, ecx
jmp 0x426610
mov eax, 0x1cda1c94
jmp 0x426610
cmp dword [esp + 0x4c], 0x1000
mov eax, 0x6daf8a05
mov ecx, 0x54526f40
cmovae eax, ecx
jmp 0x426610
mov eax, 0xffafc203
mov dword [esp + 0xc], 0
jmp 0x426610
mov eax, 0xfee238c3
jmp 0x426610
mov eax, 0xca5df9aa
jmp 0x426610
mov dword [esp + 0x14], 0
mov eax, 0x1cda1c94
mov dword [esp + 0x10], 0
jmp 0x426610
mov edx, dword [0x5cd244]
mov ecx, dword [0x5cd248]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x318cfa9f
mov esi, 0x4e284cde
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], ecx
cmovge eax, edx
jmp 0x426610
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x20]
mov edi, dword [eax]
mov eax, dword [esp]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [0x5cd87c]
mov ecx, dword [0x5cd880]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esp + 0x28]
cmp ecx, 0xa
setl byte [esp + 0x1c]
mov eax, 0x12aa6555
cmp eax, 0x5197e20e
jg 0x426ec0
cmp eax, 0x12aa6555
je 0x426f27
cmp eax, 0x37ca0131
jne 0x426ea0
jmp 0x426f6e
cmp eax, 0x5197e20f
je 0x426f53
cmp eax, 0x7c2dc188
jne 0x426ea0
push edi
mov eax, dword [esp + 0x30]
push eax
push dword [esp + 0xc]
call fcn.00599390
add esp, 0xc
mov edx, dword [0x5cd87c]
mov esi, dword [0x5cd880]
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp esi, 0xa
setl bh
xor bh, bl
mov ebx, 0x5197e20f
mov ecx, 0x37ca0131
cmovne ebx, ecx
test edx, eax
mov eax, ebx
cmove eax, ecx
cmp esi, 0xa
cmovge eax, ebx
jmp 0x426ea0
movzx ecx, byte [esp + 0x28]
movzx eax, byte [esp + 0x1c]
mov edx, ecx
xor dl, al
mov edx, 0x5197e20f
mov ebx, 0x7c2dc188
cmovne edx, ebx
test al, al
mov eax, edx
cmovne eax, ebx
test cl, cl
cmove eax, edx
jmp 0x426ea0
push edi
push dword [esp + 0x30]
push dword [esp + 0xc]
call fcn.00599390
add esp, 0xc
mov eax, 0x7c2dc188
jmp 0x426ea0
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
sub dword [esp + 0x4c], edi
mov eax, dword [esp]
mov ecx, dword [0x5cd334]
lea edx, [ecx + 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
mov ecx, dword [0x5cd338]
sete byte [esp + 0x1c]
cmp ecx, 0xa
setl byte [esp + 0x20]
mov ecx, 0xdfb491f9
nop dword [eax]
cmp ecx, 0xdfb491f8
jg 0x427020
cmp ecx, 0xa1ca2ae6
je 0x427061
cmp ecx, 0xd9ab6265
jne 0x426fb0
mov ecx, dword [eax + 0x2c]
sub dword [ecx], edi
mov ecx, dword [eax + 0x1c]
add dword [ecx], edi
mov esi, dword [0x5cd334]
mov edx, dword [0x5cd338]
lea ecx, [esi - 1]
imul ecx, esi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov esi, 0xa1ca2ae6
mov ebx, 0x4b3a9a6f
cmovne esi, ebx
cmp ecx, 0xffffffff
mov ecx, esi
cmove ecx, ebx
cmp edx, 0xa
cmovge ecx, esi
jmp 0x426fb0
cmp ecx, 0x4b3a9a6f
je 0x427075
cmp ecx, 0xdfb491f9
jne 0x426fb0
movzx edx, byte [esp + 0x1c]
movzx ecx, byte [esp + 0x20]
mov dh, dl
xor dh, cl
test cl, cl
mov ecx, 0xa1ca2ae6
mov ebx, 0xd9ab6265
cmovne ecx, ebx
test dl, dl
mov esi, 0xa1ca2ae6
cmove ecx, esi
test dh, dh
cmovne ecx, ebx
jmp 0x426fb0
mov ecx, dword [eax + 0x2c]
sub dword [ecx], edi
mov ecx, dword [eax + 0x1c]
add dword [ecx], edi
mov ecx, 0xd9ab6265
jmp 0x426fb0
add dword [esp + 4], edi
mov eax, 0xb6fdc83
jmp 0x426610
cmp eax, 0x1cda1c94
jne 0x426610
mov ecx, dword [esp + 0x50]
xor ecx, ebp
call fcn.00594995
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc