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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c]
cmp eax, dword [ecx + 8]
jbe 0x46332d
sub esp, 0xbc
movsd xmm0, qword [0x6c4038]
movsd xmm1, qword [esp + 0xc0]
ucomisd xmm0, xmm1
ja 0x4632be
movsd qword [esp + 0xac], xmm1
mov edx, dword [esp + 0xb0]
mov ebx, edx
shr edx, 0x14
and edx, 0x7ff
lea eax, [edx - 0x3f6]
mov edx, eax
shr eax, 6
mov ebp, dword [esp + 0xac]
cmp eax, 0x14
jae 0x463322
mov dword [esp + 0x60], ebx
mov dword [esp + 0x48], ebp
and edx, 0x3f
cmp edx, 0x20
sbb esi, esi
lea ecx, [edx - 0x20]
mov dword [esp + 0x5c], ecx
cmp ecx, 0x20
sbb edi, edi
mov dword [esp + 0x58], edi
neg ecx
mov dword [esp + 0xa8], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0xa4], ebx
lea ebp, [0x7e5220]
lea ebp, [ebp + eax*8]
mov edi, dword [ebp]
mov dword [esp + 0xa0], edi
mov ebp, dword [ebp + 4]
shr edi, cl
and edi, ebx
mov ecx, edx
shl ebp, cl
and ebp, esi
or ebp, edi
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0xa0]
shl edi, cl
mov ebx, dword [esp + 0x58]
and edi, ebx
or edi, ebp
mov ecx, edx
mov ebx, dword [esp + 0xa0]
shl ebx, cl
and ebx, esi
lea ebp, [eax + 1]
cmp ebp, 0x14
jae 0x463316
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], esi
lea ebp, [ecx - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb esi, esi
mov dword [esp + 0x90], esi
lea edx, [ebp - 0x20]
mov dword [esp + 0x8c], edx
cmp edx, 0x20
sbb edi, edi
mov dword [esp + 0x88], edi
neg edx
mov dword [esp + 0x84], edx
cmp edx, 0x20
sbb ebx, ebx
mov dword [esp + 0x80], ebx
lea edi, [0x7e5220]
lea edi, [edi + eax*8 + 8]
mov ebx, dword [edi]
mov dword [esp + 0x7c], ebx
mov edi, dword [edi + 4]
mov dword [esp + 0x78], edi
mov ecx, dword [esp + 0x8c]
shr edi, cl
mov dword [esp + 0x74], edi
mov ecx, edx
mov edi, dword [esp + 0x78]
shl edi, cl
mov ecx, ebp
shr ebx, cl
and ebx, esi
mov edx, dword [esp + 0x80]
and edi, edx
or edi, ebx
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 0x88]
and ebx, edx
or ebx, edi
mov edi, dword [esp + 0x98]
or ebx, edi
mov dword [esp + 0x28], ebx
mov edi, dword [esp + 0x78]
shr edi, cl
and edi, esi
mov ebx, dword [esp + 0xa0]
or edi, ebx
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x78]
shl ebx, cl
mov edi, dword [esp + 0x94]
and ebx, edi
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x7c]
shr edx, cl
mov esi, dword [esp + 0xa4]
and edx, esi
or edx, ebx
mov ecx, dword [esp + 0x5c]
mov esi, dword [esp + 0x7c]
shl esi, cl
mov ebx, dword [esp + 0x58]
and esi, ebx
or esi, edx
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x7c]
shl ebx, cl
and ebx, edi
lea edx, [eax + 2]
cmp edx, 0x14
jae 0x46330a
mov dword [esp + 0xa0], ebx
lea edx, [0x7e5220]
lea edx, [edx + eax*8 + 0x10]
mov edi, dword [edx + 4]
mov dword [esp + 0x98], edi
mov ecx, ebp
shr edi, cl
mov ebx, dword [esp + 0x90]
and edi, ebx
or edi, esi
mov dword [esp + 0x24], edi
mov edx, dword [edx]
mov dword [esp + 0x7c], edx
mov esi, edx
shr edx, cl
and edx, ebx
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x98]
shl edi, cl
mov ebx, dword [esp + 0x80]
and edi, ebx
or edi, edx
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x98]
shr ebx, cl
mov edx, dword [esp + 0x88]
and ebx, edx
or ebx, edi
mov edi, dword [esp + 0xa0]
or ebx, edi
mov dword [esp + 0x20], ebx
mov ecx, dword [esp + 0xa8]
shr esi, cl
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x98]
shl ebx, cl
mov edx, dword [esp + 0x94]
and ebx, edx
mov edi, dword [esp + 0xa4]
and esi, edi
or esi, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x7c]
shl edi, cl
mov ecx, ebp
mov ebp, dword [esp + 0x58]
and edi, ebp
or edi, esi
mov ebp, ecx
mov ecx, ebx
mov esi, dword [esp + 0x7c]
shl esi, cl
and esi, edx
lea edx, [eax + 3]
cmp edx, 0x14
jae 0x4632fe
mov dword [esp + 0x5c], edi
mov ecx, eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x48]
mul edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x3c], eax
lea edx, [0x7e5220]
lea edx, [edx + ecx*8 + 0x18]
mov ebx, dword [edx + 4]
mov dword [esp + 0xa8], ebx
mov edx, dword [edx]
mov ecx, ebp
shr edx, cl
mov edi, dword [esp + 0x90]
and edx, edi
mov ecx, dword [esp + 0x84]
shl ebx, cl
mov ecx, edi
mov edi, dword [esp + 0x80]
and ebx, edi
or ebx, edx
mov edx, ecx
mov ecx, dword [esp + 0x8c]
mov edi, dword [esp + 0xa8]
shr edi, cl
mov ecx, edx
mov edx, dword [esp + 0x88]
and edi, edx
or edi, ebx
or edi, esi
mov dword [esp], edi
mov edx, ecx
mov ecx, ebp
mov ebx, dword [esp + 0xa8]
shr ebx, cl
and ebx, edx
mov edx, dword [esp + 0x5c]
or ebx, edx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x60]
and ebx, 0x800fffff
or ebx, 0x100000
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xc], ebx
call fcn.00462640
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x34], ebx
mov ebp, dword [esp + 0x20]
mov dword [esp], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x4c]
mov dword [esp + 0xc], esi
call fcn.00462640
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
mov ebp, edx
add edx, ebx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x30], esi
mov edi, dword [esp + 0x3c]
mov eax, edi
add edi, esi
mov ecx, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x40], edx
add ebp, ebx
mov ebx, dword [esp + 0x38]
mov ebp, edx
adc edx, ebx
mov dword [esp + 0x70], edx
and ebp, ebx
mov esi, dword [esp + 0x40]
or esi, ebx
not edx
and edx, esi
or edx, ebp
shr edx, 0x1f
mov dword [esp + 0x60], edx
add edx, edi
mov dword [esp + 0x50], edx
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x28]
imul ebx, edx
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
imul edx, ebp
mov ebp, dword [esp + 0x58]
add edx, ebp
add edx, ebx
mov ebx, dword [esp + 0x30]
add eax, ebx
adc edx, esi
mov ebx, dword [esp + 0x60]
add ebx, edi
adc edx, 0
mov ebx, edx
shl edx, 3
mov ebp, dword [esp + 0x50]
mov esi, ebp
shr ebp, 0x1d
or ebp, edx
cmp ebp, 1
seta dl
xchg edi, ebx
sete bl
xchg edi, ebx
shl esi, 3
mov eax, ebx
mov ebx, dword [esp + 0x70]
shr ebx, 0x1d
or ebx, esi
test ebx, ebx
xchg esi, ebx
setae bl
xchg esi, ebx
nop
nop
nop
and esi, edi
or esi, edx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4632b1
mov edx, ebp
xor esi, esi
mov edi, 0x20
mov dword [esp + 0x44], edi
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x60], edx
test esi, esi
seta dl
sete bl
cmp ebp, 0x10000
xchg edi, ebx
setae bl
xchg edi, ebx
and edi, ebx
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4632a4
shr ebp, 0x10
mov edx, esi
shl esi, 0x10
or esi, ebp
shr edx, 0x10
mov ebx, dword [esp + 0x44]
add ebx, 0x10
mov dword [esp + 0x44], ebx
test edx, edx
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
cmp esi, 0x100
setae bl
and ebx, edi
or ebx, ebp
test bl, bl
je 0x463297
shr esi, 8
mov ebx, edx
shl edx, 0x18
or edx, esi
shr ebx, 8
mov ebp, dword [esp + 0x44]
add ebp, 8
test ebx, ebx
jne 0x4632f0
cmp edx, 0x100
jae 0x4632e4
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x68], eax
lea ebx, [0x7e6380]
movzx edx, byte [ebx + edx]
lea edx, [edx + ebp - 0x40]
neg edx
mov dword [esp + 0x64], edx
lea ebx, [edx + 1]
cmp ebx, 0x20
sbb ebp, ebp
lea esi, [edx - 0x1f]
mov dword [esp + 0x58], esi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0xa8], edi
xchg esi, ebx
neg ebx
xchg esi, ebx
cmp esi, 0x20
sbb eax, eax
add edx, 0xffffffc1
neg edx
mov dword [esp + 0x9c], edx
cmp edx, 0x20
sbb edi, edi
mov dword [esp + 0xa4], edi
lea edi, [edx - 0x20]
mov dword [esp + 0xa0], edi
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x98], edx
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x94], edi
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x90], edx
mov ecx, ebx
mov edx, dword [esp + 0x6c]
shl edx, cl
mov dword [esp + 0x8c], edx
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x6c]
shl edi, cl
mov ecx, esi
mov edx, dword [esp + 0x6c]
shr edx, cl
mov ecx, ebx
mov esi, dword [esp + 0x60]
shl esi, cl
and esi, ebp
and edx, eax
or edx, esi
mov eax, dword [esp + 0xa8]
and edi, eax
or edi, edx
mov eax, dword [esp + 0x8c]
and eax, ebp
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x70]
mov ebx, edx
shr edx, cl
mov ebp, dword [esp + 0xa4]
and edx, ebp
or edx, edi
mov dword [esp + 0x54], edx
mov esi, ecx
mov ecx, dword [esp + 0x94]
mov edi, ebx
shl ebx, cl
mov ecx, esi
mov edx, dword [esp + 0x5c]
shr edx, cl
mov ecx, dword [esp + 0xa0]
shr edi, cl
and edx, ebp
mov ebp, dword [esp + 0x90]
and ebx, ebp
or ebx, edx
mov edx, dword [esp + 0x98]
and edi, edx
or edi, ebx
or edi, eax
shr edi, 0xc
mov eax, dword [esp + 0x54]
mov edx, eax
shl eax, 0x14
or eax, edi
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x64]
add eax, 0xfffffc02
neg eax
shr edx, 0xc
shl eax, 0x14
or eax, edx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x68]
shr eax, 0x1d
movsd xmm0, qword [esp + 0xb4]
test eax, 1
je 0x463269
add eax, 1
and eax, 7
movsd xmm1, qword [0x6c4080]
subsd xmm0, xmm1
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 0
movsd xmm1, qword [0x6c4038]
mulsd xmm0, xmm1
movsd qword [esp + 0xd0], xmm0
add esp, 0xbc
ret
mov ebp, dword [esp + 0x44]
mov ebx, edx
mov edx, esi
jmp 0x4630db
mov edx, esi
mov esi, ebp
mov ebx, dword [esp + 0x44]
jmp 0x46309e
mov edx, ebp
mov esi, edx
mov ebp, ebx
xor edi, edi
jmp 0x46305b
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
movsd qword [esp + 0xd0], xmm1
add esp, 0xbc
ret
mov eax, edx
mov ecx, 0x100
call fcn.0045ad70
mov esi, ebx
mov eax, edx
mov ecx, 0x100
call fcn.0045ae50
mov eax, edx
mov ecx, 0x14
call fcn.0045ad70
mov eax, edx
mov ecx, 0x14
call fcn.0045ad70
mov eax, ebp
mov ecx, 0x14
call fcn.0045ad70
mov ecx, 0x14
call fcn.0045ad70
nop
call fcn.00459790
jmp fcn.00462bb0