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

Disassembly:
sub esp, 0x60
push ebx
push ebp
mov ebp, dword [esp + 0x70]
push esi
push edi
xor ebx, ebx
lea esi, [esp + 0x18]
mov edi, eax
mov dword [esp + 0x18], ebx
call fcn.10002990
xor eax, eax
xor ecx, ecx
xor esi, esi
cmp dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ebx
jbe 0x10004b27
jmp 0x100044f8
xor ebx, ebx
push edi
push 1
lea eax, [esp + 0x80]
push 4
push eax
mov dword [esp + 0x88], ebx
call fcn.1000e456
mov ax, word [0x1002b4d8]
add esp, 0x10
cmp ax, 1
jne 0x10004550
cmp word [0x1002b4dc], bx
jne 0x10004586
mov eax, dword [esp + 0x78]
xor edx, edx
mov dh, byte [esp + 0x7a]
mov ecx, eax
shr ecx, 0x18
or ecx, edx
mov edx, eax
and edx, 0xff00
shl edx, 8
or ecx, edx
shl eax, 0x18
or eax, ecx
mov esi, eax
jmp 0x1000458a
cmp ax, bx
jne 0x10004586
cmp word [0x1002b4dc], 1
jne 0x10004586
mov eax, dword [esp + 0x78]
xor edx, edx
mov dh, byte [esp + 0x7a]
mov ecx, eax
shr ecx, 0x18
or ecx, edx
mov edx, eax
and edx, 0xff00
shl edx, 8
or ecx, edx
shl eax, 0x18
or eax, ecx
mov esi, eax
jmp 0x1000458a
mov esi, dword [esp + 0x78]
push edi
push 1
lea eax, [esp + 0x80]
push 4
push eax
mov dword [esp + 0x88], ebx
call fcn.1000e456
mov ax, word [0x1002b4d8]
add esp, 0x10
cmp ax, 1
jne 0x100045e2
cmp word [0x1002b4dc], bx
jne 0x10004618
mov eax, dword [esp + 0x78]
xor edx, edx
mov dh, byte [esp + 0x7a]
mov ecx, eax
shr ecx, 0x18
or ecx, edx
mov edx, eax
and edx, 0xff00
shl edx, 8
or ecx, edx
shl eax, 0x18
or eax, ecx
mov ebx, eax
jmp 0x1000461c
cmp ax, bx
jne 0x10004618
cmp word [0x1002b4dc], 1
jne 0x10004618
mov eax, dword [esp + 0x78]
xor edx, edx
mov dh, byte [esp + 0x7a]
mov ecx, eax
shr ecx, 0x18
or ecx, edx
mov edx, eax
and edx, 0xff00
shl edx, 8
or ecx, edx
shl eax, 0x18
or eax, ecx
mov ebx, eax
jmp 0x1000461c
mov ebx, dword [esp + 0x78]
push edi
push 1
lea eax, [esp + 0x80]
push 4
push eax
mov dword [esp + 0x88], 0
call fcn.1000e456
mov ax, word [0x1002b4d8]
add esp, 0x10
cmp ax, 1
jne 0x10004677
cmp word [0x1002b4dc], 0
jne 0x100046ab
mov eax, dword [esp + 0x78]
xor edx, edx
mov dh, byte [esp + 0x7a]
mov ecx, eax
shr ecx, 0x18
or ecx, edx
mov edx, eax
and edx, 0xff00
shl edx, 8
or ecx, edx
shl eax, 0x18
or eax, ecx
jmp 0x100046af
test ax, ax
jne 0x100046ab
cmp word [0x1002b4dc], 1
jne 0x100046ab
mov eax, dword [esp + 0x78]
xor edx, edx
mov dh, byte [esp + 0x7a]
mov ecx, eax
shr ecx, 0x18
or ecx, edx
mov edx, eax
and edx, 0xff00
shl edx, 8
or ecx, edx
shl eax, 0x18
or eax, ecx
jmp 0x100046af
mov eax, dword [esp + 0x78]
add dword [esp + 0x14], eax
mov ax, word [esp + 0x7c]
test ax, ax
je 0x100046ca
movzx eax, ax
cmp dword [esp + 0x14], eax
jg 0x10004b14
push edi
call fcn.1000dcb5
mov ecx, dword [esp + 0x78]
add esp, 4
push 0
add ebx, ecx
push ebx
push edi
mov dword [esp + 0x3c], eax
call fcn.1000ddaa
add esp, 0xc
cmp esi, 0x67545243
ja 0x10004865
je 0x10004997
cmp esi, 0x62545243
ja 0x1000474b
je 0x1000472a
cmp esi, 0x41324230
jb 0x10004ae8
cmp esi, 0x41324232
ja 0x10004ae8
mov dword [esp + 0x1c], 1
jmp 0x10004ae8
lea ebx, [ebp + 0x85]
mov eax, edi
call fcn.10004bd0
test eax, eax
jne 0x10004ae8
mov byte [ebp + 0x84], 1
jmp 0x10004ae8
cmp esi, 0x6258595a
jne 0x10004ae8
mov eax, edi
lea esi, [esp + 0x34]
call fcn.10002990
mov eax, edi
lea esi, [esp + 0x38]
call fcn.10002990
mov eax, edi
lea esi, [esp + 0x3c]
call fcn.10002930
mov eax, edi
lea esi, [esp + 0x40]
call fcn.10002930
mov eax, edi
lea esi, [esp + 0x44]
call fcn.10002930
mov eax, dword [esp + 0x3c]
mov edx, eax
and edx, 0xffff
mov dword [esp + 0x78], edx
fild dword [esp + 0x78]
fld qword [0x10025b38]
sar eax, 0x10
movsx eax, ax
fmul st(1), st(0)
mov dword [esp + 0x78], eax
fld qword [0x10025b30]
mov esi, 0x2710
mov dword [ebp + 0xa0], esi
fadd st(2), st(0)
fild dword [esp + 0x78]
faddp st(3)
fld qword [0x10025b28]
fmul st(3), st(0)
fxch st(3)
call fcn.1000ca40
mov dword [ebp + 0x9c], eax
mov eax, dword [esp + 0x40]
mov ecx, eax
and ecx, 0xffff
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
sar eax, 0x10
movsx edx, ax
fmul st(2)
mov dword [esp + 0x78], edx
mov dword [ebp + 0xb8], esi
fadd st(1)
fild dword [esp + 0x78]
faddp st(1)
fmul st(3)
call fcn.1000ca40
mov dword [ebp + 0xb4], eax
mov eax, dword [esp + 0x44]
mov ecx, eax
and ecx, 0xffff
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
sar eax, 0x10
movsx edx, ax
fmulp st(2)
mov dword [esp + 0x78], edx
mov dword [ebp + 0xd0], esi
faddp st(1)
fild dword [esp + 0x78]
faddp st(1)
fmulp st(1)
call fcn.1000ca40
mov dword [ebp + 0xcc], eax
mov dword [esp + 0x24], 1
jmp 0x10004ae8
cmp esi, 0x6758595a
je 0x100049df
cmp esi, 0x72545243
je 0x10004997
cmp esi, 0x7258595a
jne 0x10004ae8
mov eax, edi
lea esi, [esp + 0x48]
call fcn.10002990
mov eax, edi
lea esi, [esp + 0x4c]
call fcn.10002990
mov eax, edi
lea esi, [esp + 0x50]
call fcn.10002930
mov eax, edi
lea esi, [esp + 0x54]
call fcn.10002930
mov eax, edi
lea esi, [esp + 0x58]
call fcn.10002930
mov eax, dword [esp + 0x50]
mov ecx, eax
and ecx, 0xffff
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
fld qword [0x10025b38]
sar eax, 0x10
movsx edx, ax
fmul st(1), st(0)
mov dword [esp + 0x78], edx
fld qword [0x10025b30]
mov esi, 0x2710
mov dword [ebp + 0x90], esi
fadd st(2), st(0)
fild dword [esp + 0x78]
faddp st(3)
fld qword [0x10025b28]
fmul st(3), st(0)
fxch st(3)
call fcn.1000ca40
mov dword [ebp + 0x8c], eax
mov eax, dword [esp + 0x54]
mov ecx, eax
and ecx, 0xffff
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
sar eax, 0x10
movsx edx, ax
fmul st(2)
mov dword [esp + 0x78], edx
mov dword [ebp + 0xa8], esi
fadd st(1)
fild dword [esp + 0x78]
faddp st(1)
fmul st(3)
call fcn.1000ca40
mov dword [ebp + 0xa4], eax
mov eax, dword [esp + 0x58]
mov ecx, eax
and ecx, 0xffff
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
sar eax, 0x10
movsx edx, ax
fmulp st(2)
mov dword [esp + 0x78], edx
mov dword [ebp + 0xc0], esi
faddp st(1)
fild dword [esp + 0x78]
faddp st(1)
fmulp st(1)
call fcn.1000ca40
mov dword [ebp + 0xbc], eax
mov dword [esp + 0x2c], 1
jmp 0x10004ae8
mov eax, edi
lea esi, [esp + 0x78]
lea ebx, [ebp + 0x85]
mov dword [esp + 0x78], 0
call fcn.10002990
mov eax, dword [esp + 0x78]
cmp eax, 0x63757276
push ebx
jne 0x100049c3
call fcn.10004c20
jmp 0x100049c8
call fcn.10004ca0
add esp, 4
test eax, eax
jne 0x10004ae8
mov byte [ebp + 0x84], 1
jmp 0x10004ae8
mov eax, edi
lea esi, [esp + 0x5c]
call fcn.10002990
mov eax, edi
lea esi, [esp + 0x60]
call fcn.10002990
mov eax, edi
lea esi, [esp + 0x64]
call fcn.10002930
mov eax, edi
lea esi, [esp + 0x68]
call fcn.10002930
mov eax, edi
lea esi, [esp + 0x6c]
call fcn.10002930
mov eax, dword [esp + 0x64]
mov ecx, eax
and ecx, 0xffff
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
fld qword [0x10025b38]
sar eax, 0x10
movsx edx, ax
fmul st(1), st(0)
mov dword [esp + 0x78], edx
fld qword [0x10025b30]
mov esi, 0x2710
mov dword [ebp + 0x98], esi
fadd st(2), st(0)
fild dword [esp + 0x78]
faddp st(3)
fld qword [0x10025b28]
fmul st(3), st(0)
fxch st(3)
call fcn.1000ca40
mov dword [ebp + 0x94], eax
mov eax, dword [esp + 0x68]
mov ecx, eax
and ecx, 0xffff
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
sar eax, 0x10
movsx edx, ax
fmul st(2)
mov dword [esp + 0x78], edx
mov dword [ebp + 0xb0], esi
fadd st(1)
fild dword [esp + 0x78]
faddp st(1)
fmul st(3)
call fcn.1000ca40
mov dword [ebp + 0xac], eax
mov eax, dword [esp + 0x6c]
mov ecx, eax
and ecx, 0xffff
mov dword [esp + 0x78], ecx
fild dword [esp + 0x78]
sar eax, 0x10
movsx edx, ax
fmulp st(2)
mov dword [esp + 0x78], edx
mov dword [ebp + 0xc8], esi
faddp st(1)
fild dword [esp + 0x78]
faddp st(1)
fmulp st(1)
call fcn.1000ca40
mov dword [ebp + 0xc4], eax
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0x30]
push 0
push eax
push edi
call fcn.1000ddaa
add esp, 0xc
cmp dword [esp + 0x1c], 1
je 0x10004b52
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
jb 0x100044f6
cmp dword [esp + 0x1c], 0
jne 0x10004b64
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dl, byte [ebp + 0x84]
cmp dl, 1
jne 0x10004b80
cmp eax, 1
jne 0x10004b80
cmp ecx, eax
jne 0x10004b80
cmp esi, eax
jne 0x10004b80
mov byte [ebp + 0x88], al
mov byte [ebp], al
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov byte [ebp], 0
mov byte [ebp + 0x84], 0
mov byte [ebp + 0x88], 0
mov byte [ebp + 0x84], 0
mov byte [ebp + 0x88], 0
mov byte [ebp], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
test dl, dl
jne 0x10004bb1
cmp eax, 1
jne 0x10004bb1
cmp ecx, eax
jne 0x10004bb1
cmp esi, eax
jne 0x10004bb1
mov byte [ebp + 0x88], al
mov byte [ebp], al
mov byte [ebp + 0x84], al
mov byte [ebp + 0x85], 0x16
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
pop edi
mov byte [ebp + 0x88], 0
mov byte [ebp + 0x84], 0
pop esi
mov byte [ebp], 0
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret