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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x7efa0
call fcn.004b04c0
push ebx
push esi
push edi
mov esi, ecx
call fcn.004c9206
test eax, eax
je 0x46b58b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
mov dword [esp + 0x24], eax
jmp 0x46b593
mov dword [esp + 0x24], 0
mov edi, dword [esi + 0xebd50]
mov dword [esp + 0x18], edi
lea eax, [edi + edi*4]
lea ecx, [edi + eax*2]
shl ecx, 4
lea eax, [ecx + esi + 0xf1d56]
mov ecx, dword [esi + edi*4 + 0xeb5d0]
mov dword [esp + 0x28], eax
movsx eax, word [eax]
test ecx, ecx
mov dword [esp + 0x2c], eax
je 0x46c35a
mov edx, dword [ebp + 0xc]
cmp edx, eax
jge 0x46c35a
mov ebx, dword [ebp + 0x10]
cmp ebx, eax
jge 0x46c35a
cmp edx, ebx
jne 0x46b5ec
xor edx, edx
lea ebx, [eax - 1]
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x10], ebx
mov eax, dword [esi + edi*4 + 0xf7438]
mov ecx, dword [eax + ebx*4]
and ecx, 0xf
cmp cl, 2
je 0x46c345
mov eax, dword [eax + edx*4]
and eax, 0xf
cmp al, 2
je 0x46c345
test ebx, ebx
jne 0x46b61e
mov ecx, dword [esp + 0x2c]
lea ebx, [ecx - 1]
mov dword [ebp + 0x10], ebx
xor eax, eax
cmp ebx, edx
mov dword [esp + 0x24], eax
jge 0x46b636
mov ecx, dword [esp + 0x2c]
mov eax, ebx
dec ecx
mov dword [esp + 0x24], eax
mov dword [ebp + 0x10], ecx
mov ebx, edx
mov dword [esp + 0x14], 1
cmp ebx, dword [ebp + 0x10]
jge 0x46b98c
mov eax, dword [esi + edi*4 + 0xf7438]
mov edx, dword [eax + ebx*4 + 4]
mov ecx, dword [eax + ebx*4]
and edx, 0xf
and ecx, 0xf
cmp dl, 2
jne 0x46b8f2
cmp ecx, 1
je 0x46b673
test ecx, ecx
jne 0x46b8f2
mov dword [esp + 0x1c], ebx
inc ebx
mov ecx, dword [eax + ebx*4]
lea eax, [eax + ebx*4]
and ecx, 0xf
cmp cl, 2
jne 0x46b695
mov edx, dword [eax + 4]
add eax, 4
and edx, 0xf
inc ebx
cmp dl, 2
je 0x46b686
lea eax, [esp + 0x6c]
mov ecx, ebx
push eax
mov eax, dword [esp + 0x20]
sub ecx, eax
push eax
push ecx
mov ecx, esi
call fcn.004733e0
dec eax
dec ebx
xor edi, edi
mov dword [esp + 0x44], eax
test eax, eax
mov dword [esp + 0x20], ebx
jl 0x46b96c
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + ecx*4]
shl ecx, 3
lea edx, [esp + ecx + 0x1d52c]
lea ecx, [esp + ecx + 0x1d54c]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
test edi, edi
jne 0x46b752
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
fild dword [esp + 0x78]
push edx
mov ecx, dword [ebp + 8]
sub esp, 8
mov ebx, dword [esp + 0x18]
fstp qword [esp]
fild dword [esp + 0x80]
sub esp, 8
mov byte [ebx], 1
sub esp, 8
fstp qword [esp + 8]
fild dword [esp + 0x8c]
sub esp, 8
fstp qword [esp + 8]
fild dword [esp + 0x90]
fstp qword [esp]
push eax
push ecx
mov ecx, esi
call fcn.0046ed50
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
inc edx
add ebx, 0x28
add eax, 0x28
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
jmp 0x46b88f
cmp edi, eax
je 0x46b8a5
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov eax, dword [esi + eax*4 + 0xf7438]
lea ebx, [edx + 1]
mov dword [esp + 0x2c], eax
mov ecx, dword [eax + ebx*4]
and ecx, 0xf
cmp cl, 2
jne 0x46b88f
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + edi*8 + 0x6c]
mov dword [esp + 0x54], ecx
mov eax, dword [esi + edx*4 + 0xf7078]
cmp dword [eax + ebx*4], ecx
jne 0x46b7ab
mov edx, dword [esp + 0x18]
mov edx, dword [esi + edx*4 + 0xf7258]
mov edx, dword [edx + ebx*4]
cmp edx, dword [esp + edi*8 + 0x70]
je 0x46b7c0
mov edx, dword [esp + 0x2c]
inc ebx
mov edx, dword [edx + ebx*4]
and edx, 0xf
cmp dl, 2
je 0x46b792
jmp 0x46b88f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
fild dword [esp + edi*8 + 0x70]
push ecx
mov byte [eax], 0
sub esp, 8
mov eax, dword [ebp + 8]
fstp qword [esp]
fild dword [esp + 0x60]
sub esp, 8
lea edx, [ebx - 1]
sub esp, 8
mov ecx, esi
fstp qword [esp + 8]
fild dword [esp + edi*8 + 0x84]
sub esp, 8
fstp qword [esp + 8]
fild dword [esp + edi*8 + 0x88]
fstp qword [esp]
push edx
push eax
call fcn.0046ed50
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
fild dword [esp + edi*8 + 0x78]
add ecx, 0x28
mov edx, dword [esp + 0x14]
push ecx
mov dword [esp + 0x14], ecx
sub esp, 8
mov ecx, dword [ebp + 8]
fstp qword [esp]
fild dword [esp + edi*8 + 0x80]
sub esp, 8
add eax, 0x28
sub esp, 8
inc edx
fstp qword [esp + 8]
fild dword [esp + edi*8 + 0x8c]
sub esp, 8
mov dword [esp + 0x38], edx
mov dword [esp + 0x30], eax
mov byte [eax], 0
fstp qword [esp + 8]
fild dword [esp + edi*8 + 0x90]
fstp qword [esp]
push ebx
push ecx
mov ecx, esi
call fcn.0046ed50
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, 0x28
inc ebx
add edx, eax
add ecx, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x20]
inc edi
cmp edi, eax
jle 0x46b6df
jmp 0x46b96c
mov eax, dword [esp + 0x14]
lea ecx, [esp + edi*8 + 0x70]
lea edi, [esp + edi*8 + 0x6c]
fild dword [ecx]
lea eax, [eax + eax*4]
shl eax, 3
lea edx, [esp + eax + 0x1d52c]
mov byte [esp + eax + 0x1d54c], 1
push edx
mov eax, dword [ebp + 8]
sub esp, 8
fstp qword [esp]
fild dword [edi]
sub esp, 8
sub esp, 8
fstp qword [esp + 8]
fild dword [ecx - 8]
sub esp, 8
fstp qword [esp + 8]
fild dword [edi - 8]
fstp qword [esp]
push ebx
push eax
jmp 0x46b965
mov eax, dword [esi + edi*4 + 0xf7078]
mov edi, dword [esi + edi*4 + 0xf7258]
fild dword [eax + ebx*4]
fstp qword [esp + 0x4c]
fild dword [edi + ebx*4]
fstp qword [esp + 0x44]
fild dword [eax + ebx*4 + 4]
mov eax, dword [esp + 0x14]
fstp qword [esp + 0x54]
fild dword [edi + ebx*4 + 4]
lea eax, [eax + eax*4]
shl eax, 3
fstp qword [esp + 0x2c]
mov edx, dword [esp + 0x30]
lea ecx, [esp + eax + 0x1d52c]
mov byte [esp + eax + 0x1d54c], 1
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ebx
push ecx
mov ecx, esi
call fcn.0046ed50
mov ecx, dword [esp + 0x14]
mov eax, dword [ebp + 0x10]
mov edi, dword [esp + 0x18]
inc ebx
inc ecx
cmp ebx, eax
mov dword [esp + 0x14], ecx
jl 0x46b649
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0xc]
test eax, eax
jle 0x46b9a0
xor ebx, ebx
mov dword [ebp + 0x10], eax
xor eax, eax
mov dword [esp + 0x24], eax
jmp 0x46b640
test edx, edx
mov dword [esp + 0x20], edx
jne 0x46bda2
mov edx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x10]
movsx edx, word [edx]
lea eax, [edx - 1]
cmp ecx, eax
jne 0x46bd9d
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], 1
lea eax, [ecx - 1]
cmp eax, 1
jle 0x46bc3a
lea edx, [esp + 0x1d574]
lea eax, [esp + 0x1d570]
lea ecx, [esp + 0x1d56c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x1d554]
lea eax, [esp + 0x1d55c]
lea ecx, [esp + 0x1d564]
mov dword [esp + 0x38], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
lea edx, [esp + 0x1d57c]
lea eax, [esp + 0x1d584]
lea ecx, [esp + 0x1d59c]
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
lea ebx, [esp + 0x1d58c]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov al, byte [edx]
mov dl, byte [ecx]
xor al, dl
jne 0x46bbc3
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x5c]
lea eax, [esp + 0x64]
push edx
mov edx, dword [ebx]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x2c]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x54]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x60]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x60]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, esi
call fcn.0046f760
test eax, eax
je 0x46bb20
fld qword [esp + 0x64]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x64]
fnstsw ax
test ah, 1
jne 0x46bacf
fadd qword [0x4f3dc8]
jmp 0x46bad5
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [esi + edi*4 + 0xf7078]
mov edx, dword [esp + 0x18]
mov dword [ecx + edx], eax
fld qword [esp + 0x5c]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x5c]
fnstsw ax
test ah, 1
jne 0x46bb05
fadd qword [0x4f3dc8]
jmp 0x46bb0b
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [esi + edi*4 + 0xf7258]
mov edx, dword [esp + 0x18]
mov dword [ecx + edx], eax
jmp 0x46bb44
mov edx, dword [esp + 0x4c]
mov ecx, dword [esi + edi*4 + 0xf7078]
mov eax, dword [esp + 0x18]
mov edx, dword [edx]
mov dword [ecx + eax], edx
mov edx, dword [esp + 0x44]
mov ecx, dword [esi + edi*4 + 0xf7258]
mov edx, dword [edx]
mov dword [ecx + eax], edx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
add edx, 4
mov cl, byte [eax]
mov dword [esp + 0x18], edx
test cl, cl
jne 0x46bbc3
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov eax, 0x28
add edx, eax
add ecx, eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
add edx, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x3c]
add ecx, eax
add edx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x38]
add ecx, eax
add edx, eax
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x44]
add ebx, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x28]
mov ecx, 0x28
add edx, ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x20]
add edx, ecx
add ebx, ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x1c]
add edx, ecx
inc eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x3c]
add edx, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x40]
add edx, ecx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x38]
add edx, ecx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x4c]
add edx, ecx
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x44]
add edx, ecx
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0xc]
add edx, ecx
mov ecx, dword [esp + 0x14]
dec ecx
mov dword [esp + 0xc], edx
cmp eax, ecx
jl 0x46ba4b
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x5c]
push edx
mov edx, dword [esp + 0x1d56c]
lea ecx, [esp + 0x68]
lea eax, [eax + eax*4]
push ecx
mov ecx, dword [esp + 0x1d56c]
push edx
mov edx, dword [esp + 0x1d56c]
push ecx
mov ecx, dword [esp + 0x1d56c]
push edx
mov edx, dword [esp + 0x1d56c]
shl eax, 3
push ecx
mov ecx, dword [esp + 0x1d56c]
push edx
mov edx, dword [esp + eax + 0x1d534]
push ecx
mov ecx, dword [esp + eax + 0x1d534]
push edx
mov edx, dword [esp + eax + 0x1d534]
push ecx
mov ecx, dword [esp + eax + 0x1d534]
push edx
mov edx, dword [esp + eax + 0x1d534]
mov eax, dword [esp + eax + 0x1d530]
push ecx
push edx
push eax
mov ecx, esi
call fcn.0046f760
fld qword [esp + 0x64]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x64]
fnstsw ax
test ah, 1
jne 0x46bcd2
fadd qword [0x4f3dc8]
jmp 0x46bcd8
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [esi + edi*4 + 0xf7078]
mov dword [ecx], eax
fld qword [esp + 0x5c]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x5c]
fnstsw ax
test ah, 1
jne 0x46bd03
fadd qword [0x4f3dc8]
jmp 0x46bd09
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [esi + edi*4 + 0xf7258]
mov dword [edx], eax
fld qword [esp + 0x64]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x64]
fnstsw ax
test ah, 1
jne 0x46bd34
fadd qword [0x4f3dc8]
jmp 0x46bd3a
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [esi + edi*4 + 0xf7078]
mov ebx, dword [ebp + 0x10]
mov dword [ecx + ebx*4], eax
fld qword [esp + 0x5c]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x5c]
fnstsw ax
test ah, 1
jne 0x46bd7f
fadd qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [esi + edi*4 + 0xf7258]
mov dword [edx + ebx*4], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [esi + edi*4 + 0xf7258]
mov dword [edx + ebx*4], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
add edx, 0xfffffffe
jmp 0x46bda3
dec edx
mov ecx, dword [esi + edi*4 + 0xf7078]
mov ebx, dword [esi + edi*4 + 0xf7438]
mov eax, dword [esi + edi*4 + 0xf7258]
fild dword [ecx + edx*4 + 4]
lea ebx, [ebx + edx*4]
mov dword [esp + 0x24], ebx
fstp qword [esp + 0x54]
mov ebx, dword [ebx]
fild dword [eax + edx*4 + 4]
and ebx, 0xf
mov eax, edx
cmp bl, 2
fstp qword [esp + 0x2c]
jne 0x46be2f
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx - 4]
sub ecx, 4
and edx, 0xf
dec eax
cmp dl, 2
je 0x46bddf
mov ecx, dword [esi + edi*4 + 0xf7438]
mov edx, eax
inc eax
mov ebx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
and ebx, 0xf
cmp bl, 2
jne 0x46be15
mov ebx, dword [ecx + 4]
add ecx, 4
and ebx, 0xf
inc eax
cmp bl, 2
je 0x46be06
lea ecx, [esp + 0x6c]
sub eax, edx
push ecx
push edx
push eax
mov ecx, esi
call fcn.004733e0
fild dword [esp + eax*8 + 0x64]
fild dword [esp + eax*8 + 0x68]
jmp 0x46be3c
mov eax, dword [esi + edi*4 + 0xf7258]
fild dword [ecx + edx*4]
fild dword [eax + edx*4]
fld st(0)
fsub qword [esp + 0x2c]
mov byte [esp + 0x1d54c], 1
fstp qword [esp + 0x1d52c]
fld qword [esp + 0x54]
fsub st(2)
fst qword [esp + 0x1d534]
fmul st(1)
fld qword [esp + 0x2c]
fsub st(2)
fmul st(3)
fsubp st(1)
fstp qword [esp + 0x1d53c]
fstp st(0)
fstp st(0)
fld qword [esp + 0x54]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x54]
fnstsw ax
test ah, 1
jne 0x46be92
fadd qword [0x4f3dc8]
jmp 0x46be98
fsub qword [0x4f3dc8]
call fcn.004b03b4
fld qword [esp + 0x2c]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x2c]
mov dword [esp + 0x1d544], eax
fnstsw ax
test ah, 1
jne 0x46bec1
fadd qword [0x4f3dc8]
jmp 0x46bec7
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [esp + 0x28]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x1d548], eax
movsx eax, word [edx]
dec eax
cmp ecx, eax
jne 0x46bee7
xor ecx, ecx
mov dword [ebp + 0x10], ecx
mov edx, dword [esi + edi*4 + 0xf7078]
mov ebx, dword [esi + edi*4 + 0xf7258]
lea eax, [ecx + 1]
fild dword [edx + ecx*4]
fstp qword [esp + 0x4c]
fild dword [ebx + ecx*4]
mov ecx, dword [esi + edi*4 + 0xf7438]
mov ebx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
fstp qword [esp + 0x44]
and ebx, 0xf
cmp bl, 2
jne 0x46bf47
lea edx, [eax - 1]
mov ebx, dword [ecx + 4]
add ecx, 4
and ebx, 0xf
inc eax
cmp bl, 2
je 0x46bf1e
lea ecx, [esp + 0x6c]
sub eax, edx
push ecx
push edx
push eax
mov ecx, esi
call fcn.004733e0
fild dword [esp + 0x74]
fild dword [esp + 0x78]
jmp 0x46bf54
mov ecx, dword [esi + edi*4 + 0xf7258]
fild dword [edx + eax*4]
fild dword [ecx + eax*4]
fstp qword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
fld qword [esp + 0x44]
fsub qword [esp + 0x2c]
lea ebx, [ebx + ebx*4]
shl ebx, 3
fstp qword [esp + ebx + 0x1d52c]
fld st(0)
fsub qword [esp + 0x4c]
fst qword [esp + ebx + 0x1d534]
fmul qword [esp + 0x44]
fld qword [esp + 0x2c]
fsub qword [esp + 0x44]
fmul qword [esp + 0x4c]
fsubp st(1)
fstp qword [esp + ebx + 0x1d53c]
mov byte [esp + ebx + 0x1d54c], 1
fcom qword [0x4f3dd0]
fnstsw ax
test ah, 1
jne 0x46bfb4
fadd qword [0x4f3dc8]
jmp 0x46bfba
fsub qword [0x4f3dc8]
call fcn.004b03b4
fld qword [esp + 0x2c]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x2c]
mov dword [esp + ebx + 0x1d544], eax
fnstsw ax
test ah, 1
jne 0x46bfe3
fadd qword [0x4f3dc8]
jmp 0x46bfe9
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [esp + 0x14]
mov dword [esp + ebx + 0x1d548], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
jle 0x46c2e9
lea edx, [esp + 0x1d54c]
lea eax, [esp + 0x1d548]
mov dword [esp + 0xc], edx
lea ecx, [esp + 0x1d544]
lea edx, [esp + 0x1d52c]
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], edx
lea eax, [esp + 0x1d534]
lea ecx, [esp + 0x1d53c]
lea edx, [esp + 0x1d554]
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], edx
lea ecx, [esp + 0x1d55c]
lea eax, [esp + 0x1d564]
lea edx, [esp + 0x1d574]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x44]
mov dl, byte [edx]
xor dl, byte [ebx]
jne 0x46c266
lea edx, [esp + 0x5c]
push edx
lea edx, [esp + 0x68]
push edx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
mov edx, dword [ecx + 4]
push eax
mov eax, dword [ecx]
push edx
push eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x50]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x60]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x64]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, esi
call fcn.0046f760
test eax, eax
je 0x46c161
fld qword [esp + 0x64]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x64]
fnstsw ax
test ah, 1
jne 0x46c0fb
fadd qword [0x4f3dc8]
jmp 0x46c101
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
lea ebx, [ecx + edx]
mov ecx, dword [esi + edi*4 + 0xf7078]
shl ebx, 2
mov dword [ecx + ebx], eax
fld qword [esp + 0x5c]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x5c]
fnstsw ax
test ah, 1
jne 0x46c14a
fadd qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [esi + edi*4 + 0xf7258]
mov dword [ebx + edx], eax
jmp 0x46c18e
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [esi + edi*4 + 0xf7258]
mov dword [ebx + edx], eax
jmp 0x46c18e
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esi + edi*4 + 0xf7078]
add eax, ecx
mov ecx, dword [esp + 0x18]
shl eax, 2
mov ecx, dword [ecx]
mov dword [edx + eax], ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [esi + edi*4 + 0xf7258]
mov ecx, dword [ecx]
mov dword [eax + edx], ecx
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
inc ecx
mov al, byte [edx]
mov dword [esp + 0x1c], ecx
test al, al
jne 0x46c213
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x2c]
mov eax, 0x28
inc edx
add ecx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x4c]
add ebx, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x3c]
add ebx, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xc]
add ebx, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x54], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
movsx ecx, word [eax]
mov eax, dword [esp + 0x1c]
add eax, edx
cmp eax, ecx
jne 0x46c266
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
dec edx
cmp eax, edx
jge 0x46c266
mov eax, dword [esi + edi*4 + 0xf7078]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
mov ecx, dword [eax + ecx*4 - 4]
mov dword [eax], ecx
mov eax, dword [esi + edi*4 + 0xf7258]
movsx ecx, word [edx]
mov edx, dword [eax + ecx*4 - 4]
mov dword [eax], edx
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x10]
add ebx, 0x28
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x4c]
add ebx, 0x28
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x38]
add ebx, 0x28
inc edx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x40]
add ebx, 0x28
add eax, 0x28
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x3c]
add ebx, 0x28
add ecx, 0x28
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x18]
add ebx, 0x28
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x54]
add ebx, 0x28
mov dword [esp + 0x2c], eax
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0xc]
add ebx, 0x28
mov dword [esp + 0x24], ecx
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x14]
cmp edx, ebx
jl 0x46c079
mov ecx, dword [ebp + 0x10]
mov eax, dword [esp + 0x28]
test ecx, ecx
jne 0x46c314
movsx edx, word [eax]
mov ecx, dword [esi + edi*4 + 0xf7078]
mov edx, dword [ecx + edx*4 - 4]
mov dword [ecx], edx
mov ecx, dword [esi + edi*4 + 0xf7258]
movsx edx, word [eax]
mov edx, dword [ecx + edx*4 - 4]
mov dword [ecx], edx
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x46c35a
mov ecx, dword [esi + edi*4 + 0xf7078]
movsx edx, word [eax]
mov ebx, dword [ecx]
mov dword [ecx + edx*4 - 4], ebx
mov esi, dword [esi + edi*4 + 0xf7258]
movsx eax, word [eax]
mov ecx, dword [esi]
mov dword [esi + eax*4 - 4], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esp + 0x24]
push 0
push 0x51660c
push 0x5194bc
call fcn.004c5f8b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc