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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x114
push ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x2c]
xor ecx, ecx
mov dword [0xa6fbe8], eax
mov dword [0xa6fbec], ecx
mov eax, dword [ebx + 8]
push esi
push edi
add eax, 3
xor edi, edi
shr eax, 2
je 0x4e101a
xor esi, esi
mov edx, dword [ebx + 0x24]
movzx edx, byte [esi + edx + 0xa]
cmp ecx, edx
ja 0x4e1005
mov ecx, edx
mov dword [0xa6fbec], ecx
add esi, 0xb
sub eax, 1
jne 0x4e0ff1
cmp ecx, edi
je 0x4e101a
add ecx, 1
mov dword [0xa6fbec], ecx
lea eax, [ecx + ecx*2 + 3]
add eax, eax
add eax, eax
add eax, eax
cmp dword [0x9d3e94], edi
jne 0x4e1030
xor eax, eax
jmp 0x4e104b
mov esi, dword [ebp + 0xc]
push 0x44
push 0x6af9cc
push 0x10
mov edi, eax
call fcn.00589980
mov ecx, dword [0xa6fbec]
xor edi, edi
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [0xa6fbe8], eax
mov edx, dword [ebx + 0x2c]
push ecx
push edx
push eax
call fcn.004ad5c0
mov eax, dword [0xa6fbec]
mov ecx, dword [0xa6fbe8]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 - 0x14]
mov dword [ecx + eax*8 + 4], edx
lea eax, [ecx + eax*8]
mov edx, dword [eax - 0x10]
mov dword [eax + 8], edx
mov edx, dword [eax - 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [eax - 8]
mov dword [eax + 0x10], edx
lea ecx, [eax - 0x10]
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0x14], ecx
mov edx, dword [ebx + 4]
add eax, 8
add edx, 1
mov dword [0xa6fc0c], edx
mov esi, dword [ebx + 0x1c]
mov dword [0xa6f96c], esi
mov eax, dword [ebx + 8]
mov dword [0xa6f970], eax
mov ecx, dword [ebx + 8]
sub ecx, 1
mov dword [0xa6f974], ecx
mov eax, dword [ebx + 0x20]
mov dword [0xa6fbe4], eax
mov edx, dword [ebx + 0x24]
mov dword [0xa6fbe0], edx
mov dword [0xa6f9c0], edi
mov dword [0xa6f9c8], edi
mov dword [0xa6f9c4], edi
mov dword [0xa6f9cc], edi
mov ecx, dword [ebx + 0xc]
mov dword [0xa6f978], ecx
mov edx, dword [ebx + 8]
add esp, 0xc
xor ecx, ecx
cmp dword [ebx + 0xc], edi
mov dword [esp + 0x30], edx
mov edx, eax
jbe 0x4e113c
fld qword [0x6f9ef8]
movss xmm0, dword [0x6e5b20]
mov esi, dword [edx]
fld dword [esi + 0x24]
add edx, 4
fxch st(1)
fcomi st(1)
fstp st(1)
jbe 0x4e112c
movss dword [esi + 0x24], xmm0
add ecx, 1
cmp ecx, dword [ebx + 0xc]
jb 0x4e1117
mov esi, dword [0xa6f96c]
fstp st(0)
mov eax, dword [esp + 0x30]
mov ecx, dword [0xa6fbe0]
add eax, 3
sar eax, 2
cmp eax, edi
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], edi
mov dword [esp + 0xfc], edi
mov byte [esp + 0x3b], 0xff
jle 0x4e122e
mov esi, eax
jmp 0x4e11a0
movzx edx, byte [ecx + 7]
add dword [esp + edx*4 + 0xe0], 1
xor eax, eax
cmp edx, edi
jle 0x4e11ca
movzx edx, byte [eax + ecx]
cmp edx, dword [ebx + 0xc]
jb 0x4e11bf
mov byte [eax + ecx], 0
movzx edx, byte [ecx + 7]
add eax, 1
cmp eax, edx
jl 0x4e11b2
mov al, byte [ecx + 9]
cmp al, 1
jne 0x4e11db
cmp byte [ecx + 7], 7
jne 0x4e11db
mov byte [ecx + 7], 6
mov dl, byte [ecx + 7]
shl byte [ecx + 8], 1
mov byte [esp + 0x3a], dl
mov dl, 6
imul dl
mov dl, al
mov al, byte [esp + 0x3a]
add dl, al
add al, 1
mov byte [ecx + 7], al
movzx eax, byte [ecx + 8]
mov byte [esp + 0x3a], al
mov al, byte [ecx + 0xa]
sub dl, 8
cmp al, byte [esp + 0x3b]
mov byte [ecx + 9], dl
je 0x4e121a
mov byte [esp + 0x3b], al
mov al, byte [esp + 0x3a]
or al, 1
mov byte [ecx + 8], al
add ecx, 0xb
xor edi, edi
sub esi, 1
jne 0x4e11a0
mov esi, dword [0xa6f96c]
mov ecx, dword [esp + 0x30]
mov eax, ecx
imul eax, eax, 0x88
add esi, 0x88
mov dword [esp + 0x28], eax
add eax, esi
mov dword [0xa6fa00], eax
lea eax, [ecx + 1]
xor edx, edx
cmp eax, edi
mov dword [0xa6f96c], esi
lea ebx, [esi + 0x88]
mov dword [esp + 0x2c], eax
jle 0x4e1345
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
lea eax, [esi + 0x6c]
mov edi, dword [eax + 0xc]
cmp edx, dword [esp + 0x10]
mov word [edi + 0x2c], dx
movzx ecx, byte [eax]
mov word [edi], cx
movzx ecx, byte [eax]
cmove ebx, esi
add cx, 1
shl cx, 4
mov word [edi + 0xc], cx
mov cl, byte [eax + 9]
mov byte [edi + 0x11], cl
movzx cx, byte [eax + 9]
add cx, 1
imul cx, cx, 0x30
mov word [edi + 8], cx
movzx si, byte [eax]
add si, 1
shl si, 8
add si, cx
movzx ecx, si
mov dword [esp + 0x1c], ecx
mov word [edi + 6], si
movsx esi, byte [ebx + 0x6d]
movsx ecx, byte [eax + 1]
sub ecx, esi
jns 0x4e12d4
xor ecx, ecx
movzx si, byte [eax + 3]
sub cx, si
imul cx, cx, 0x30
add cx, word [esp + 0x1c]
add edx, 1
mov word [edi + 0xa], cx
movzx cx, byte [ebx + 0x75]
movsx esi, byte [ebx + 0x6e]
add cx, 1
imul cx, cx, 3
sub cx, si
shl cx, 4
add cx, word [edi + 0xc]
add eax, 0x88
mov word [edi + 4], cx
movzx ecx, byte [eax - 0x87]
mov byte [edi + 0x10], cl
movzx ecx, byte [eax - 0x86]
mov byte [edi + 0x12], cl
movzx ecx, byte [eax - 0x85]
add ebx, 0x88
cmp edx, dword [esp + 0x2c]
mov byte [edi + 0x13], cl
mov esi, dword [0xa6f96c]
jl 0x4e1272
mov edx, dword [esp + 0x2c]
test edx, edx
jle 0x4e13bd
lea ecx, [esi + 0x78]
mov eax, dword [ecx - 0x88]
movzx esi, word [eax + 0xc]
mov edi, dword [ecx]
mov word [edi + 0xe], si
mov esi, eax
sub esi, edi
add si, word [eax + 8]
add ecx, 0x88
mov word [edi + 2], si
mov bx, word [eax + 0xc]
movzx esi, word [edi + 0xc]
imul bx, bx, 0xf
add si, 8
add si, si
add si, word [eax + 4]
add si, bx
add si, word [eax + 8]
sub edx, 1
mov word [eax + 0x2e], si
movzx eax, byte [ecx - 0x93]
mov byte [edi + 0x10], al
movzx eax, byte [ecx - 0x92]
mov byte [edi + 0x12], al
movzx eax, byte [ecx - 0x91]
mov byte [edi + 0x13], al
jne 0x4e1350
mov esi, dword [0xa6f96c]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + esi - 0x10]
mov eax, dword [esi + 0x78]
mov dx, word [edx + 0xc]
mov ebx, dword [esp + 0x2c]
mov word [eax + 0xe], dx
mov eax, dword [0xa6f96c]
mov ecx, dword [ecx + eax + 0x78]
mov edx, dword [eax + 0x78]
mov ax, word [ecx + 2]
mov word [edx + 2], ax
mov edx, dword [0xa6f96c]
mov esi, dword [edx - 0x10]
add esi, 0x30
test ebx, ebx
jle 0x4e15db
movss xmm2, dword [0x6fa9a8]
add edx, 0x6f
mov dword [esp + 0x28], ebx
jmp 0x4e1410
mov edi, dword [edx + 9]
movzx ecx, word [edi + 0xa]
movzx ebx, byte [edx]
lea eax, [edi + 0x30]
add ecx, eax
movzx eax, byte [edx - 3]
add eax, ebx
cmp byte [edx - 1], 0
mov dword [esp + 0x10], eax
jle 0x4e1432
add esi, 0x30
xor eax, eax
cmp byte [edx + 6], al
mov dword [esp + 0x18], eax
jbe 0x4e15bd
add ecx, 0x19
add esi, 0xffffffe9
mov dword [esp + 0x24], ecx
lea ecx, [edi + 0x34]
mov dword [esp + 0x20], esi
movzx esi, byte [ecx + 0x15]
mov ebx, dword [esi*4 + 0xa95ddc]
mov ebx, dword [ebx + 0x18]
mov dword [esp + 0x34], ebx
movzx ebx, byte [edx]
cmp eax, ebx
jle 0x4e1524
cmp eax, dword [esp + 0x10]
jge 0x4e1524
mov eax, dword [esi*4 + 0xa95ddc]
fld dword [eax + 0x10]
mov eax, dword [esp + 0x20]
movzx ebx, byte [eax + 0x30]
fstp dword [esp + 0x14]
mov ebx, dword [ebx*4 + 0xa95ddc]
movzx eax, byte [eax]
fld dword [ebx + 0x10]
movzx ebx, byte [ecx - 0x1b]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fld dword [esp + 0x14]
mov ebx, dword [ebx*4 + 0xa95ddc]
mov eax, dword [eax*4 + 0xa95ddc]
movss xmm0, dword [ebx + 0x10]
movss xmm1, dword [eax + 0x10]
fcompi st(1)
fstp st(0)
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0xc], xmm1
jbe 0x4e14e2
movss xmm3, dword [esp + 0x4c]
movss dword [esp + 0x14], xmm3
fld dword [esp + 0x1c]
fld dword [esp + 0x14]
fcompi st(1)
fstp st(0)
jbe 0x4e14f6
movss dword [esp + 0x14], xmm0
fld dword [esp + 0xc]
fld dword [esp + 0x14]
fcompi st(1)
fstp st(0)
jbe 0x4e150a
movss dword [esp + 0x14], xmm1
test byte [esp + 0x34], 1
movss xmm0, dword [esp + 0x14]
movss dword [ecx + 8], xmm0
je 0x4e1524
fld dword [ecx]
fadd dword [esp + 0x14]
fstp dword [ecx]
mov ebx, dword [esi*4 + 0xa95ddc]
mov bl, byte [ebx + 0x24]
mov eax, dword [esp + 0x24]
movzx eax, byte [eax]
mov eax, dword [eax*4 + 0xa95ddc]
add bl, bl
add bl, bl
add bl, byte [eax + 0x24]
and bl, 0xf
mov byte [ecx + 0x10], bl
mov eax, dword [esi*4 + 0xa95ddc]
movzx eax, byte [eax + 0x20]
mov byte [ecx + 0x12], al
cmp byte [ecx + 0x12], 8
mov eax, dword [esi*4 + 0xa95ddc]
movzx eax, byte [eax + 0x1c]
mov byte [ecx + 0x13], al
jbe 0x4e156f
mov byte [ecx + 0x12], 8
test byte [esp + 0x34], 4
je 0x4e158f
or byte [ecx + 0x13], 0x80
mov eax, dword [esi*4 + 0xa95ddc]
movss xmm0, dword [eax + 0x10]
comiss xmm0, xmm2
jbe 0x4e158f
mov byte [ecx + 0x12], 9
movsx ebx, byte [edx - 1]
mov eax, dword [esp + 0x18]
mov esi, 0x30
add dword [esp + 0x24], esi
add ecx, esi
add ebx, eax
js 0x4e15aa
add dword [esp + 0x20], esi
movzx esi, byte [edx + 6]
add eax, 1
cmp eax, esi
mov dword [esp + 0x18], eax
jl 0x4e1452
add edx, 0x88
sub dword [esp + 0x28], 1
lea esi, [edi + 0x30]
jne 0x4e1410
mov edx, dword [0xa6f96c]
mov ebx, dword [esp + 0x2c]
movss xmm0, dword [0x6d54c4]
mov eax, dword [0xa6f970]
movss dword [0xa6fb34], xmm0
movss xmm0, dword [0x726de8]
movss dword [0xa6fb38], xmm0
call fcn.004df070
fld qword [0x6f9b88]
test ebx, ebx
mov esi, dword [0xa6f96c]
xorps xmm0, xmm0
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], esi
movss dword [esp + 0x18], xmm0
mov dword [esp + 0x20], 0
jle 0x4e1b16
add esi, 0x14
mov edi, dword [esi + 0x64]
mov edx, dword [edi + 0x30]
mov ecx, dword [esp + 0x14]
mov dword [ecx], edx
mov eax, dword [edi + 0x34]
mov dword [ecx + 4], eax
mov edx, dword [edi + 0x38]
mov dword [ecx + 8], edx
fld dword [ecx]
mov eax, dword [edi + 0x30]
mov dword [esi - 8], eax
mov edx, dword [edi + 0x34]
mov dword [esi - 4], edx
mov eax, dword [edi + 0x38]
mov dword [esi], eax
movss xmm0, dword [edi + 0x30]
movzx eax, byte [esi + 0x61]
movss xmm1, dword [esi + 0x38]
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [edi + edx]
mov edx, dword [eax]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [edi + 0x38]
mov dword [esi + 4], edx
mov edx, dword [eax + 4]
mov dword [esi + 8], edx
mov edx, dword [eax + 8]
mov dword [esi + 0xc], edx
mov edx, dword [eax]
mov dword [esi + 0x10], edx
mov edx, dword [eax + 4]
mov dword [esi + 0x14], edx
mov edx, dword [eax + 8]
mov dword [esi + 0x18], edx
movss dword [esi - 4], xmm1
movss dword [esi + 0x14], xmm1
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esi + 0x5c]
movss dword [esi - 0x10], xmm0
movss dword [esi + 8], xmm0
fadd dword [esi - 8]
movss dword [esp + 0xc], xmm0
fstp dword [esp + 0x80]
fld dword [esp + 0xc]
fadd dword [esi - 4]
fstp dword [esp + 0x84]
fld dword [esi - 0xc]
fadd dword [esi]
fstp dword [esp + 0x88]
fld dword [esi + 4]
fadd dword [esp + 0x80]
fstp dword [esp + 0x90]
fld dword [esp + 0x84]
fadd dword [esi + 8]
fstp dword [esp + 0x94]
fld dword [esi + 0xc]
fadd dword [esp + 0x88]
fstp dword [esp + 0x98]
fld dword [esp + 0x90]
fadd dword [esi + 0x10]
fstp dword [esp + 0x70]
mov ecx, dword [esp + 0x70]
fld dword [esp + 0x94]
fadd dword [esi + 0x14]
fstp dword [esp + 0x74]
mov edx, dword [esp + 0x74]
fld dword [esi + 0x18]
mov dword [esi + 0x1c], ecx
fadd dword [esp + 0x98]
mov dword [esi + 0x20], edx
fstp dword [esp + 0x78]
mov ecx, dword [esp + 0x78]
mov dword [esi + 0x24], ecx
fld dword [esi + 0x1c]
fmul st(1)
fstp dword [esi + 0x1c]
fld dword [esi + 0x20]
fmul st(1)
fstp dword [esi + 0x20]
fmul dword [esi + 0x24]
fstp dword [esi + 0x24]
lea edx, [esp + 0xd8]
fld dword [eax]
push edx
fsub dword [esp + 0x54]
fstp dword [esp + 0xdc]
fld dword [eax + 8]
mov eax, edx
fsub dword [esp + 0x58]
push eax
fstp dword [esp + 0xe4]
call sub.d3dx9_35.dll_D3DXVec2Normalize
movsx ecx, byte [edi + 0x10]
fld dword [esp + 0xdc]
movzx ebx, byte [esi + 0x5b]
movss xmm0, dword [0x6f99f8]
subss xmm0, dword [esp + 0xd8]
sub ebx, ecx
lea eax, [ebx + ebx*2 + 3]
shl eax, 4
add eax, edi
mov dword [esp + 0x10], eax
movzx eax, byte [edi + 0x13]
fst dword [esp + 0xa0]
movss dword [esp + 0xa4], xmm0
add eax, 2
fld dword [esp + 0xa4]
lea eax, [eax + eax*2]
fld st(0)
shl eax, 4
fmul dword [esp + 0x54]
add eax, edi
cmp dword [esp + 0x20], 0
fld st(2)
fmul dword [esp + 0x50]
mov dword [esp + 0x24], eax
movss dword [esi + 0x44], xmm0
faddp st(1)
fstp dword [esp + 0x1c]
fxch st(1)
fst dword [esi + 0x40]
fld dword [esp + 0x1c]
fst dword [esi + 0x48]
je 0x4e187e
mov ecx, dword [esp + 0x28]
fld dword [ecx + 8]
fmul st(3)
fld st(2)
fmul dword [ecx]
faddp st(1)
fsub st(1)
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x1c]
fcompi st(1)
jb 0x4e1862
fld dword [ecx + 0x20]
fmulp st(4)
fld dword [ecx + 0x18]
fmulp st(3)
fxch st(3)
faddp st(2)
fsubp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcompi st(1)
fstp st(0)
jae 0x4e1884
jmp 0x4e186a
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
mov edx, dword [esp + 0x20]
push edx
push str.buckled_at_row__d_n
call fcn.00408d10
add esp, 8
jmp 0x4e1884
fstp st(1)
fstp st(1)
fstp st(0)
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
jne 0x4e197c
mov edx, dword [0xa6f96c]
mov ecx, dword [edx + 0x78]
movsx edi, byte [ecx + 0x10]
movzx eax, byte [esi + 0x5b]
sub eax, edi
xorps xmm0, xmm0
lea edi, [eax + eax*2 + 3]
shl edi, 4
add edi, ecx
movzx ecx, byte [edx + 0x75]
cmp eax, ebx
cmovg eax, ebx
mov ebx, dword [esp + 0x10]
lea eax, [eax + eax*2]
shl eax, 4
sub edi, eax
sub ebx, eax
movzx eax, byte [esi + 0x61]
cmp eax, ecx
cmova eax, ecx
sub eax, 1
movss dword [esp + 0x4c], xmm0
je 0x4e1968
mov dword [esp + 0x1c], eax
lea esp, [esp]
fld dword [ebx]
fsub dword [edi]
fstp dword [esp + 0x60]
fld dword [ebx + 4]
fsub dword [edi + 4]
fstp dword [esp + 0x64]
fld dword [ebx + 8]
fsub dword [edi + 8]
fstp dword [esp + 0x68]
fld dword [esp + 0x64]
fld dword [esp + 0x60]
fld dword [esp + 0x68]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
call fcn.004ad260
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fstp dword [esp + 0x34]
fld dword [esp + 0x4c]
fld dword [esp + 0x34]
fcompi st(1)
fstp st(0)
jbe 0x4e195b
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x4c], xmm0
add edi, 0x30
add ebx, 0x30
sub dword [esp + 0x1c], 1
jne 0x4e18f0
mov eax, dword [0xa6f96c]
mov edi, dword [eax + 0x100]
movzx eax, byte [eax + 0xf7]
jmp 0x4e1989
mov edi, dword [esi + 0xec]
movzx eax, byte [esi + 0xe3]
movsx edx, byte [edi + 0x10]
mov ecx, dword [esp + 0x10]
sub eax, edx
add eax, 1
fld dword [ecx]
lea eax, [eax + eax*2]
fstp dword [esp + 0x50]
shl eax, 4
fld dword [ecx + 8]
add eax, edi
fstp dword [esp + 0x54]
fld dword [eax + 8]
fsub dword [esp + 0x54]
fstp dword [esp + 0xa0]
fld dword [eax]
lea eax, [esp + 0xa0]
fsub dword [esp + 0x50]
push eax
mov ecx, eax
push ecx
fchs
fstp dword [esp + 0xac]
call sub.d3dx9_35.dll_D3DXVec2Normalize
fld dword [esp + 0xa0]
mov ebx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x30]
fst dword [esi + 0x4c]
fld dword [esp + 0xa4]
fst dword [esi + 0x50]
fld st(0)
fmul dword [esp + 0x54]
fld st(2)
fmul dword [esp + 0x50]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0x54]
je 0x4e1ab2
movzx eax, byte [esi + 0x58]
mov edx, dword [esp + 0x24]
mov ecx, 2
sub eax, 1
add edx, 0x30
cmp eax, ecx
mov dword [esp + 0x10], ecx
jle 0x4e1ab2
movsx eax, byte [esi + 0x59]
mov dword [esp + 0x1c], eax
movzx eax, byte [esi + 0x58]
fild dword [esp + 0x1c]
add eax, 0xffffffff
mov dword [esp + 0x34], eax
fld dword [edx + 8]
fmul st(3)
fld dword [edx]
fmul st(5)
faddp st(1)
fsub st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fsub st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fisub dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fabs
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x18]
fld dword [esp + 0x10]
fcompi st(1)
fstp st(0)
jbe 0x4e1a9c
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x18], xmm0
add ecx, 1
add edx, 0x30
cmp ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
jl 0x4e1a49
fstp st(3)
fstp st(1)
jmp 0x4e1ab4
fstp st(2)
mov ecx, ebx
fstp st(0)
and ecx, 3
fstp st(0)
test ecx, ecx
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
mov word [esi + 0x62], 0xffff
jge 0x4e1ad5
fadd dword [0x6f9a18]
fld qword [0x6f9b88]
mov edx, dword [esi + 0x64]
add dword [esp + 0x14], 0x88
fmul st(1), st(0)
fld1
add ebx, 1
fsubrp st(2)
add esi, 0x88
cmp ebx, dword [esp + 0x2c]
fxch st(1)
mov dword [esp + 0x20], ebx
fadd qword [0x6f9a00]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edx + 0x14]
jl 0x4e1635
fstp st(0)
fld dword [esp + 0x18]
fadd qword [0x6f9a30]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [0x6bb308]
fcompi st(1)
fstp st(0)
jbe 0x4e1b40
movss xmm0, dword [0x6bb308]
jmp 0x4e1b46
movss xmm0, dword [esp + 0x18]
mov eax, dword [0xa6fa00]
movss dword [0xa6fc08], xmm0
mov dword [0xa6f958], 1
mov ecx, dword [eax + 0x78]
movsx eax, word [ecx + 8]
add eax, ecx
mov al, byte [eax]
xor ecx, ecx
lea ebx, [ebx]
test al, al
jne 0x4e1b81
add ecx, 1
cmp ecx, 0x80
jl 0x4e1b70
jmp 0x4e1b8b
mov dword [0xa6f958], 0
mov esi, dword [esp + 0x30]
mov eax, esi
cdq
and edx, 0xf
add eax, edx
mov ecx, eax
mov eax, esi
cdq
and edx, 0x3f
add eax, edx
sar ecx, 4
sar eax, 6
lea ebx, [eax + ecx + 2]
lea ebx, [ebx + ebx*2]
shl ebx, 5
cmp dword [0x9d3e94], 0
mov dword [esp + 0x28], ecx
jne 0x4e1bc5
xor eax, eax
jmp 0x4e1c60
mov esi, dword [ebp + 0xc]
test byte [esi + 0xc4], 1
jne 0x4e1be4
push str..CodeSega_LL_Heap.cpp:256___Heap_is_out_of_core_n
call fcn.00408d10
add esp, 4
call dword [sym.imp.KERNEL32.dll_DebugBreak]
lea eax, [esi + 0x34]
push eax
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [esp + 0xc]
push ecx
push ebx
lea ecx, [esi + 0x4c]
mov eax, 0x10
call fcn.0057ad70
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x4e1c2e
test byte [esi + 0xc4], 2
jne 0x4e1c1f
push 1
mov eax, esi
call fcn.00589670
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x4e1c60
mov eax, dword [esp + 0xc]
mov dword [eax], 0x6b0194
mov dword [eax + 4], 0x298
add dword [esi + 0x2c], ebx
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
cmp ecx, eax
jbe 0x4e1c4e
mov eax, ecx
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov edx, dword [0xa6f970]
lea ecx, [ecx + ecx*2 + 3]
shl ecx, 5
push edx
add ecx, eax
mov dword [0xa6fb60], eax
push eax
mov eax, dword [0xa6f96c]
mov dword [0xa6fb64], ecx
call fcn.004e0660
mov eax, dword [0xa6f970]
mov ecx, dword [0xa6fb64]
push eax
mov eax, dword [0xa6f96c]
push ecx
call fcn.004dff50
add esp, 0x10
cmp dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
jle 0x4e1d3f
mov ebx, dword [0xa6f96c]
mov edx, dword [esp + 0x30]
add ebx, 0x6c
mov dword [esp + 0x1c], edx
jmp 0x4e1cd0
mov edi, dword [ebx + 0xc]
movzx eax, byte [edi + 0x13]
add eax, 1
lea esi, [eax + eax*2]
movzx eax, byte [ebx]
shl esi, 4
xor ecx, ecx
add eax, 1
add esi, edi
test eax, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], ecx
jle 0x4e1d2e
mov eax, esi
call fcn.004dec40
or dword [esp + 0x24], eax
movzx ecx, byte [ebx]
mov eax, dword [esp + 0x10]
add eax, 1
add ecx, 1
add esi, 0x30
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x4e1cf6
cmp dword [esp + 0x24], 0
je 0x4e1d2e
mov byte [ebx + 0x18], 3
mov dword [esp + 0x28], 1
jmp 0x4e1d32
mov byte [ebx + 0x18], 0
add ebx, 0x88
sub dword [esp + 0x1c], 1
jne 0x4e1cd0
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [0xa968b0], eax
je 0x4e1e2e
mov ecx, 2
mov dword [esp + 0x20], 4
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [0xa6f96c]
xor eax, eax
cmp dword [esp + 0x30], eax
mov dword [esp + 0x24], edx
jle 0x4e1e0f
neg edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x14], edx
lea esp, [esp]
mov edx, dword [esp + 0x20]
add eax, edx
cmp eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
jle 0x4e1daa
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
jmp 0x4e1dae
mov edx, dword [esp + 0x24]
xor eax, eax
test edx, edx
mov dword [esp + 0xc], ebx
jle 0x4e1dd8
mov esi, edx
lea ebx, [ebx]
movzx ecx, byte [ebx + 0x84]
or eax, ecx
add ebx, 0x88
sub esi, 1
jne 0x4e1dc0
mov ecx, dword [esp + 0x10]
and eax, 1
shl eax, cl
test edx, edx
jle 0x4e1dfd
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x24]
add edx, 0x84
nop
or byte [edx], al
add edx, 0x88
sub esi, 1
jne 0x4e1df0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x14], edx
cmp eax, dword [esp + 0x30]
jl 0x4e1d90
mov eax, dword [esp + 0x20]
add ecx, 1
cmp ecx, 5
lea edx, [eax*4]
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], ecx
jl 0x4e1d61
mov eax, dword [0xa6f96c]
mov dword [esp + 0x14], eax
mov eax, dword [0xa6fc0c]
add eax, 1
imul eax, dword [esp + 0x2c]
lea ebx, [eax + eax*2]
add ebx, ebx
add ebx, ebx
cmp dword [0x9d3e94], 0
jne 0x4e1e5b
xor eax, eax
jmp 0x4e1ef6
mov esi, dword [ebp + 0xc]
test byte [esi + 0xc4], 1
jne 0x4e1e7a
push str..CodeSega_LL_Heap.cpp:256___Heap_is_out_of_core_n
call fcn.00408d10
add esp, 4
call dword [sym.imp.KERNEL32.dll_DebugBreak]
lea eax, [esi + 0x34]
push eax
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [esp + 0xc]
push ecx
push ebx
lea ecx, [esi + 0x4c]
mov eax, 0x10
call fcn.0057ad70
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x4e1ec4
test byte [esi + 0xc4], 2
jne 0x4e1eb5
push 1
mov eax, esi
call fcn.00589670
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x4e1ef6
mov eax, dword [esp + 0xc]
mov dword [eax], 0x6b01b8
mov dword [eax + 4], 0x2f4
add dword [esi + 0x2c], ebx
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x30]
cmp ecx, eax
jbe 0x4e1ee4
mov eax, ecx
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x30], 0
movss xmm0, dword [0x6f9a90]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [0x6cc5ec]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], eax
movss dword [esp + 0x1c], xmm0
jle 0x4e23ac
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x30]
xorps xmm2, xmm2
xorps xmm0, xmm0
add ecx, 0x6c
movaps xmm4, xmm0
movaps xmmword [esp + 0xe0], xmm4
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
lea esp, [esp]
mov ecx, dword [esp + 0x2c]
mov edi, dword [ecx + 0xc]
movzx eax, byte [edi + 0x13]
movzx ebx, word [edi + 0xa]
add eax, 1
lea eax, [eax + eax*2]
shl eax, 4
add eax, edi
add ebx, eax
cmp byte [ecx], 0
mov dword [esp + 0x24], eax
movss dword [esp + 0x3c], xmm2
movss dword [esp + 0x40], xmm2
movss dword [esp + 0x44], xmm2
mov dword [esp + 0x18], 0
jbe 0x4e2184
mov esi, eax
add esi, 0x38
jmp 0x4e1fa0
mov eax, dword [esp + 0x24]
fld dword [eax]
fstp dword [esp + 0xc]
fld dword [esi - 8]
fld dword [esp + 0xc]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
fld dword [esi - 0x34]
mov dword [esp + 0xc8], ecx
fstp dword [esp + 0xc]
fld dword [esi - 4]
fld dword [esp + 0xc]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x64]
mov edx, dword [esp + 0x64]
fld dword [esi - 0x30]
mov dword [esp + 0xcc], edx
fstp dword [esp + 0xc]
fld dword [esi]
fld dword [esp + 0xc]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x68]
fld dword [ebx]
mov dword [esp + 0xd0], eax
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x70]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xb8], ecx
fsubr dword [ebx + 4]
lea ecx, [esp + 0xc8]
push ecx
fstp dword [esp + 0x78]
mov edx, dword [esp + 0x78]
mov dword [esp + 0xc0], edx
fsubr dword [ebx + 8]
lea edx, [esp + 0xbc]
push edx
fstp dword [esp + 0x80]
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xb0]
push eax
call fcn.00407df0
movss xmm0, dword [esp + 0xb4]
xorps xmm2, xmm2
mov ecx, dword [esp + 0x2c]
movss dword [esp + 0x8c], xmm0
movss xmm0, dword [esp + 0xb8]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0xbc]
movss dword [esp + 0x94], xmm0
movss dword [esp + 0x98], xmm2
movaps xmm1, xmmword [esp + 0x8c]
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm4, xmm0
shufps xmm4, xmm0, 0
shufps xmm0, xmm0, 0xaa
addps xmm3, xmm4
movaps xmm4, xmmword [esp + 0xec]
addps xmm3, xmm0
sqrtps xmm3, xmm3
movaps xmm0, xmm4
cmpltps xmm0, xmm3
divps xmm1, xmm3
andps xmm1, xmm0
andnps xmm0, xmm4
orps xmm1, xmm0
add esp, 0xc
movss dword [ecx], xmm1
lea eax, [ecx + 4]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
movss dword [eax], xmm0
add ecx, 8
shufps xmm1, xmm1, 0xaa
movss dword [ecx], xmm1
movss xmm0, dword [eax]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
mov eax, dword [esp + 0x18]
movss dword [esp + 0x34], xmm0
jnp 0x4e215e
test eax, eax
je 0x4e215e
mov edx, dword [esp + 0x2c]
movzx edx, byte [edx]
sub edx, 1
cmp eax, edx
je 0x4e215e
fld dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
fadd dword [edx]
fstp dword [esp + 0x3c]
fld dword [esp + 0x40]
fadd dword [esp + 0x34]
fstp dword [esp + 0x40]
fld dword [ecx]
fadd dword [esp + 0x44]
fstp dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [ecx]
add dword [esp + 0x20], 0xc
add dword [esp + 0x24], 0x30
add eax, 1
add esi, 0x30
add ebx, 0x30
cmp eax, edx
mov dword [esp + 0x18], eax
jl 0x4e1fa0
movss xmm0, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
movzx edx, byte [eax]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [esp + 0x44]
movss dword [esp + 0x98], xmm0
movss dword [esp + 0x9c], xmm2
movaps xmm1, xmmword [esp + 0x90]
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm5, xmm0
shufps xmm5, xmm0, 0
shufps xmm0, xmm0, 0xaa
addps xmm3, xmm5
addps xmm3, xmm0
sqrtps xmm3, xmm3
divps xmm1, xmm3
movaps xmm0, xmm4
cmpltps xmm0, xmm3
andps xmm1, xmm0
andnps xmm0, xmm4
orps xmm1, xmm0
lea ecx, [edx + edx*2]
add ecx, ecx
add ecx, ecx
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
movss dword [esp + 0x40], xmm0
movss xmm0, dword [0x6f9a90]
mov eax, ecx
mov ecx, dword [esp + 0x20]
shufps xmm1, xmm1, 0xaa
movss dword [esp + 0x44], xmm1
fld dword [esp + 0x44]
fld dword [esp + 0x40]
sub ecx, eax
fld dword [esp + 0x3c]
xor ebx, ebx
cmp edx, 4
movss dword [esp + 0x14], xmm0
jl 0x4e232d
lea esi, [edx - 4]
shr esi, 2
add esi, 1
lea ebx, [esi*4]
fld dword [ecx + 4]
fmul st(2)
fld st(1)
fmul dword [ecx]
faddp st(1)
fld dword [ecx + 8]
fmul st(4)
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fcompi st(1)
fstp st(0)
jbe 0x4e228e
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
fld dword [ecx + 0x10]
fmul st(2)
fld dword [ecx + 0xc]
fmul st(2)
faddp st(1)
fld dword [ecx + 0x14]
fmul st(4)
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fcompi st(1)
fstp st(0)
jbe 0x4e22bf
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
fld dword [ecx + 0x1c]
fmul st(2)
fld dword [ecx + 0x18]
fmul st(2)
faddp st(1)
fld dword [ecx + 0x20]
fmul st(4)
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fcompi st(1)
fstp st(0)
jbe 0x4e22f0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
fld dword [ecx + 0x28]
fmul st(2)
fld dword [ecx + 0x24]
fmul st(2)
faddp st(1)
fld dword [ecx + 0x2c]
fmul st(4)
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fcompi st(1)
fstp st(0)
jbe 0x4e2321
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
add ecx, 0x30
sub esi, 1
jne 0x4e225e
cmp ebx, edx
jge 0x4e236b
sub edx, ebx
fld dword [ecx + 4]
fmul st(2)
fld st(1)
fmul dword [ecx]
faddp st(1)
fld dword [ecx + 8]
fmul st(4)
faddp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fcompi st(1)
fstp st(0)
jbe 0x4e2363
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
add ecx, 0xc
sub edx, 1
jne 0x4e2333
fstp st(2)
fstp st(1)
fld dword [esp + 0x14]
fld dword [esp + 0x10]
fcompi st(1)
fstp st(0)
jbe 0x4e2383
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x1c]
fcompi st(1)
fstp st(0)
jbe 0x4e2399
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0x1c], xmm0
add dword [esp + 0x2c], 0x88
sub dword [esp + 0x28], 1
jne 0x4e1f50
cmp dword [esp + 0x30], 0
mov edx, dword [esp + 0x4c]
mov eax, dword [0xa6f96c]
mov esi, edx
mov dword [esp + 0x14], eax
jle 0x4e2a3a
fld qword [0x6f9d20]
mov ecx, dword [esp + 0x30]
fld qword [0x6f99e0]
xorps xmm0, xmm0
fld qword [0x6f9ef0]
movaps xmm2, xmm0
fld qword [0x6fa240]
mov dword [esp + 0x1c], ecx
fld qword [0x6fa238]
fld qword [0x6f9b88]
mov edi, dword [eax + 0x78]
movzx ecx, byte [edi + 0x13]
fld dword [edi + 0x14]
fadd dword [0xa6fb38]
movzx eax, word [edi + 0xa]
add ecx, 1
fmul st(6)
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edi
fstp dword [esp + 0xc]
add eax, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x20], eax
cvttss2si eax, dword [esp + 0xc]
movzx eax, al
fld dword [edx]
fadd dword [esi]
shl eax, 0x18
mov dword [esp + 0x10], eax
fstp dword [esp + 0x60]
fld dword [edx + 4]
fadd dword [esi + 4]
fstp dword [esp + 0x64]
fld dword [edx + 8]
fadd dword [esi + 8]
fstp dword [esp + 0x68]
fld dword [esp + 0x60]
fmul st(5)
fstp dword [esp + 0x50]
movss xmm0, dword [esp + 0x50]
fld dword [esp + 0x64]
mov eax, dword [esp + 0x50]
fmul st(5)
movss dword [esp + 0x110], xmm0
mov dword [esp + 0x3c], eax
fstp dword [esp + 0x54]
movss xmm0, dword [esp + 0x54]
fld dword [esp + 0x68]
mov eax, dword [esp + 0x54]
movss dword [esp + 0x114], xmm0
fmul st(5)
mov dword [esp + 0x40], eax
fstp dword [esp + 0x58]
movss xmm0, dword [esp + 0x58]
fld dword [edi + 0x14]
mov eax, dword [esp + 0x58]
movss dword [esp + 0x118], xmm0
fmul st(6)
movss xmm0, dword [0x6e5b14]
movss dword [esp + 0x11c], xmm0
movaps xmm1, xmmword [esp + 0x110]
fstp dword [esp + 0xc]
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm4, xmm0
shufps xmm4, xmm0, 0
shufps xmm0, xmm0, 0xaa
addps xmm3, xmm4
addps xmm3, xmm0
sqrtps xmm3, xmm3
divps xmm1, xmm3
movaps xmm0, xmm2
cmpltps xmm0, xmm3
andps xmm1, xmm0
andnps xmm0, xmm2
orps xmm1, xmm0
mov dword [esp + 0x44], eax
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
movss dword [esp + 0x40], xmm0
shufps xmm1, xmm1, 0xaa
movss dword [esp + 0x44], xmm1
cvttss2si eax, dword [esp + 0xc]
fld dword [esp + 0x40]
fmul st(4)
mov ebx, eax
fadd st(6)
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
fld dword [esp + 0x3c]
mov dword [esp + 0x28], eax
fmul st(4)
fadd st(6)
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
xor eax, eax
mov ah, bl
movzx ebx, byte [esp + 0x28]
mov al, byte [esp + 0xc]
shl eax, 8
or eax, ebx
shl eax, 8
mov dword [ecx + 0x10], eax
movsx eax, byte [edi + 0x10]
sub eax, 2
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
mov ebx, dword [ecx + 0x10]
mov word [ecx + 0x1a], ax
mov eax, dword [esp + 0x20]
and ebx, 0xffffff
or ebx, dword [esp + 0x10]
add eax, 0x30
mov dword [eax - 0x20], ebx
mov bx, word [ecx + 0x1a]
mov word [eax - 0x16], bx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
movsx ebx, byte [eax + 0x6d]
movzx eax, byte [eax + 0x6c]
lea eax, [eax + ebx - 1]
add ecx, 0x30
add esi, 0xc
add edx, 0xc
cmp ebx, eax
mov dword [esp + 0x18], ebx
jge 0x4e286a
lea ebx, [edx - 4]
fstp st(1)
lea eax, [esi - 4]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], eax
jmp 0x4e25fc
mov eax, dword [esp + 0x24]
fstp st(0)
mov ebx, dword [esp + 0x2c]
fld dword [eax - 8]
fadd dword [esi]
fstp dword [esp + 0x70]
fld dword [eax + 8]
fadd dword [eax - 4]
fstp dword [esp + 0x74]
fld dword [eax + 0xc]
fadd dword [eax]
fstp dword [esp + 0x78]
fld dword [edx]
fadd dword [esp + 0x70]
fstp dword [esp + 0xa8]
fld dword [ebx + 8]
fadd dword [esp + 0x74]
fstp dword [esp + 0xac]
fld dword [ebx + 0xc]
fadd dword [esp + 0x78]
fstp dword [esp + 0xb0]
fld dword [ebx - 8]
fadd dword [esp + 0xa8]
fstp dword [esp + 0xb8]
fld dword [ebx - 4]
fadd dword [esp + 0xac]
fstp dword [esp + 0xbc]
fld dword [esp + 0xb0]
fadd dword [ebx]
fstp dword [esp + 0xc0]
fld dword [esp + 0xb8]
fmul st(1)
fstp dword [esp + 0x90]
movss xmm0, dword [esp + 0x90]
fld dword [esp + 0xbc]
mov eax, dword [esp + 0x90]
fmul st(1)
movss dword [esp + 0x100], xmm0
mov dword [esp + 0x3c], eax
fstp dword [esp + 0x94]
movss xmm0, dword [esp + 0x94]
fld dword [esp + 0xc0]
mov eax, dword [esp + 0x94]
movss dword [esp + 0x104], xmm0
fmul st(1)
mov dword [esp + 0x40], eax
fstp dword [esp + 0x98]
movss xmm0, dword [esp + 0x98]
fld dword [edi + 0x14]
mov eax, dword [esp + 0x98]
movss dword [esp + 0x108], xmm0
fmul st(5)
movss xmm0, dword [0x6e5b14]
movss dword [esp + 0x10c], xmm0
movaps xmm1, xmmword [esp + 0x100]
fstp dword [esp + 0xc]
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm4, xmm0
shufps xmm4, xmm0, 0
shufps xmm0, xmm0, 0xaa
addps xmm3, xmm4
addps xmm3, xmm0
sqrtps xmm3, xmm3
divps xmm1, xmm3
movaps xmm0, xmm2
cmpltps xmm0, xmm3
andps xmm1, xmm0
andnps xmm0, xmm2
orps xmm1, xmm0
mov dword [esp + 0x44], eax
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
movss dword [esp + 0x40], xmm0
shufps xmm1, xmm1, 0xaa
movss dword [esp + 0x44], xmm1
cvttss2si eax, dword [esp + 0xc]
fld dword [esp + 0x40]
fmul st(3)
mov ebx, eax
fld st(0)
fadd st(6)
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
fld dword [esp + 0x3c]
mov dword [esp + 0x28], eax
fmul st(4)
fld st(0)
fadd st(7)
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
xor eax, eax
mov ah, bl
movzx ebx, byte [esp + 0x28]
mov al, byte [esp + 0xc]
shl eax, 8
or eax, ebx
shl eax, 8
cmp dword [esp + 0x18], 0
mov dword [ecx + 0x10], eax
jne 0x4e2800
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
fstp dword [esp + 0xc]
mov byte [ebx + 0x85], al
cvttss2si eax, dword [esp + 0xc]
fld dword [esp + 0x44]
fmul st(3)
mov byte [ebx + 0x86], al
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
mov byte [ebx + 0x87], al
jmp 0x4e2808
mov ebx, dword [esp + 0x14]
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x18]
add eax, 0xffffffff
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul st(1)
fadd st(2)
fld qword [0x6fa238]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
add dword [esp + 0x18], 1
add dword [esp + 0x20], 0x30
add dword [esp + 0x24], 0xc
add dword [esp + 0x2c], 0xc
mov word [ecx + 0x1a], ax
movzx eax, byte [ebx + 0x6c]
movsx ebx, byte [ebx + 0x6d]
lea eax, [eax + ebx - 1]
mov ebx, dword [esp + 0x18]
add ecx, 0x30
add esi, 0xc
add edx, 0xc
cmp ebx, eax
jl 0x4e25f2
fxch st(1)
fld dword [edx - 0xc]
fadd dword [esi - 0xc]
fstp dword [esp + 0xc8]
fld dword [esi - 8]
fadd dword [edx - 8]
fstp dword [esp + 0xcc]
fld dword [esi - 4]
fadd dword [edx - 4]
fstp dword [esp + 0xd0]
fld dword [esp + 0xc8]
fmul st(5)
fstp dword [esp + 0x80]
movss xmm0, dword [esp + 0x80]
fld dword [esp + 0xcc]
mov edx, dword [esp + 0x80]
fmul st(5)
movss dword [esp + 0xe0], xmm0
mov dword [esp + 0x3c], edx
fstp dword [esp + 0x84]
movss xmm0, dword [esp + 0x84]
fld dword [esp + 0xd0]
mov eax, dword [esp + 0x84]
movss dword [esp + 0xe4], xmm0
fmul st(5)
mov dword [esp + 0x40], eax
fstp dword [esp + 0x88]
movss xmm0, dword [esp + 0x88]
fld dword [edi + 0x14]
mov edx, dword [esp + 0x88]
movss dword [esp + 0xe8], xmm0
fmul st(6)
movss xmm0, dword [0x6e5b14]
movss dword [esp + 0xec], xmm0
movaps xmm1, xmmword [esp + 0xe0]
fstp dword [esp + 0xc]
movaps xmm0, xmm1
mulps xmm0, xmm1
movaps xmm3, xmm0
shufps xmm3, xmm0, 0x55
movaps xmm4, xmm0
shufps xmm4, xmm0, 0
shufps xmm0, xmm0, 0xaa
addps xmm3, xmm4
addps xmm3, xmm0
sqrtps xmm3, xmm3
divps xmm1, xmm3
movaps xmm0, xmm2
cmpltps xmm0, xmm3
andps xmm1, xmm0
andnps xmm0, xmm2
orps xmm1, xmm0
mov dword [esp + 0x44], edx
movss dword [esp + 0x3c], xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
movss dword [esp + 0x40], xmm0
shufps xmm1, xmm1, 0xaa
movss dword [esp + 0x44], xmm1
cvttss2si eax, dword [esp + 0xc]
fld dword [esp + 0x40]
fmul st(4)
mov edx, eax
fadd st(6)
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
fld dword [esp + 0x3c]
mov dword [esp + 0x28], eax
fmul st(4)
fadd st(6)
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
xor eax, eax
mov ah, dl
movzx edx, byte [esp + 0x28]
mov al, byte [esp + 0xc]
shl eax, 8
or eax, edx
shl eax, 8
mov dword [ecx + 0x10], eax
add ebx, 0xffffffff
mov dword [esp + 0xc], ebx
fild dword [esp + 0xc]
fmul st(1)
fadd st(3)
fmul st(2)
fstp dword [esp + 0xc]
cvttss2si eax, dword [esp + 0xc]
mov edx, dword [ecx + 0x10]
mov word [ecx + 0x1a], ax
mov eax, dword [esp + 0x20]
and edx, 0xffffff
or edx, dword [esp + 0x10]
mov dword [eax + 0x10], edx
mov cx, word [ecx + 0x1a]
mov edx, dword [esp + 0x34]
mov word [eax + 0x1a], cx
mov eax, dword [esp + 0x14]
add eax, 0x88
sub dword [esp + 0x1c], 1
mov dword [esp + 0x14], eax
jne 0x4e23f8
fstp st(5)
fstp st(2)
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
movzx ecx, byte [edi + 0x13]
mov esi, dword [eax + 0x78]
add ecx, 1
lea edx, [ecx + ecx*2]
movzx ecx, byte [esi + 0x13]
add ecx, 1
shl edx, 4
add edx, edi
movzx edi, byte [eax + 0x6c]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, esi
add edi, 1
xor esi, esi
test edi, edi
jle 0x4e2a88
add ecx, 0x10
add edx, 0x10
mov edi, edi
mov edi, dword [edx]
mov dword [ecx], edi
movzx edi, byte [eax + 0x6c]
add esi, 1
add edi, 1
add ecx, 0x30
add edx, 0x30
cmp esi, edi
jl 0x4e2a70
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x4e2ae7
cmp dword [0x9d3e94], 0
je 0x4e2ae7
cmp dword [0x93d90c], 0
jne 0x4e2ae7
mov esi, dword [0x9d36c0]
xor eax, eax
test esi, esi
jbe 0x4e2ae7
mov ecx, 0x9d36e8
mov edx, dword [ecx]
cmp edi, edx
jb 0x4e2ac2
mov ebx, dword [ecx + 4]
add ebx, edx
cmp edi, ebx
jb 0x4e2ad1
add eax, 1
add ecx, 0xc8
cmp eax, esi
jb 0x4e2ab3
jmp 0x4e2ae7
imul eax, eax, 0xc8
add eax, 0x9d36c4
test eax, eax
je 0x4e2ae7
mov esi, eax
call fcn.00589900
mov edx, dword [ebp + 0xc]
mov ebx, dword [esp + 0x30]
push edx
mov eax, ebx
call fcn.004e0dc0
mov eax, dword [0xa6f970]
mov ecx, dword [0xa6f96c]
add esp, 4
push eax
push 0xa6fbc8
push ecx
mov eax, 3
call fcn.004def90
xor esi, esi
add esp, 0xc
cmp dword [0xa6f9c0], esi
jle 0x4e2b5c
mov edi, 0xa6f9d0
jmp 0x4e2b30
mov edx, dword [esi*4 + 0xa6f9c8]
mov eax, dword [esi*4 + 0xa6f9c4]
push edx
push edi
push eax
mov eax, 4
call fcn.004def90
add esi, 1
add esp, 0xc
add edi, 0x14
cmp esi, dword [0xa6f9c0]
jl 0x4e2b30
mov ecx, dword [0xa6f96c]
push ebx
push ecx
call fcn.004e0b50
fldz
mov eax, dword [0xa6f96c]
fstp dword [esp + 4]
fld dword [0x6fa9a4]
mov ecx, ebx
fstp dword [esp]
call fcn.004ded20
mov ecx, dword [0xa6f96c]
add esp, 8
mov eax, ebx
call fcn.004df7b0
call fcn.004df280
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret