Function at 0x46f2e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x3c
mov dword [0x47ba74], eax
nop
mov edx, dword [esp + 0x44]
push ebx
mov ebx, dword [esp + 0x4c]
push esi
push edi
mov esi, ecx
mov eax, dword [esp + 0x58]
push ebp
fld dword [esp + 0x50]
mov dword [0x47ba78], edx
mov dword [0x47ba7c], ebx
fstp qword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
push edx
mov dword [0x47ba80], eax
push ebx
call fcn.00430d70
mov ecx, dword [esp + 0x14]
push ecx
push ebx
lea ecx, [esi + 0x2c]
call fcn.00430d70
mov ecx, esi
call fcn.0046e930
test eax, eax
jne 0x46fc7c
lea ecx, [esi + 0x2c]
call fcn.0046e930
test eax, eax
jne 0x46fc7c
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x74]
xor ebp, ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
test ebx, ebx
jne 0x46f449
push 0x1c
call fcn.0044cfa0
add esp, 4
mov edi, eax
cmp edi, ebp
je 0x46f43d
mov eax, dword [esp + 0x28]
mov dword [edi + 0xc], ebp
mov dword [edi + 4], ebp
cmp eax, ebp
mov dword [edi], ebp
mov dword [edi + 0x14], ebp
mov dword [edi + 0x18], ebp
jg 0x46f3bb
push 0x76
push str.z:wncsrcinclude_sh3_sparse_matrix.h
push str.nRows___0
call fcn.0044c6f0
add esp, 0xc
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [edi + 4], ecx
test eax, eax
mov dword [edi], ecx
jg 0x46f3e0
push 0x77
push str.z:wncsrcinclude_sh3_sparse_matrix.h
push str.nCols___0
call fcn.0044c6f0
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov dword [edi + 8], eax
mov eax, dword [edi]
shl eax, 2
push eax
call fcn.0044cfa0
add esp, 4
mov dword [edi + 0x14], eax
test eax, eax
jne 0x46f410
push 0x7a
push str.z:wncsrcinclude_sh3_sparse_matrix.h
push str._tRows
call fcn.0044c6f0
add esp, 0xc
xor ecx, ecx
mov eax, dword [edi]
cmp eax, ecx
jle 0x46f42d
xor eax, eax
mov edx, dword [edi + 0x14]
add eax, 4
inc ecx
mov dword [edx + eax - 4], 0
cmp dword [edi], ecx
jg 0x46f41a
mov eax, dword [0x471fb4]
mov dword [edi + 0x10], eax
mov dword [esi + 0x74], edi
jmp 0x46f595
mov dword [esi + 0x74], 0
jmp 0x46f595
mov eax, dword [esp + 0x28]
cmp eax, 1
jl 0x46f588
mov eax, dword [esp + 0x2c]
cmp eax, 1
jl 0x46f588
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx + 4]
cmp eax, ecx
jge 0x46f520
fild dword [esp + 0x28]
fmul qword [0x471fc0]
call fcn.0044cf40
add eax, dword [esp + 0x28]
lea ecx, [eax*4]
mov ebp, eax
mov dword [esp + 0x30], eax
push ecx
call fcn.0044cfa0
mov dword [esp + 0x14], eax
add esp, 4
test eax, eax
je 0x46f588
mov eax, dword [esp + 0x30]
test eax, eax
jle 0x46f4b9
mov edi, dword [esp + 0x10]
xor eax, eax
mov ecx, ebp
rep stosd dword es:[edi], eax
xor edx, edx
mov eax, dword [ebx + 0x14]
cmp eax, edx
je 0x46f504
mov eax, dword [ebx]
cmp eax, edx
jle 0x46f504
xor edi, edi
xor ecx, ecx
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + edi]
test eax, eax
je 0x46f4fc
mov ebp, dword [eax + 8]
test ebp, ebp
je 0x46f4e7
mov eax, dword [eax + 8]
mov ebp, dword [eax + 8]
test ebp, ebp
jne 0x46f4dd
mov ebp, dword [ebx + 0x18]
mov dword [eax + 8], ebp
mov eax, dword [ebx + 0x14]
mov ebp, dword [eax + edi]
mov dword [ebx + 0x18], ebp
mov eax, dword [ebx + 0x14]
mov dword [eax + edi], ecx
add edi, 4
inc edx
cmp dword [ebx], edx
jg 0x46f4cc
mov eax, dword [ebx + 0x14]
push eax
call fcn.0044cf90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ebx + 0x14], eax
mov dword [ebx + 4], ecx
jmp 0x46f56b
xor edi, edi
mov eax, dword [ebx + 0x14]
cmp eax, edi
je 0x46f56b
mov eax, dword [ebx]
cmp eax, edi
jle 0x46f56b
xor edx, edx
xor ecx, ecx
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + edx]
test eax, eax
je 0x46f563
mov ebp, dword [eax + 8]
test ebp, ebp
je 0x46f54e
mov eax, dword [eax + 8]
mov ebp, dword [eax + 8]
test ebp, ebp
jne 0x46f544
mov ebp, dword [ebx + 0x18]
mov dword [eax + 8], ebp
mov eax, dword [ebx + 0x14]
mov ebp, dword [eax + edx]
mov dword [ebx + 0x18], ebp
mov eax, dword [ebx + 0x14]
mov dword [eax + edx], ecx
add edx, 4
inc edi
cmp dword [ebx], edi
jg 0x46f533
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [ebx], ecx
mov dword [ebx + 8], eax
xor eax, eax
mov dword [ebx + 0xc], eax
mov ecx, dword [0x471fb4]
mov dword [ebx + 0x10], ecx
jmp 0x46f58d
mov eax, 0xffffffff
test eax, eax
jne 0x46fc7c
mov eax, dword [esi + 0x74]
test eax, eax
jne 0x46f5ab
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x46f658
push 0x10
call fcn.0044cfa0
add esp, 4
mov edi, eax
test edi, edi
je 0x46f64f
mov dword [edi + 4], 0
push 0x3a984
mov dword [edi], 0
mov dword [edi + 0xc], 0
mov dword [edi + 8], 0x4e20
call fcn.0044cfa0
mov dword [esp + 0x14], eax
add esp, 4
test eax, eax
je 0x46f621
lea ebp, [eax + 4]
mov ebx, 0x270f
mov dword [eax], 0x2710
mov ecx, ebp
add ebp, 0x18
call fcn.0046fd10
dec ebx
jns 0x46f608
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [edi + 0xc], eax
jmp 0x46f628
mov dword [edi + 0xc], 0
mov eax, dword [edi + 0xc]
test eax, eax
jne 0x46f643
push 0x6c
push str.z:wncsrcinclude_sh3_array.h
push str._data
call fcn.0044c6f0
add esp, 0xc
mov dword [edi + 4], 0x2710
mov dword [esi + 0x78], edi
jmp 0x46f65e
mov dword [esi + 0x78], 0
jmp 0x46f65e
mov dword [eax], 0
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x46f674
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov ecx, esi
call fcn.0046ea70
test eax, eax
jne 0x46fc7c
lea ecx, [esi + 0x2c]
call fcn.0046ea70
test eax, eax
jne 0x46fc7c
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx]
cmp eax, 1
jge 0x46f6a9
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], 0
test eax, eax
jle 0x46fc7a
mov edi, dword [ecx + 4]
mov ebx, dword [ecx]
cmp edi, ebx
jne 0x46f99f
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
cmp edx, eax
je 0x46f99f
mov eax, dword [ecx + 0x10]
mov ebp, dword [esi + 0x14]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x28], ebx
lea eax, [eax + eax*2]
mov eax, dword [ebp + eax*4 + 8]
mov ebp, dword [ecx + 0x14]
mov dword [esp + 0x34], eax
fld dword [esp + 0x34]
fld dword [esp + 0x34]
lea eax, [ebp + ebp*2]
mov ebp, dword [esi + 0x40]
mov eax, dword [ebp + eax*4 + 8]
mov ebp, dword [edx + 0x14]
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], ebp
fld dword [esp + 0x38]
fsub dword [esp + 0x28]
fxch st(2)
fsub dword [esp + 0x30]
fld dword [esp + 0x38]
fxch st(3)
fabs
fxch st(1)
fabs
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x20]
fld dword [esp + 0x40]
mov eax, dword [ecx + 0xc]
mov ebp, dword [eax + 8]
mov eax, dword [edi + 0x14]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x2c], eax
fxch st(2)
fsub dword [esp + 0x2c]
fxch st(1)
fsub dword [esp + 0x10]
fxch st(1)
fabs
fxch st(1)
fabs
fxch st(1)
fstp dword [esp + 0x24]
fstp dword [esp + 0x18]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x46f7be
fld dword [esp + 0x40]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x46f7be
fld dword [esp + 0x1c]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x46f7be
fld dword [esp + 0x3c]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 1
je 0x46f7be
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x46fc62
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
fld dword [esp + 0x18]
fcomp dword [esp + 0x20]
xor edi, edi
fnstsw ax
test ah, 1
jne 0x46f82d
fld dword [esp + 0x1c]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x46f82d
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
je 0x46f82d
fld dword [esp + 0x20]
fmul dword [0x471fb0]
fld dword [0x47ba80]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46f808
fxch st(1)
fstp st(0)
fadd dword [esp + 0x34]
fcom dword [esp + 0x10]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x46fc86
mov eax, dword [esp + 0x10]
mov edi, 1
mov dword [edx + 0x14], eax
test edi, edi
jne 0x46f91c
fld dword [esp + 0x18]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
je 0x46f8a5
fld dword [esp + 0x1c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 1
jne 0x46f8a5
fld dword [esp + 0x18]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
je 0x46f8a5
fld dword [esp + 0x18]
fmul dword [0x471fb0]
fld dword [0x47ba80]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46f87d
fxch st(1)
fstp st(0)
fsubr dword [esp + 0x34]
fcom dword [esp + 0x30]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x46fc95
mov eax, dword [ecx + 0xc]
mov edx, dword [esp + 0x10]
mov edi, 1
mov dword [eax + 8], edx
test edi, edi
jne 0x46fc62
fld dword [esp + 0x1c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x46f91c
fld dword [esp + 0x1c]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
je 0x46f91c
fld dword [esp + 0x1c]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
je 0x46f91c
fld dword [esp + 0x1c]
fmul dword [0x471fb0]
fld dword [0x47ba80]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46f8f5
fxch st(1)
fstp st(0)
fadd dword [esp + 0x38]
fcom dword [esp + 0x2c]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x46fca4
mov edx, dword [ecx]
mov eax, dword [esp + 0x10]
mov edi, 1
mov dword [edx + 8], eax
test edi, edi
jne 0x46fc62
fld dword [esp + 0x18]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 1
jne 0x46fc62
fld dword [esp + 0x1c]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 1
jne 0x46fc62
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 1
jne 0x46fc62
fld dword [0x471fb0]
fmul dword [esp + 0x24]
fld dword [0x47ba80]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46f978
fxch st(1)
fstp st(0)
fsubr dword [esp + 0x38]
fcom dword [esp + 0x28]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x46fcb3
mov edx, dword [ecx]
mov eax, dword [esp + 0x10]
mov dword [edx + 0x14], eax
jmp 0x46fc62
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0xc]
cmp edx, eax
jne 0x46fcfe
cmp edi, ebx
je 0x46fcfe
mov eax, dword [ecx + 0x10]
mov ebp, dword [esi + 0x14]
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x28], ebx
lea eax, [eax + eax*2]
mov eax, dword [ebp + eax*4 + 8]
mov ebp, dword [ecx + 0x14]
mov dword [esp + 0x34], eax
nop
lea eax, [ebp + ebp*2]
mov ebp, dword [esi + 0x40]
mov eax, dword [ebp + eax*4 + 8]
mov ebp, dword [edx + 8]
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], ebp
fld dword [esp + 0x38]
fsub dword [esp + 0x28]
fld dword [esp + 0x38]
fld dword [esp + 0x34]
fsub dword [esp + 0x30]
fxch st(2)
fabs
fld dword [esp + 0x34]
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x3c]
fxch st(3)
fabs
mov eax, dword [ecx + 0xc]
fstp dword [esp + 0x20]
mov ebp, dword [eax + 0x14]
mov eax, dword [edi + 8]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x2c], eax
fsub dword [esp + 0x10]
fxch st(1)
fsub dword [esp + 0x2c]
fxch st(1)
fabs
fxch st(1)
fabs
fxch st(1)
fstp dword [esp + 0x18]
fstp dword [esp + 0x24]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 1
je 0x46fa95
fld dword [esp + 0x3c]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 1
je 0x46fa95
fld dword [esp + 0x40]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x46fa95
fld dword [esp + 0x40]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x46fa95
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x46fc62
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
fld dword [esp + 0x18]
fcomp dword [esp + 0x20]
xor edi, edi
fnstsw ax
test ah, 1
jne 0x46fb04
fld dword [esp + 0x20]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
je 0x46fb04
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
je 0x46fb04
fld dword [esp + 0x20]
fmul dword [0x471fb0]
fld dword [0x47ba80]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46fadf
fxch st(1)
fstp st(0)
fadd dword [esp + 0x34]
fcom dword [esp + 0x10]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x46fcc2
mov eax, dword [esp + 0x10]
mov edi, 1
mov dword [edx + 8], eax
test edi, edi
jne 0x46fbf3
fld dword [esp + 0x18]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
je 0x46fb7c
fld dword [esp + 0x18]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
je 0x46fb7c
fld dword [esp + 0x18]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
je 0x46fb7c
fld dword [esp + 0x18]
fmul dword [0x471fb0]
fld dword [0x47ba80]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46fb54
fxch st(1)
fstp st(0)
fsubr dword [esp + 0x34]
fcom dword [esp + 0x30]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x46fcd1
mov eax, dword [ecx + 0xc]
mov edx, dword [esp + 0x10]
mov edi, 1
mov dword [eax + 0x14], edx
test edi, edi
jne 0x46fc62
fld dword [esp + 0x18]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 1
jne 0x46fbf3
fld dword [esp + 0x20]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 1
jne 0x46fbf3
fld dword [esp + 0x24]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 1
jne 0x46fbf3
fld dword [esp + 0x1c]
fmul dword [0x471fb0]
fld dword [0x47ba80]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46fbcc
fxch st(1)
fstp st(0)
fadd dword [esp + 0x38]
fcom dword [esp + 0x2c]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x46fce0
mov eax, dword [ecx]
mov edx, dword [esp + 0x10]
mov edi, 1
mov dword [eax + 0x14], edx
test edi, edi
jne 0x46fc62
fld dword [esp + 0x18]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 1
jne 0x46fc62
fld dword [esp + 0x24]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
je 0x46fc62
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 1
jne 0x46fc62
fld dword [esp + 0x24]
fmul dword [0x471fb0]
fld dword [0x47ba80]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x46fc3f
fxch st(1)
fstp st(0)
fsubr dword [esp + 0x38]
fcom dword [esp + 0x28]
fstp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x46fcef
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x10]
mov dword [eax + 8], edx
add ecx, 0x18
mov eax, dword [esp + 0x44]
inc eax
mov edx, dword [esp + 0x48]
mov dword [esp + 0x44], eax
cmp edx, eax
jg 0x46f6c0
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x3c
ret 0x14