Function at 0x41b830
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x54
mov edx, dword [esp + 0x5c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x64]
push edi
mov eax, 0x410
mov word [esp + 0x54], ax
mov ecx, 0x45f3
push 0
lea eax, [esi + edx - 4]
mov word [esp + 0x5a], cx
mov ecx, dword [0x486344]
push eax
push ecx
or ebp, 0xffffffff
call fcn.00435f77
add esp, 0xc
call fcn.00401240
mov edx, dword [0x486344]
add eax, esi
push 0
push eax
push edx
call fcn.00435f77
add esp, 0xc
call fcn.00401190
movzx eax, ax
cmp eax, 0x64
jg 0x41c3a2
test eax, eax
je 0x41c3a2
mov bl, 0xff
jmp 0x41b8a6
mov eax, dword [esp + 0x58]
dec eax
mov dword [esp + 0x58], eax
mov eax, dword [0x486344]
push eax
push 2
lea ecx, [esp + 0x74]
push 1
push ecx
mov byte [esp + 0x7c], bl
mov byte [esp + 0x7d], bl
call fcn.00435763
movzx ax, byte [esp + 0x7d]
mov edx, 0x4949
add esp, 0x10
cmp word [0x465c48], dx
jne 0x41b8f0
movzx cx, byte [esp + 0x6c]
shl ax, 8
or ax, cx
movzx eax, ax
jmp 0x41b900
movzx dx, byte [esp + 0x6c]
shl dx, 8
or dx, ax
movzx eax, dx
movzx esi, ax
call fcn.00401240
mov ecx, dword [0x486344]
push ecx
mov edi, eax
call fcn.00435c4a
add esp, 4
add eax, 4
push 0
mov dword [esp + 0x64], eax
call fcn.00401240
add eax, dword [esp + 0x6c]
mov edx, dword [0x486344]
push eax
push edx
call fcn.00435f77
mov eax, esi
sar eax, 8
add eax, 8
or eax, 8
add esp, 0xc
cmp eax, 0x38
jne 0x41b964
mov ecx, dword [0x486344]
push edi
push ecx
call fcn.00435c4a
add esp, 4
push eax
call fcn.0041b830
add esp, 8
cmp esi, 0x810
jne 0x41b989
mov edx, dword [0x486344]
push edx
push 1
push 0x40
push 0x466000
call fcn.00435763
add esp, 0x10
jmp 0x41c381
cmp esi, 0x80a
jne 0x41b9eb
mov eax, dword [0x486344]
push eax
push 1
push 0x40
push 0x4ac3c0
call fcn.00435763
mov eax, 0x4ac3c0
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41b9b0
mov ecx, dword [0x486344]
sub eax, edx
push 1
add eax, 0xffffffc1
push eax
push ecx
call fcn.00435f77
mov edx, dword [0x486344]
add esp, 0xc
push edx
push 1
push 0x40
push 0x466060
call fcn.00435763
add esp, 0x10
jmp 0x41c381
cmp esi, 0x1810
jne 0x41ba14
mov eax, dword [0x486344]
push 1
push 0xc
push eax
call fcn.00435f77
add esp, 0xc
call fcn.00401240
mov dword [0x486340], eax
jmp 0x41c381
cmp esi, 0x1835
jne 0x41ba2b
call fcn.00401240
mov dword [0x4ac398], eax
jmp 0x41c381
cmp esi, 0x2007
jne 0x41ba52
mov ecx, dword [0x486344]
push ecx
call fcn.00435c4a
add esp, 4
mov dword [0x465c44], eax
mov dword [0x465c5c], edi
jmp 0x41c381
cmp esi, 0x1818
jne 0x41baac
call fcn.00401240
call fcn.00401240
mov dword [esp + 0x5c], eax
fld dword [esp + 0x5c]
fchs
fld qword [0x4517b8]
fxch st(1)
call fcn.00447b40
fstp dword [0x465f58]
call fcn.00401240
mov dword [esp + 0x5c], eax
fld dword [esp + 0x5c]
fmul qword [0x4517d0]
fld qword [0x4517b8]
fxch st(1)
call fcn.00447b40
fstp dword [0x486304]
jmp 0x41c381
cmp esi, 0x102a
jne 0x41bd1a
call fcn.00401240
mov edx, dword [0x486344]
push edx
push 2
lea eax, [esp + 0x1c]
push 1
push eax
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], bl
call fcn.00435763
movzx dx, byte [esp + 0x25]
mov ecx, 0x4949
add esp, 0x10
cmp word [0x465c48], cx
jne 0x41bb03
movzx ax, byte [esp + 0x14]
shl dx, 8
or dx, ax
movzx eax, dx
jmp 0x41bb13
movzx cx, byte [esp + 0x14]
shl cx, 8
or cx, dx
movzx eax, cx
movzx eax, ax
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
fmul qword [0x451900]
fsub qword [0x4518f8]
fld qword [0x4517b8]
fxch st(1)
call fcn.00447b40
fmul qword [0x4518f0]
mov ecx, dword [0x486344]
push ecx
push 2
fstp dword [0x4ac40c]
lea edx, [esp + 0x4c]
push 1
push edx
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], bl
call fcn.00435763
mov eax, dword [0x486344]
push eax
push 2
lea ecx, [esp + 0x30]
push 1
push ecx
mov byte [esp + 0x38], bl
mov byte [esp + 0x39], bl
call fcn.00435763
movzx ax, byte [esp + 0x39]
mov edx, 0x4949
add esp, 0x20
cmp word [0x465c48], dx
jne 0x41bba5
movzx cx, byte [esp + 0x18]
shl ax, 8
or ax, cx
movzx eax, ax
jmp 0x41bbb5
movzx dx, byte [esp + 0x18]
shl dx, 8
or dx, ax
movzx eax, dx
movsx ecx, ax
mov dword [esp + 0x5c], ecx
fild dword [esp + 0x5c]
fmul qword [0x4518e8]
fld qword [0x4517b8]
fxch st(1)
call fcn.00447b40
fstp dword [0x486304]
mov edx, dword [0x486344]
push edx
push 2
lea eax, [esp + 0x24]
push 1
push eax
mov byte [esp + 0x2c], bl
mov byte [esp + 0x2d], bl
call fcn.00435763
movzx dx, byte [esp + 0x2d]
mov ecx, 0x4949
add esp, 0x10
cmp word [0x465c48], cx
jne 0x41bc1f
movzx ax, byte [esp + 0x1c]
shl dx, 8
or dx, ax
movzx eax, dx
jmp 0x41bc2f
movzx cx, byte [esp + 0x1c]
shl cx, 8
or cx, dx
movzx eax, cx
cwde
neg eax
mov dword [esp + 0x5c], eax
fild dword [esp + 0x5c]
fmul qword [0x451900]
fld qword [0x4517b8]
fxch st(1)
call fcn.00447b40
fstp dword [0x465f58]
mov ecx, dword [0x486344]
push ecx
push 2
lea edx, [esp + 0x50]
push 1
push edx
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], bl
call fcn.00435763
mov eax, dword [0x486344]
push eax
push 2
lea ecx, [esp + 0x38]
push 1
push ecx
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], bl
call fcn.00435763
movzx ax, byte [esp + 0x41]
mov edx, 0x4949
add esp, 0x20
cmp word [0x465c48], dx
jne 0x41bcb5
movzx cx, byte [esp + 0x20]
shl ax, 8
or ax, cx
movzx eax, ax
jmp 0x41bcc5
movzx dx, byte [esp + 0x20]
shl dx, 8
or dx, ax
movzx eax, dx
movzx ebp, ax
cmp ebp, 0x11
jle 0x41bccf
xor ebp, ebp
mov ecx, dword [0x486344]
push 1
push 0x20
push ecx
call fcn.00435f77
fld dword [0x465f58]
fcomp qword [0x4518e0]
add esp, 0xc
fnstsw ax
test ah, 0x41
jne 0x41c381
call fcn.00401190
movzx edx, ax
mov dword [esp + 0x5c], edx
fild dword [esp + 0x5c]
fdiv qword [0x4518d8]
fstp dword [0x465f58]
jmp 0x41c381
cmp esi, 0x102c
jne 0x41beac
mov eax, dword [0x486344]
push eax
push 2
lea ecx, [esp + 0x2c]
push 1
push ecx
mov byte [esp + 0x34], bl
mov byte [esp + 0x35], bl
call fcn.00435763
movzx ax, byte [esp + 0x35]
mov edx, 0x4949
add esp, 0x10
cmp word [0x465c48], dx
jne 0x41bd6b
movzx cx, byte [esp + 0x24]
shl ax, 8
or ax, cx
movzx eax, ax
jmp 0x41bd7b
movzx dx, byte [esp + 0x24]
shl dx, 8
or dx, ax
movzx eax, dx
mov ecx, 0x200
push 1
cmp ax, cx
jbe 0x41be17
mov edx, dword [0x486344]
push 0x76
push edx
call fcn.00435f77
add esp, 0xc
xor esi, esi
mov edi, edi
mov eax, dword [0x486344]
push eax
push 2
lea ecx, [esp + 0x30]
push 1
push ecx
mov byte [esp + 0x38], bl
mov byte [esp + 0x39], bl
call fcn.00435763
movzx ax, byte [esp + 0x39]
mov edx, 0x4949
add esp, 0x10
cmp word [0x465c48], dx
jne 0x41bde5
movzx cx, byte [esp + 0x28]
shl ax, 8
or ax, cx
movzx eax, ax
jmp 0x41bdf5
movzx dx, byte [esp + 0x28]
shl dx, 8
or dx, ax
movzx eax, dx
movzx ecx, ax
mov dword [esp + 0x5c], ecx
mov edx, esi
xor edx, 2
fild dword [esp + 0x5c]
inc esi
cmp esi, 4
fstp dword [edx*4 + 0x466110]
jl 0x41bda0
jmp 0x41c381
mov eax, dword [0x486344]
push 0x62
push eax
call fcn.00435f77
add esp, 0xc
xor esi, esi
lea esp, [esp]
mov ecx, dword [0x486344]
push ecx
push 2
lea edx, [esp + 0x34]
push 1
push edx
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], bl
call fcn.00435763
movzx cx, byte [esp + 0x3d]
mov eax, 0x4949
add esp, 0x10
cmp word [0x465c48], ax
jne 0x41be76
movzx dx, byte [esp + 0x2c]
shl cx, 8
or cx, dx
movzx eax, cx
jmp 0x41be86
movzx ax, byte [esp + 0x2c]
shl ax, 8
or ax, cx
movzx eax, ax
movzx edx, ax
mov eax, esi
xor eax, 2
sar eax, 1
mov dword [esp + 0x5c], edx
xor eax, esi
inc esi
cmp esi, 4
fild dword [esp + 0x5c]
fstp dword [eax*4 + 0x466110]
jl 0x41be30
jmp 0x41c381
cmp esi, 0x32
jne 0x41c091
cmp edi, 0x300
jne 0x41bf75
mov ecx, dword [0x486344]
push 1
push 0x48
push ecx
call fcn.00435f77
add esp, 0xc
xor esi, esi
mov edx, dword [0x486344]
push edx
push 2
lea eax, [esp + 0x38]
push 1
push eax
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], bl
call fcn.00435763
movzx dx, byte [esp + 0x41]
mov ecx, 0x4949
add esp, 0x10
cmp word [0x465c48], cx
jne 0x41bf1c
movzx ax, byte [esp + 0x30]
shl dx, 8
or dx, ax
movzx eax, dx
jmp 0x41bf2c
movzx cx, byte [esp + 0x30]
shl cx, 8
or cx, dx
movzx eax, cx
movzx eax, ax
mov dword [esp + 0x5c], eax
mov ecx, esi
sar ecx, 1
fild dword [esp + 0x5c]
xor ecx, esi
inc esi
cmp esi, 4
fdivr qword [0x4518d0]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fstp dword [ecx*4 + 0x466110]
jl 0x41bed6
test ebp, ebp
jne 0x41c381
fld dword [0x4518c0]
fstp dword [0x466110]
jmp 0x41c381
fldz
fcomp dword [0x466110]
fnstsw ax
test ah, 0x44
jp 0x41c381
call fcn.00401190
cmp ax, word [esp + 0x54]
jne 0x41bfbd
push str.Pro1
push 0x466060
call fcn.00434a10
add esp, 8
test eax, eax
mov eax, str.012346000000000000
jne 0x41bfb4
mov eax, str.01345:000000006008
movsx eax, byte [eax + ebp]
sub eax, 0x2e
jmp 0x41bfd5
movsx eax, byte [ebp + str.023457000000006000]
xor edx, edx
sub eax, 0x30
xor ecx, ecx
mov word [esp + 0x56], dx
mov word [esp + 0x54], cx
lea edx, [eax*8 + 0x4e]
mov eax, dword [0x486344]
push 1
push edx
push eax
call fcn.00435f77
add esp, 0xc
xor esi, esi
nop
mov ecx, dword [0x486344]
push ecx
push 2
lea edx, [esp + 0x3c]
push 1
push edx
mov byte [esp + 0x44], bl
mov byte [esp + 0x45], bl
call fcn.00435763
movzx cx, byte [esp + 0x45]
mov eax, 0x4949
add esp, 0x10
cmp word [0x465c48], ax
jne 0x41c036
movzx dx, byte [esp + 0x34]
shl cx, 8
or cx, dx
movzx eax, cx
jmp 0x41c046
movzx ax, byte [esp + 0x34]
shl ax, 8
or ax, cx
movzx eax, ax
mov edx, esi
and edx, 1
mov cx, word [esp + edx*2 + 0x54]
xor cx, ax
mov eax, esi
movzx edx, cx
xor eax, 2
sar eax, 1
mov dword [esp + 0x5c], edx
xor eax, esi
inc esi
cmp esi, 4
fild dword [esp + 0x5c]
fstp dword [eax*4 + 0x466110]
jl 0x41bff0
test ebp, ebp
jne 0x41c381
fld dword [0x4518c0]
fstp dword [0x466110]
jmp 0x41c381
cmp esi, 0x10a9
jne 0x41c13f
cmp edi, 0x42
jle 0x41c0ac
movsx ebp, byte [ebp + str.0134567028]
sub ebp, 0x30
mov edx, dword [0x486344]
push 1
lea ecx, [ebp*8 + 2]
push ecx
push edx
call fcn.00435f77
add esp, 0xc
xor esi, esi
mov eax, dword [0x486344]
push eax
push 2
lea ecx, [esp + 0x40]
push 1
push ecx
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], bl
call fcn.00435763
movzx ax, byte [esp + 0x49]
mov edx, 0x4949
add esp, 0x10
cmp word [0x465c48], dx
jne 0x41c10c
movzx cx, byte [esp + 0x38]
shl ax, 8
or ax, cx
movzx eax, ax
jmp 0x41c11c
movzx dx, byte [esp + 0x38]
shl dx, 8
or dx, ax
movzx eax, dx
movzx ecx, ax
mov edx, esi
sar edx, 1
mov dword [esp + 0x5c], ecx
xor edx, esi
inc esi
cmp esi, 4
fild dword [esp + 0x5c]
fstp dword [edx*4 + 0x466110]
jl 0x41c0c7
jmp 0x41c381
cmp esi, 0x1030
jne 0x41c162
mov eax, 0x18040
mov ecx, ebp
sar eax, cl
test al, 1
je 0x41c381
call fcn.0041b700
jmp 0x41c381
cmp esi, 0x1031
jne 0x41c250
mov ecx, dword [0x486344]
push ecx
push 2
lea edx, [esp + 0x54]
push 1
push edx
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
call fcn.00435763
mov eax, dword [0x486344]
push eax
push 2
lea ecx, [esp + 0x54]
push 1
push ecx
mov byte [esp + 0x5c], bl
mov byte [esp + 0x5d], bl
call fcn.00435763
movzx ax, byte [esp + 0x5d]
mov edx, 0x4949
add esp, 0x20
cmp word [0x465c48], dx
jne 0x41c1d0
movzx cx, byte [esp + 0x3c]
shl ax, 8
or ax, cx
movzx eax, ax
jmp 0x41c1e0
movzx dx, byte [esp + 0x3c]
shl dx, 8
or dx, ax
movzx eax, dx
mov ecx, dword [0x486344]
push ecx
push 2
lea edx, [esp + 0x48]
push 1
push edx
mov word [0x4ac484], ax
mov byte [esp + 0x50], bl
mov byte [esp + 0x51], bl
call fcn.00435763
movzx cx, byte [esp + 0x51]
mov eax, 0x4949
add esp, 0x10
cmp word [0x465c48], ax
jne 0x41c235
movzx dx, byte [esp + 0x40]
shl cx, 8
or cx, dx
movzx eax, cx
mov word [0x465d20], ax
jmp 0x41c381
movzx ax, byte [esp + 0x40]
shl ax, 8
or ax, cx
movzx eax, ax
mov word [0x465d20], ax
jmp 0x41c381
cmp esi, 0x5029
jne 0x41c291
mov edx, edi
sar edx, 0x10
mov dword [esp + 0x5c], edx
fild dword [esp + 0x5c]
and edi, 0xffff
fstp dword [0x466124]
cmp edi, 2
jne 0x41c381
fld dword [0x466124]
fmul qword [0x451900]
fstp dword [0x466124]
jmp 0x41c381
cmp esi, 0x5813
jne 0x41c2a4
mov dword [0x4ac414], edi
jmp 0x41c381
cmp esi, 0x5814
jne 0x41c2b7
mov dword [0x465f70], edi
jmp 0x41c381
cmp esi, 0x5817
jne 0x41c2ca
mov dword [0x4660a4], edi
jmp 0x41c381
cmp esi, 0x5834
jne 0x41c2dd
mov dword [0x465c50], edi
jmp 0x41c381
cmp esi, 0x580e
jne 0x41c2f3
mov eax, edi
cdq
mov dword [0x48616c], edx
jmp 0x41c37c
cmp esi, 0x180e
jne 0x41c381
mov eax, dword [0x486344]
push eax
push 4
lea ecx, [esp + 0x58]
push 1
push ecx
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], bl
mov byte [esp + 0x62], bl
mov byte [esp + 0x63], bl
call fcn.00435763
movzx ecx, byte [esp + 0x62]
mov edx, 0x4949
add esp, 0x10
cmp word [0x465c48], dx
movzx edx, byte [esp + 0x51]
jne 0x41c359
movzx eax, byte [esp + 0x53]
shl eax, 8
or eax, ecx
movzx ecx, byte [esp + 0x50]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
jmp 0x41c372
movzx eax, byte [esp + 0x50]
shl eax, 8
or eax, edx
movzx edx, byte [esp + 0x53]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [0x48616c], 0
mov dword [0x486168], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [0x486344]
push 0
push eax
push ecx
call fcn.00435f77
add esp, 0xc
cmp dword [esp + 0x58], 0
jne 0x41b8a2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret