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

Disassembly:
sub esp, 0x270
mov eax, dword [esp + 0x274]
push ebx
push ebp
mov ebp, dword [esp + 0x280]
push esi
push edi
push ebp
push eax
call fcn.0044eeb0
mov ecx, dword [0x4b603c]
mov edx, dword [0x4b6038]
push ecx
push edx
mov ebx, eax
call fcn.0044eeb0
mov esi, dword [esp + 0x29c]
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x2c]
push esi
mov dword [esp + 0x90], eax
call fcn.00418f00
mov edi, dword [esp + 0x2a4]
mov dword [esp + 0x78], eax
push edi
call fcn.00418f00
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2c0]
lea ecx, [esp + 0x98]
add esp, 0x18
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x2ac]
cmp eax, 0x100
jne 0x4634e6
test ecx, ecx
jne 0x463498
mov edx, dword [esp + 0x2a4]
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x29c]
push edx
mov edx, dword [esp + 0x29c]
push eax
mov eax, dword [esp + 0x29c]
push ecx
mov ecx, dword [esp + 0x290]
push edx
push eax
push edi
push esi
push ebp
push ecx
call fcn.00458530
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x270
ret
cmp ecx, 0x100
jne 0x4634f6
mov edx, dword [esp + 0x2a4]
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x29c]
push edx
mov edx, dword [esp + 0x29c]
push eax
mov eax, dword [esp + 0x29c]
push ecx
mov ecx, dword [esp + 0x290]
push edx
push eax
push edi
push esi
push ebp
push ecx
call fcn.004612a0
add esp, 0x24
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x270
ret
test eax, eax
jne 0x4634f6
cmp ecx, 0x100
je 0x464ae4
fld dword [esp + 0x298]
fmul dword [0x49f4e8]
call fcn.004922ac
fld dword [esp + 0x294]
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x70], ebp
jge 0x463525
fadd dword [0x49f4c4]
neg ebp
mov dword [esp + 0x70], ebp
fld dword [esp + 0x29c]
fmul dword [0x49f4e8]
call fcn.004922ac
test eax, eax
mov dword [esp + 0x60], eax
jge 0x46354b
fadd dword [0x49f4c4]
neg eax
mov dword [esp + 0x60], eax
test ebp, ebp
je 0x464ae2
test eax, eax
je 0x464ae2
fcom dword [0x49f2e4]
fnstsw ax
test ah, 1
je 0x463593
fld st(0)
fmul dword [0x49f4e4]
call fcn.004922ac
mov ecx, eax
neg ecx
shl ecx, 2
sub ecx, eax
mov eax, 0x168
lea edx, [ecx + ecx*8]
shl edx, 3
sub eax, edx
mov dword [esp + 0x14], eax
fiadd dword [esp + 0x14]
fmul dword [0x49f4e0]
call fcn.004922ac
cdq
mov ecx, 0xb40
idiv ecx
mov ebp, edx
test ebp, ebp
jne 0x463607
mov edx, dword [esp + 0x2ac]
mov eax, dword [esp + 0x2a8]
fld dword [esp + 0x29c]
fmul dword [esp + 0x2a4]
push edx
push eax
push ecx
mov edx, dword [esp + 0x290]
fstp dword [esp]
fld dword [esp + 0x2a4]
fmul dword [esp + 0x2ac]
push ecx
mov ecx, dword [esp + 0x298]
fchs
fstp dword [esp]
push edi
push esi
push ecx
push edx
call fcn.004521c0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x270
ret
cmp ebp, 0x5a0
jne 0x46366a
fld dword [esp + 0x29c]
mov eax, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x2a8]
fmul dword [esp + 0x2a4]
push eax
push ecx
push ecx
mov edx, dword [esp + 0x294]
fchs
fstp dword [esp]
fld dword [esp + 0x2a4]
fmul dword [esp + 0x2ac]
mov eax, dword [esp + 0x290]
push ecx
fstp dword [esp]
push edi
push esi
push edx
push eax
call fcn.004521c0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x270
ret
mov edx, dword [ebx + 4]
mov ecx, dword [ebx]
lea eax, [ebp + 0x2d0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
mov ecx, 0xb40
cdq
idiv ecx
mov eax, dword [0x4b5510]
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0xc]
mov ecx, dword [eax + edx*4]
mov eax, ebp
mov dword [esp + 0x48], ecx
mov ecx, 0xb40
cdq
fild dword [esp + 0x48]
idiv ecx
fst dword [esp + 0x5c]
fmul dword [0x49f4dc]
fstp dword [esp + 0x10]
mov eax, dword [0x4b5510]
mov ecx, dword [eax + edx*4]
mov eax, dword [esp + 0x48]
shl eax, 0x10
cdq
idiv dword [esp + 0x70]
mov dword [esp + 0x4c], ecx
fild dword [esp + 0x4c]
fst dword [esp + 0x58]
fmul dword [0x49f4dc]
fstp dword [esp + 0x20]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fdiv dword [esp + 0x2a0]
call fcn.004922ac
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
shl eax, 0x10
cdq
idiv dword [esp + 0x60]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fdiv dword [esp + 0x2a0]
call fcn.004922ac
cmp ebp, 0x2d0
mov dword [esp + 0x44], eax
jge 0x463780
mov edx, esi
mov ecx, dword [esp + 0x54]
neg edx
mov dword [esp + 0x14], edx
mov eax, edi
fild dword [esp + 0x14]
neg eax
mov dword [esp + 0x14], eax
sub ecx, esi
fst dword [esp + 0x40]
fild dword [esp + 0x14]
mov eax, dword [esp + 0x50]
dec ecx
mov dword [esp + 0x14], ecx
sub eax, edi
fst dword [esp + 0x2c]
fild dword [esp + 0x14]
dec eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], eax
fst dword [esp + 0x30]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x30]
fstp dword [esp + 0x34]
fild dword [esp + 0x14]
mov dword [esp + 0x24], edx
fst dword [esp + 0x38]
jmp 0x4638ad
cmp ebp, 0x5a0
jge 0x4637e7
mov edx, dword [esp + 0x54]
mov eax, edi
sub edx, esi
dec edx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x50]
fild dword [esp + 0x14]
neg eax
mov dword [esp + 0x14], eax
sub edx, edi
fst dword [esp + 0x30]
fild dword [esp + 0x14]
dec edx
mov eax, esi
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x30]
fst dword [esp + 0x2c]
fild dword [esp + 0x14]
neg eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
fst dword [esp + 0x34]
fild dword [esp + 0x14]
fst dword [esp + 0x40]
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
fstp dword [esp + 0x38]
jmp 0x4638ad
cmp ebp, 0x870
jge 0x463847
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
sub edx, esi
sub eax, edi
dec edx
dec eax
mov dword [esp + 0x14], edx
mov ecx, esi
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov eax, edi
neg ecx
fst dword [esp + 0x30]
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
neg eax
fst dword [esp + 0x2c]
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
fst dword [esp + 0x40]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x40]
fstp dword [esp + 0x34]
fild dword [esp + 0x14]
mov dword [esp + 0x24], edx
fst dword [esp + 0x38]
jmp 0x4638a9
cmp ebp, 0xb40
jge 0x464ae4
mov eax, dword [esp + 0x50]
mov edx, esi
neg edx
mov dword [esp + 0x14], edx
sub eax, edi
fild dword [esp + 0x14]
dec eax
mov edx, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x54]
fst dword [esp + 0x40]
fild dword [esp + 0x14]
neg edx
mov dword [esp + 0x14], edx
sub eax, esi
fst dword [esp + 0x2c]
fild dword [esp + 0x14]
dec eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
fst dword [esp + 0x34]
fild dword [esp + 0x14]
fst dword [esp + 0x30]
fstp dword [esp + 0x24]
fstp dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
fstp dword [esp + 0x48]
push ecx
mov dword [esp + 0x50], ecx
fmul dword [esp + 0x29c]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fmul dword [esp + 0x2a0]
fstp dword [esp + 0x30]
fld dword [esp + 0x1c]
fmul dword [esp + 0x29c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x38]
fmul dword [esp + 0x2a0]
fstp dword [esp + 0x38]
fld dword [esp + 0x28]
fmul dword [esp + 0x29c]
fstp dword [esp + 0x28]
fld dword [esp + 0x3c]
fmul dword [esp + 0x2a0]
fstp dword [esp + 0x3c]
fld dword [esp + 0x30]
fmul dword [esp + 0x14]
fld dword [esp + 0x20]
fmul dword [esp + 0x24]
fsubp st(1)
fmul dword [esp + 0x2a8]
fstp dword [esp]
call fcn.00418f00
fld dword [esp + 0x3c]
fmul dword [esp + 0x14]
fld dword [esp + 0x28]
fmul dword [esp + 0x24]
mov dword [esp + 0x6c], eax
fsubp st(1)
fmul dword [esp + 0x2a8]
fstp dword [esp]
call fcn.00418f00
fld dword [esp + 0x38]
fmul dword [esp + 0x14]
fld dword [esp + 0x1c]
fmul dword [esp + 0x24]
mov dword [esp + 0x70], eax
fsubp st(1)
fmul dword [esp + 0x2a8]
fstp dword [esp]
call fcn.00418f00
fld dword [esp + 0x4c]
fmul dword [esp + 0x2a0]
mov ebp, eax
mov dword [esp + 0x18], ebp
fmul dword [esp + 0x14]
fld dword [esp + 0x50]
fmul dword [esp + 0x29c]
fmul dword [esp + 0x24]
fsubp st(1)
fmul dword [esp + 0x2a8]
fstp dword [esp]
call fcn.00418f00
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x44], eax
mov eax, ebp
add esp, 4
sub eax, ecx
mov dword [esp + 0x48], eax
je 0x463a77
mov ecx, dword [esp + 0x6c]
mov eax, ebp
sub eax, ecx
mov dword [esp + 0x4c], eax
je 0x463a77
fld dword [esp + 0x34]
fmul dword [esp + 0x20]
fld dword [esp + 0x18]
fmul dword [esp + 0x10]
faddp st(1)
fld dword [esp + 0x2c]
fmul dword [esp + 0x20]
fld dword [esp + 0x1c]
fmul dword [esp + 0x10]
faddp st(1)
fsubr st(1)
fmul dword [esp + 0x2a0]
fmul dword [0x49f4c8]
fidiv dword [esp + 0x48]
call fcn.004922ac
test eax, eax
mov dword [esp + 0x30], eax
jge 0x463a23
mov edx, eax
neg edx
mov dword [esp + 0x30], edx
fld dword [esp + 0x38]
fmul dword [esp + 0x20]
fld dword [esp + 0x24]
fmul dword [esp + 0x10]
faddp st(1)
fsub st(1)
fmul dword [esp + 0x2a0]
fmul dword [0x49f4c8]
fidiv dword [esp + 0x4c]
call fcn.004922ac
test eax, eax
mov dword [esp + 0x34], eax
jge 0x463a5b
neg eax
mov dword [esp + 0x34], eax
fmul dword [esp + 0x2a0]
fmul dword [0x49f4c8]
call fcn.004922ac
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
jmp 0x463ad1
fld dword [esp + 0x2c]
fmul dword [esp + 0x20]
fld dword [esp + 0x1c]
fmul dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
faddp st(1)
fmul dword [esp + 0x2a0]
fmul dword [0x49f4c8]
call fcn.004922ac
fld dword [esp + 0x38]
fmul dword [esp + 0x20]
fld dword [esp + 0x24]
fmul dword [esp + 0x10]
mov dword [esp + 0x1c], eax
faddp st(1)
fmul dword [esp + 0x2a0]
fmul dword [0x49f4c8]
call fcn.004922ac
mov dword [esp + 0x18], eax
mov ecx, dword [0x4b6c44]
mov edx, dword [esp + 0x28]
sub ecx, edx
cmp ebp, ecx
mov dword [esp + 0x48], ecx
jge 0x463b22
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
cmp ebp, dword [esp + 0x68]
jge 0x463aff
mov ecx, dword [esp + 0x30]
sub edx, ecx
mov ecx, dword [esp + 0x34]
jmp 0x463b01
add edx, ecx
cmp ebp, dword [esp + 0x6c]
jge 0x463b0b
add eax, ecx
jmp 0x463b0f
sub eax, dword [esp + 0x30]
inc ebp
cmp ebp, dword [esp + 0x48]
jl 0x463aed
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov eax, dword [0x4b6c48]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
sub eax, edx
cmp ecx, eax
jle 0x463b39
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
push ecx
push edx
call fcn.0044f420
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
je 0x464ae4
mov eax, dword [0x4b603c]
mov ecx, dword [0x4b6038]
push eax
push ecx
call fcn.0044f370
mov edx, dword [esp + 0x28c]
mov dword [esp + 0x50], eax
add esp, 8
mov eax, dword [edx + 0x14]
test eax, eax
jne 0x463b99
mov eax, dword [ebx + 0x30]
mov ecx, edx
push eax
push ecx
call fcn.0044f010
add esp, 8
mov dword [esp + 0x2c], eax
jmp 0x463ba6
push eax
mov dword [esp + 0x30], eax
call fcn.004483c0
add esp, 4
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2a8]
cmp eax, 0x100
lea ecx, [edx + 0x5c]
jne 0x463bc4
mov dword [esp + 0x74], ecx
jmp 0x463cbb
test eax, eax
jne 0x463be3
mov eax, dword [ebx + 0x14]
lea ecx, [esp + 0x80]
shl eax, 1
push eax
push ecx
call fcn.00418f20
add esp, 8
jmp 0x463cbb
mov edx, dword [ebx + 0x14]
cmp eax, 0x80
mov eax, 1
mov dword [esp + 0x2c], eax
jne 0x463c2f
cmp edx, eax
jle 0x463cbb
lea edx, [esp + 0x82]
lea eax, [ecx + 2]
mov cx, word [eax]
add eax, 2
shr ecx, 1
and ecx, 0x7bef
mov word [edx], cx
mov ecx, dword [esp + 0x2c]
inc ecx
add edx, 2
cmp ecx, dword [ebx + 0x14]
mov dword [esp + 0x2c], ecx
jl 0x463c08
jmp 0x463cbb
cmp edx, eax
jle 0x463cbb
lea edx, [esp + 0x82]
add ecx, 2
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x2a8]
xor eax, eax
mov ax, word [ecx]
add ecx, 2
mov ebp, eax
and ebp, 0x7e0
imul ebp, edx
mov edx, eax
and eax, 0xf800
and edx, 0x1f
imul edx, dword [esp + 0x2a8]
shr ebp, 8
shr edx, 8
and ebp, 0x7e0
and edx, 0x1f
or ebp, edx
mov edx, dword [esp + 0x2a8]
imul eax, edx
shr eax, 8
and eax, 0xf800
or ebp, eax
mov eax, ebp
mov ebp, dword [esp + 0x38]
mov word [ebp], ax
mov eax, dword [esp + 0x2c]
add ebp, 2
inc eax
mov dword [esp + 0x38], ebp
mov ebp, dword [ebx + 0x14]
cmp eax, ebp
mov dword [esp + 0x2c], eax
jl 0x463c4c
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x2ac]
test ecx, ecx
jne 0x463f23
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], ebp
cmp ebp, eax
jg 0x464aca
mov ecx, dword [esp + 0x28]
fild dword [esp + 0x70]
fild dword [esp + 0x60]
lea eax, [ecx + ebp]
shl esi, 0x10
shl edi, 0x10
shl eax, 2
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov eax, dword [0x4b6c3c]
sar esi, 0x10
mov edx, ebp
mov dword [esp + 0x10], esi
sub edx, esi
sar edi, 0x10
cmp edx, eax
jle 0x463d29
mov esi, ebp
sub esi, eax
mov dword [esp + 0x10], esi
mov eax, dword [0x4b6c38]
mov ecx, ebp
sub ecx, edi
cmp ecx, eax
jge 0x463d3a
mov edi, ebp
sub edi, eax
fild dword [esp + 0x10]
fdiv dword [esp + 0x2a0]
fild dword [esp + 0x20]
fdiv dword [esp + 0x2a4]
fld st(1)
fmul dword [esp + 0x5c]
fld st(1)
fmul dword [esp + 0x58]
fsubp st(1)
fmul dword [0x49f4d8]
fdiv st(4)
call fcn.004922ac
fxch st(1)
fmul dword [esp + 0x58]
fxch st(1)
fmul dword [esp + 0x5c]
mov ebx, dword [esp + 0x38]
sub ebx, eax
faddp st(1)
fmul dword [0x49f4d8]
fdiv st(1)
call fcn.004922ac
mov edx, dword [esp + 0x2c]
sub ebp, esi
sub edx, eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax]
lea eax, [ecx + ebp*2]
mov ebp, dword [esp + 0x48]
add eax, ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, edi
sub eax, esi
lea ecx, [eax + 1]
mov eax, ecx
imul ecx, ebp
imul eax, dword [esp + 0x3c]
add eax, ebx
add ecx, edx
cmp edi, esi
mov dword [esp + 0x24], ecx
jl 0x463e62
mov ebp, dword [esp + 0x50]
sar ecx, 0x10
cmp ecx, ebp
jge 0x463dfd
mov ebp, dword [esp + 0x54]
mov ecx, eax
sar ecx, 0x10
cmp ecx, ebp
jge 0x463dfd
test dword [esp + 0x24], 0xffff0000
jl 0x463dfd
test eax, 0xffff0000
jge 0x463e18
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x44]
sub eax, ecx
mov ecx, dword [esp + 0x24]
sub ecx, ebp
dec edi
cmp edi, esi
mov dword [esp + 0x24], ecx
jge 0x463dd4
jmp 0x463e62
mov ebp, dword [esp + 0x44]
cmp esi, edi
jg 0x463e62
mov ecx, dword [esp + 0x50]
mov eax, edx
sar eax, 0x10
cmp eax, ecx
jge 0x463e4a
mov eax, dword [esp + 0x54]
mov ecx, ebx
sar ecx, 0x10
cmp ecx, eax
jge 0x463e4a
test edx, 0xffff0000
jl 0x463e4a
test ebx, 0xffff0000
jge 0x463e62
mov eax, dword [esp + 0x3c]
add edx, ebp
add ebx, eax
mov eax, dword [esp + 0x10]
sub eax, 2
inc esi
cmp esi, edi
mov dword [esp + 0x10], eax
jle 0x463e20
sub edi, esi
inc edi
test edi, edi
jle 0x463eb4
mov ecx, dword [esp + 0x7c]
mov eax, edx
mov esi, ebx
sar eax, 0x10
sar esi, 0x10
mov eax, dword [ecx + eax*4]
add eax, esi
mov esi, dword [esp + 0x4c]
movzx ax, byte [eax + esi]
test ax, ax
je 0x463e9e
mov esi, dword [esp + 0x74]
and eax, 0xffff
mov ax, word [esi + eax*2]
mov esi, dword [esp + 0x10]
mov word [esi], ax
mov esi, dword [esp + 0x3c]
add edx, ebp
add ebx, esi
mov esi, dword [esp + 0x10]
sub esi, 2
dec edi
mov dword [esp + 0x10], esi
jne 0x463e6d
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jge 0x463ed0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
sub edx, ecx
mov dword [esp + 0x1c], edx
jmp 0x463ede
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
add ecx, edx
mov dword [esp + 0x1c], ecx
cmp eax, dword [esp + 0x6c]
jge 0x463ef4
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + 0x18], edx
jmp 0x463f02
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
sub ecx, edx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
jle 0x463cfe
jmp 0x464ac6
mov eax, dword [esp + 0x2a8]
add eax, ecx
cmp eax, 0x100
jg 0x4644f5
cmp ecx, 0x80
jne 0x4641fd
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], ebp
cmp ebp, eax
jg 0x464aca
mov ecx, dword [esp + 0x28]
fild dword [esp + 0x70]
fild dword [esp + 0x60]
lea eax, [ecx + ebp]
shl esi, 0x10
shl edi, 0x10
shl eax, 2
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x60], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x18]
mov ecx, dword [0x4b6c3c]
sar esi, 0x10
mov edx, eax
mov dword [esp + 0x10], esi
sub edx, esi
sar edi, 0x10
cmp edx, ecx
jle 0x463fa3
mov esi, eax
sub esi, ecx
mov dword [esp + 0x10], esi
mov ecx, dword [0x4b6c38]
mov edx, eax
sub edx, edi
cmp edx, ecx
jge 0x463fb5
mov edi, eax
sub edi, ecx
fild dword [esp + 0x10]
fdiv dword [esp + 0x2a0]
fild dword [esp + 0x20]
fdiv dword [esp + 0x2a4]
fld st(1)
fmul dword [esp + 0x5c]
fld st(1)
fmul dword [esp + 0x58]
fsubp st(1)
fmul dword [0x49f4d8]
fdiv st(4)
call fcn.004922ac
fxch st(1)
fmul dword [esp + 0x58]
fxch st(1)
fmul dword [esp + 0x5c]
mov ebx, dword [esp + 0x38]
sub ebx, eax
faddp st(1)
mov dword [esp + 0x28], ebx
fmul dword [0x49f4d8]
fdiv st(1)
call fcn.004922ac
mov ecx, dword [esp + 0x2c]
sub ecx, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x78]
sub eax, esi
mov edx, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x60]
mov edx, dword [edx + ecx]
lea ebp, [edx + eax*2]
mov eax, edi
sub eax, esi
mov edx, dword [esp + 0x48]
add ebp, edx
mov edx, dword [esp + 0x10]
lea ecx, [eax + 1]
mov eax, ecx
imul ecx, dword [esp + 0x44]
imul eax, dword [esp + 0x3c]
add eax, ebx
add ecx, edx
cmp edi, esi
mov dword [esp + 0x24], ecx
jl 0x4640ef
mov edx, dword [esp + 0x50]
sar ecx, 0x10
cmp ecx, edx
jge 0x464082
mov edx, dword [esp + 0x54]
mov ecx, eax
sar ecx, 0x10
cmp ecx, edx
jge 0x464082
test dword [esp + 0x24], 0xffff0000
jl 0x464082
test eax, 0xffff0000
jge 0x4640a1
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
sub eax, ecx
mov ecx, dword [esp + 0x24]
sub ecx, edx
dec edi
cmp edi, esi
mov dword [esp + 0x24], ecx
jge 0x464059
mov edx, dword [esp + 0x10]
jmp 0x4640ef
mov edx, dword [esp + 0x10]
cmp esi, edi
jg 0x4640ef
mov ecx, dword [esp + 0x50]
mov eax, edx
sar eax, 0x10
cmp eax, ecx
jge 0x4640d3
mov eax, dword [esp + 0x54]
mov ecx, ebx
sar ecx, 0x10
cmp ecx, eax
jge 0x4640d3
test edx, 0xffff0000
jl 0x4640d3
test ebx, 0xffff0000
jge 0x4640e7
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
add ebx, eax
add edx, ecx
sub ebp, 2
inc esi
cmp esi, edi
jle 0x4640a9
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], ebx
sub edi, esi
inc edi
test edi, edi
jle 0x46418e
mov esi, dword [esp + 0x7c]
mov eax, edx
sar eax, 0x10
mov ecx, ebx
mov eax, dword [esi + eax*4]
sar ecx, 0x10
add eax, ecx
mov ecx, dword [esp + 0x4c]
movzx ax, byte [eax + ecx]
test ax, ax
je 0x464170
mov edx, dword [esp + 0x74]
and eax, 0xffff
xor ecx, ecx
mov cx, word [edx + eax*2]
mov ax, word [ebp]
shr eax, 1
and eax, 0x7bef
mov bl, cl
mov dl, al
and ebx, 0x1f
and edx, 0x1f
mov esi, eax
add edx, ebx
mov ebx, ecx
and esi, 0xf800
and ebx, 0xf800
add esi, ebx
mov ebx, dword [esp + 0x28]
and eax, 0x7e0
and ecx, 0x7e0
or edx, esi
add eax, ecx
or edx, eax
mov word [ebp], dx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
add ebx, eax
add edx, esi
sub ebp, 2
dec edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x10], edx
jne 0x4640fa
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jge 0x4641aa
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
sub edx, ecx
mov dword [esp + 0x1c], edx
jmp 0x4641b8
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
add ecx, edx
mov dword [esp + 0x1c], ecx
cmp eax, dword [esp + 0x6c]
jge 0x4641ce
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + 0x18], edx
jmp 0x4641dc
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
sub ecx, edx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x60], edx
jle 0x463f77
jmp 0x464ac6
cmp eax, 0x100
jg 0x4644f5
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], ebp
cmp ebp, eax
jg 0x464aca
mov eax, dword [esp + 0x28]
mov ecx, dword [0x4b6c3c]
fild dword [esp + 0x70]
fild dword [esp + 0x60]
mov edx, dword [0x4b6c38]
add eax, ebp
shl esi, 0x10
shl edi, 0x10
shl eax, 2
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
jmp 0x464255
mov edx, dword [0x4b6c38]
mov ecx, dword [0x4b6c3c]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x18]
mov ebx, eax
sar esi, 0x10
sub ebx, esi
mov dword [esp + 0x10], esi
sar edi, 0x10
cmp ebx, ecx
jle 0x46427b
mov esi, eax
sub esi, ecx
mov dword [esp + 0x10], esi
mov ecx, eax
sub ecx, edi
cmp ecx, edx
jge 0x464287
mov edi, eax
sub edi, edx
fild dword [esp + 0x10]
fdiv dword [esp + 0x2a0]
fild dword [esp + 0x20]
fdiv dword [esp + 0x2a4]
fld st(1)
fmul dword [esp + 0x5c]
fld st(1)
fmul dword [esp + 0x58]
fsubp st(1)
fmul dword [0x49f4d8]
fdiv st(4)
call fcn.004922ac
fxch st(1)
fmul dword [esp + 0x58]
fxch st(1)
fmul dword [esp + 0x5c]
mov ebx, dword [esp + 0x38]
sub ebx, eax
faddp st(1)
fmul dword [0x49f4d8]
fdiv st(1)
call fcn.004922ac
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x64]
sub ecx, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], ecx
sub edx, esi
mov ecx, dword [eax + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + eax]
lea ebp, [ecx + edx*2]
mov ecx, dword [esp + 0x48]
mov edx, edi
add ebp, ecx
sub edx, esi
lea ecx, [edx + 1]
mov edx, dword [esp + 0x10]
mov eax, ecx
imul ecx, dword [esp + 0x44]
imul eax, dword [esp + 0x3c]
add eax, ebx
add ecx, edx
cmp edi, esi
mov dword [esp + 0x24], ecx
jl 0x4643b9
mov edx, dword [esp + 0x50]
sar ecx, 0x10
cmp ecx, edx
jge 0x464350
mov edx, dword [esp + 0x54]
mov ecx, eax
sar ecx, 0x10
cmp ecx, edx
jge 0x464350
test dword [esp + 0x24], 0xffff0000
jl 0x464350
test eax, 0xffff0000
jge 0x46436f
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
sub eax, ecx
mov ecx, dword [esp + 0x24]
sub ecx, edx
dec edi
cmp edi, esi
mov dword [esp + 0x24], ecx
jge 0x464327
mov edx, dword [esp + 0x10]
jmp 0x4643b9
mov edx, dword [esp + 0x10]
cmp esi, edi
jg 0x4643b9
mov ecx, dword [esp + 0x50]
mov eax, edx
sar eax, 0x10
cmp eax, ecx
jge 0x4643a1
mov eax, dword [esp + 0x54]
mov ecx, ebx
sar ecx, 0x10
cmp ecx, eax
jge 0x4643a1
test edx, 0xffff0000
jl 0x4643a1
test ebx, 0xffff0000
jge 0x4643b5
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
add ebx, eax
add edx, ecx
sub ebp, 2
inc esi
cmp esi, edi
jle 0x464377
mov dword [esp + 0x10], edx
sub edi, esi
inc edi
test edi, edi
jle 0x464486
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x7c]
mov eax, edx
sar eax, 0x10
mov ecx, ebx
mov eax, dword [esi + eax*4]
sar ecx, 0x10
add eax, ecx
mov ecx, dword [esp + 0x4c]
movzx ax, byte [eax + ecx]
test ax, ax
je 0x464464
mov edx, dword [esp + 0x74]
and eax, 0xffff
xor ecx, ecx
mov cx, word [edx + eax*2]
xor eax, eax
mov ax, word [ebp]
mov dl, cl
mov esi, eax
and edx, 0x1f
and esi, 0x1f
mov edi, ecx
imul esi, dword [esp + 0x2ac]
shr esi, 8
and esi, 0x1f
and edi, 0xf800
add esi, edx
mov edx, eax
and edx, 0xf800
and eax, 0x7e0
imul edx, dword [esp + 0x2ac]
imul eax, dword [esp + 0x2ac]
shr edx, 8
and edx, 0xf800
and ecx, 0x7e0
shr eax, 8
add edx, edi
and eax, 0x7e0
or esi, edx
mov edx, dword [esp + 0x10]
add eax, ecx
or esi, eax
mov word [ebp], si
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
add ebx, edi
add edx, esi
sub ebp, 2
dec eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
jne 0x4643c8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jge 0x4644a2
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
sub edx, ecx
mov dword [esp + 0x1c], edx
jmp 0x4644b0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
add ecx, edx
mov dword [esp + 0x1c], ecx
cmp eax, dword [esp + 0x6c]
jge 0x4644c6
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + 0x18], edx
jmp 0x4644d4
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
sub ecx, edx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
jle 0x464249
jmp 0x464ac6
mov eax, dword [esp + 0x40]
cmp ecx, 0x80
mov dword [esp + 0x20], ebp
jne 0x4647d5
cmp ebp, eax
jg 0x464aca
mov eax, dword [esp + 0x28]
fild dword [esp + 0x70]
fild dword [esp + 0x60]
add eax, ebp
shl esi, 0x10
shl edi, 0x10
shl eax, 2
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x18]
mov ecx, dword [0x4b6c3c]
sar esi, 0x10
mov edx, eax
mov dword [esp + 0x10], esi
sub edx, esi
sar edi, 0x10
cmp edx, ecx
jle 0x464560
mov esi, eax
sub esi, ecx
mov dword [esp + 0x10], esi
mov ecx, dword [0x4b6c38]
mov edx, eax
sub edx, edi
cmp edx, ecx
jge 0x464572
mov edi, eax
sub edi, ecx
fild dword [esp + 0x10]
fdiv dword [esp + 0x2a0]
fild dword [esp + 0x20]
fdiv dword [esp + 0x2a4]
fld st(1)
fmul dword [esp + 0x5c]
fld st(1)
fmul dword [esp + 0x58]
fsubp st(1)
fmul dword [0x49f4d8]
fdiv st(4)
call fcn.004922ac
fxch st(1)
fmul dword [esp + 0x58]
fxch st(1)
fmul dword [esp + 0x5c]
mov ebx, dword [esp + 0x38]
sub ebx, eax
faddp st(1)
fmul dword [0x49f4d8]
fdiv st(1)
call fcn.004922ac
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x2c]
sub ebp, eax
mov eax, dword [esp + 0x64]
mov edx, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x28]
sub eax, esi
mov edx, dword [edx + ecx]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x48]
add eax, edx
mov dword [esp + 0x10], eax
mov eax, edi
sub eax, esi
lea ecx, [eax + 1]
mov eax, ecx
imul ecx, dword [esp + 0x44]
imul eax, dword [esp + 0x3c]
add eax, ebx
add ecx, ebp
cmp edi, esi
mov dword [esp + 0x24], ecx
jl 0x464698
mov edx, dword [esp + 0x50]
sar ecx, 0x10
cmp ecx, edx
jge 0x464637
mov ecx, dword [esp + 0x54]
mov edx, eax
sar edx, 0x10
cmp edx, ecx
jge 0x464637
test dword [esp + 0x24], 0xffff0000
jl 0x464637
test eax, 0xffff0000
jge 0x464652
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
sub eax, ecx
mov ecx, dword [esp + 0x24]
sub ecx, edx
dec edi
cmp edi, esi
mov dword [esp + 0x24], ecx
jge 0x46460e
jmp 0x464698
cmp esi, edi
jg 0x464698
mov eax, dword [esp + 0x50]
mov edx, ebp
sar edx, 0x10
cmp edx, eax
jge 0x46467c
mov edx, ebx
sar edx, 0x10
cmp edx, ecx
jge 0x46467c
test ebp, 0xffff0000
jl 0x46467c
test ebx, 0xffff0000
jge 0x464698
mov edx, dword [esp + 0x3c]
add ebx, edx
mov edx, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x10]
sub edx, 2
inc esi
cmp esi, edi
mov dword [esp + 0x10], edx
jle 0x46465a
sub edi, esi
inc edi
test edi, edi
jle 0x464766
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x7c]
mov eax, ebp
sar eax, 0x10
mov ecx, ebx
mov eax, dword [edx + eax*4]
sar ecx, 0x10
add eax, ecx
mov ecx, dword [esp + 0x4c]
movzx ax, byte [eax + ecx]
test ax, ax
je 0x464740
mov edx, dword [esp + 0x74]
and eax, 0xffff
xor ecx, ecx
mov cx, word [edx + eax*2]
mov eax, dword [esp + 0x10]
mov esi, ecx
mov ax, word [eax]
and esi, 0xf800
shr eax, 1
and eax, 0x7bef
mov edx, eax
and edx, 0xf800
add edx, esi
cmp edx, 0xf800
jbe 0x464704
mov edx, 0xf800
mov esi, eax
mov edi, ecx
and esi, 0x7e0
and edi, 0x7e0
add esi, edi
cmp esi, 0x7e0
jbe 0x464723
mov esi, 0x7e0
and eax, 0x1f
and ecx, 0x1f
add eax, ecx
cmp eax, 0x1f
jbe 0x464735
mov eax, 0x1f
mov ecx, dword [esp + 0x10]
or eax, esi
or eax, edx
mov word [ecx], ax
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ebx, esi
add ebp, edx
sub ecx, 2
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
jne 0x4646a7
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jge 0x464782
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
sub ecx, edx
mov dword [esp + 0x1c], ecx
jmp 0x464790
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x1c], edx
cmp eax, dword [esp + 0x6c]
jge 0x4647a6
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
add ecx, edx
mov dword [esp + 0x18], ecx
jmp 0x4647b4
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
sub edx, ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
jle 0x464534
jmp 0x464ac6
cmp ebp, eax
jg 0x464aca
mov edx, dword [esp + 0x28]
fild dword [esp + 0x70]
fild dword [esp + 0x60]
lea eax, [edx + ebp]
shl esi, 0x10
shl edi, 0x10
shl eax, 2
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x18]
mov ecx, dword [0x4b6c3c]
sar esi, 0x10
mov edx, eax
mov dword [esp + 0x10], esi
sub edx, esi
sar edi, 0x10
cmp edx, ecx
jle 0x46482d
mov esi, eax
sub esi, ecx
mov dword [esp + 0x10], esi
mov ecx, dword [0x4b6c38]
mov edx, eax
sub edx, edi
cmp edx, ecx
jge 0x46483f
mov edi, eax
sub edi, ecx
fild dword [esp + 0x10]
fdiv dword [esp + 0x2a0]
fild dword [esp + 0x20]
fdiv dword [esp + 0x2a4]
fld st(1)
fmul dword [esp + 0x5c]
fld st(1)
fmul dword [esp + 0x58]
fsubp st(1)
fmul dword [0x49f4d8]
fdiv st(4)
call fcn.004922ac
fxch st(1)
fmul dword [esp + 0x58]
fxch st(1)
fmul dword [esp + 0x5c]
mov ebx, dword [esp + 0x38]
sub ebx, eax
faddp st(1)
fmul dword [0x49f4d8]
fdiv st(1)
call fcn.004922ac
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x2c]
sub ebp, eax
mov eax, dword [esp + 0x64]
mov edx, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x28]
sub eax, esi
mov edx, dword [edx + ecx]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x48]
add eax, edx
mov dword [esp + 0x10], eax
mov eax, edi
sub eax, esi
lea ecx, [eax + 1]
mov eax, ecx
imul ecx, dword [esp + 0x44]
imul eax, dword [esp + 0x3c]
add eax, ebx
add ecx, ebp
cmp edi, esi
mov dword [esp + 0x24], ecx
jl 0x464965
mov edx, dword [esp + 0x50]
sar ecx, 0x10
cmp ecx, edx
jge 0x464904
mov ecx, dword [esp + 0x54]
mov edx, eax
sar edx, 0x10
cmp edx, ecx
jge 0x464904
test dword [esp + 0x24], 0xffff0000
jl 0x464904
test eax, 0xffff0000
jge 0x46491f
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
sub eax, ecx
mov ecx, dword [esp + 0x24]
sub ecx, edx
dec edi
cmp edi, esi
mov dword [esp + 0x24], ecx
jge 0x4648db
jmp 0x464965
cmp esi, edi
jg 0x464965
mov eax, dword [esp + 0x50]
mov edx, ebp
sar edx, 0x10
cmp edx, eax
jge 0x464949
mov edx, ebx
sar edx, 0x10
cmp edx, ecx
jge 0x464949
test ebp, 0xffff0000
jl 0x464949
test ebx, 0xffff0000
jge 0x464965
mov edx, dword [esp + 0x3c]
add ebx, edx
mov edx, dword [esp + 0x44]
add ebp, edx
mov edx, dword [esp + 0x10]
sub edx, 2
inc esi
cmp esi, edi
mov dword [esp + 0x10], edx
jle 0x464927
sub edi, esi
inc edi
test edi, edi
jle 0x464a5c
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x7c]
mov eax, ebp
sar eax, 0x10
mov ecx, ebx
mov eax, dword [edx + eax*4]
sar ecx, 0x10
add eax, ecx
mov ecx, dword [esp + 0x4c]
movzx ax, byte [eax + ecx]
test ax, ax
je 0x464a36
mov ecx, dword [esp + 0x74]
and eax, 0xffff
xor edx, edx
mov edi, dword [esp + 0x2ac]
mov dx, word [ecx + eax*2]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov esi, edx
mov cx, word [eax]
and esi, 0xf800
mov eax, ecx
and eax, 0xf800
imul eax, edi
shr eax, 8
and eax, 0xf800
add eax, esi
cmp eax, 0xf800
jbe 0x4649e0
mov eax, 0xf800
mov esi, ecx
and esi, 0x7e0
imul esi, edi
shr esi, 8
mov edi, edx
and esi, 0x7e0
and edi, 0x7e0
add esi, edi
cmp esi, 0x7e0
jbe 0x464a0b
mov esi, 0x7e0
and ecx, 0x1f
and edx, 0x1f
imul ecx, dword [esp + 0x2ac]
shr ecx, 8
and ecx, 0x1f
add ecx, edx
cmp ecx, 0x1f
jbe 0x464a2b
mov ecx, 0x1f
mov edx, dword [esp + 0x10]
or ecx, esi
or ecx, eax
mov word [edx], cx
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ebx, esi
add ebp, edx
sub ecx, 2
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
jne 0x464974
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jge 0x464a78
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x1c]
sub edx, ecx
mov dword [esp + 0x1c], edx
jmp 0x464a86
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
add ecx, edx
mov dword [esp + 0x1c], ecx
cmp eax, dword [esp + 0x6c]
jge 0x464a9c
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + 0x18], edx
jmp 0x464aaa
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
sub ecx, edx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
jle 0x464801
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x4c]
push eax
call fcn.0044f4d0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x270
ret
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x270
ret