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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov eax, dword [0x1007a00c]
xor eax, ebp
cmp ecx, 2
mov dword [esp + 0x98], eax
jae 0x10064ac1
movsd qword [esp + 0x50], xmm0
xor esi, esi
mov ebx, ecx
xor eax, eax
mov ecx, 0x100000
mov edx, dword [esp + 0x54]
add esi, 0xffffffff
adc ecx, 0xffffffff
mov edi, edx
and ecx, edx
shr edi, 0x14
mov esi, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x38], edi
and edi, 0x7ff
or esi, 0x100000
add edi, 0xfffffbcd
test edx, 0x7ff00000
mov edx, 0xfffffbce
cmovne edx, edi
mov edi, dword [esp + 0x50]
cmove esi, ecx
bt esi, 0x14
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], edi
jae 0x10065334
mov dword [esp + 8], edx
mov dword [esp + 0x2c], edi
shl edi, 0xb
test ebx, ebx
mov dword [esp + 4], esi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x28], edi
jne 0x10065352
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
lea ecx, [eax - 1]
mov eax, dword [esp + 0x1c]
lea edx, [esi + esi]
lea ebx, [esi + esi + 1]
mov dword [esp + 0x14], edx
mov edx, ecx
mov dword [esp + 0x20], ecx
shld eax, esi, 1
mov edi, eax
mov esi, edi
shld edi, ebx, 0xa
shl ebx, 0xa
add edx, 0xfffffff6
test esi, 0xfffff000
je 0x10064554
test edi, edi
mov dword [esp + 0x24], ebx
jns 0x10065397
mov ecx, dword [esp + 0xc]
or ecx, dword [esp + 0x18]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], edi
je 0x10065305
mov ecx, dword [esp + 0x20]
add ebx, 0xffffffff
adc eax, 0xffffffff
xor edi, edi
sub ecx, edx
shld eax, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, dword [esp + 0xc]
cmove edi, ebx
cmove ebx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x90], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x80], edx
mov edx, dword [esp + 8]
lea ecx, [esp + 0x68]
xor eax, eax
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 8], eax
mov eax, 0xffffff8f
mov ebx, ecx
mov ecx, 0xffffffab
sub eax, edx
sub ecx, edx
lea edx, [esp + 0x64]
push edx
push ebx
push ecx
push eax
call fcn.100634f0
add esp, 0x10
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
shld esi, eax, 0xb
mov eax, ecx
mov dword [esp + 0x18], ebx
mov edx, esi
mov dword [esp + 4], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x28], ecx
mul edx
mov dword [esp + 0x10], eax
mov eax, ecx
mov edi, edx
and esi, 0xfffff800
mul esi
mov dword [esp + 0x2c], eax
mov eax, ebx
mov dword [esp + 0x20], edx
mul dword [esp + 4]
mov dword [esp + 4], eax
mov eax, ebx
mov ecx, edx
lea ebx, [esp + 0x68]
mul esi
mov esi, 0
xor eax, eax
add edx, dword [esp + 4]
setb al
add edx, dword [esp + 0x2c]
adc eax, esi
mov esi, dword [esp + 8]
add esi, dword [ebx + 8]
imul ebx, esi, 0x4d1
add ecx, dword [esp + 0x10]
mov dword [esp + 8], esi
mov esi, 0
mov dword [esp + 4], ebx
mov ebx, 0x80000000
adc edi, esi
add ecx, dword [esp + 0x20]
adc edi, esi
add edx, ebx
adc ecx, eax
adc edi, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x28]
mov eax, esi
mul edi
mov ebx, edi
mov dword [esp + 0x2c], eax
mov eax, ecx
mov dword [esp + 0x10], edx
mul edi
mov edi, eax
mov eax, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mul esi
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x38], edx
mov ecx, 0
mul esi
xor eax, eax
add edx, dword [esp + 0x14]
setb al
add edx, edi
mov edi, dword [esp + 0xc]
adc eax, ecx
mov dword [esp + 0x1c], edx
mov ecx, ebx
mov dword [esp + 0x14], eax
mov eax, edi
mul ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x44], eax
mov esi, edx
mov eax, ebx
mul ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov eax, edi
mov dword [esp + 0x28], edx
mul ecx
mov dword [esp + 0xc], eax
mov eax, ebx
mov edi, edx
mov ebx, dword [esp + 0x38]
mul ecx
mov ecx, 0
xor eax, eax
add edx, dword [esp + 0xc]
setb al
add edx, dword [esp + 0x30]
adc eax, ecx
add edi, dword [esp + 0x44]
adc esi, ecx
xor ecx, ecx
add edi, dword [esp + 0x28]
adc esi, ecx
mov ecx, 0x80000000
add edx, ecx
mov ecx, dword [esp + 0x10]
mov edx, 0x80000000
adc edi, eax
mov eax, 0
adc esi, eax
add edi, 1
adc esi, eax
add ebx, dword [esp + 0x2c]
mov dword [esp + 0x30], edi
mov dword [esp + 0x3c], esi
adc ecx, eax
add ebx, dword [esp + 0x20]
adc ecx, eax
add dword [esp + 0x1c], edx
adc ebx, dword [esp + 0x14]
adc ecx, eax
mov eax, esi
mov edx, ecx
mov ecx, edi
sub ecx, ebx
sbb eax, edx
add ecx, 1
mov dword [esp + 0x1c], ecx
mov ecx, 0
adc eax, ecx
mov ecx, 0xffffffcb
sub ecx, dword [esp + 8]
xor ebx, ebx
mov dword [esp + 0x24], eax
mov eax, edi
mov edi, esi
xor edx, edx
inc ebx
shld edx, ebx, cl
shl ebx, cl
shrd eax, esi, cl
shr edi, cl
test cl, 0x20
mov dword [esp + 0x20], ecx
cmove edi, eax
mov eax, 0
cmovne edx, ebx
cmovne ebx, eax
mov eax, dword [esp + 4]
mov dword [esp + 0x40], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x34], ebx
add ebx, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x28], ebx
and esi, edx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x30]
add eax, 0x23856
mov dword [esp + 8], esi
mov esi, dword [ebp + 0xc]
sar eax, 0xc
lea ecx, [eax + 1]
and edx, ebx
cmp dword [eax*4 + 0x1006d0ac], edi
cmova ecx, eax
xor edi, edi
test ecx, ecx
mov dword [esi], edi
jle 0x100650aa
mov edi, dword [ecx*4 + 0x1006d0a8]
inc ecx
xor esi, esi
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [esp + 0x10], edi
div edi
add al, 0x30
mov edi, edx
mov dword [esp + 0xc], edx
mov byte [ecx + esi], al
mov ecx, dword [esp + 0x20]
xor esi, esi
mov eax, dword [ebp + 0xc]
shld esi, edx, cl
shl edi, cl
test cl, 0x20
mov edx, 0
mov ebx, dword [eax]
cmovne esi, edi
cmovne edi, edx
add edi, dword [esp + 0x18]
mov eax, ebx
adc esi, dword [esp + 8]
cmp edi, dword [esp + 0x1c]
mov edx, esi
sbb edx, dword [esp + 0x24]
lea edx, [ebx + 1]
mov ebx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov dword [ebx], edx
jb 0x10064fcb
mov eax, dword [esp + 0x10]
mov ecx, 0xcccccccd
mov esi, dword [esp + 4]
mul ecx
mov ecx, dword [esp + 0x14]
mov edi, edx
shr edi, 3
dec ecx
cmp ecx, 1
jg 0x1006483f
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov edi, dword [esp + 8]
xor eax, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
inc eax
mov dword [esp + 0xc], eax
mov eax, edx
mov ecx, 0xa
lea esi, [edi + edi*4]
mov edi, 0xa
mul ecx
mov ecx, dword [esp + 0x20]
lea ebx, [edx + esi*2]
mov edx, dword [esp + 0xc]
mov esi, eax
mov dword [esp + 0x18], eax
mov dword [esp + 8], ebx
shrd esi, ebx, cl
shr ebx, cl
mov eax, edx
mov dword [esp + 0x44], edx
mul edi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], edx
mul edi
test cl, 0x20
mov ecx, dword [ebp + 8]
cmove ebx, esi
mov esi, dword [esp + 4]
dec dword [esp + 0x14]
mov dword [esp + 0x1c], eax
add bl, 0x30
mov byte [ecx + esi], bl
mov ecx, dword [esp + 0x24]
lea esi, [ecx + ecx*4]
mov ecx, dword [esp + 8]
lea ebx, [edx + esi*2]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], ebx
and ecx, dword [esp + 0x38]
and edx, dword [esp + 0x28]
mov dword [esp + 8], ecx
cmp edx, eax
mov eax, ecx
mov ecx, ebx
mov ecx, dword [esp + 0x2c]
sbb eax, ebx
mov eax, dword [esp + 0x10]
lea ebx, [eax + eax*4]
lea ecx, [ecx + ebx*2]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
lea edi, [ecx + 1]
mov esi, edi
mov esi, dword [ebp + 0xc]
mov dword [esp + 4], edi
mov dword [esi], edi
mov edi, dword [esp + 8]
jae 0x100648dc
mov esi, dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], edx
sub esi, dword [esp + 0x48]
mov eax, ecx
sbb ebx, dword [esp + 0x4c]
mul esi
imul ebx, ecx
add ebx, edx
mov edx, dword [esp + 0x10]
imul esi, edx
add esi, ebx
mov ebx, eax
sub ebx, ecx
mov dword [esp + 0x20], ebx
mov ebx, esi
sbb ebx, edx
add eax, ecx
mov ecx, dword [esp + 0x1c]
adc esi, edx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x18]
sub ecx, esi
sbb edx, edi
cmp ecx, eax
sbb edx, dword [esp + 0x40]
setb dl
jb 0x10064ea3
mov eax, dword [esp + 0x20]
mov ecx, edi
cmp esi, eax
mov eax, edi
sbb ecx, ebx
jb 0x10064eb4
mov dword [esp + 0xc], edx
mov edx, esi
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 4]
mov edi, eax
mov eax, edi
mov edi, edx
cmp edx, esi
mov edx, dword [esp + 0x30]
mov ebx, eax
sbb eax, edx
jae 0x10064a3f
cmp byte [esp + 0xc], 0
je 0x100650b7
mov esi, dword [esp + 0x44]
mov ecx, 0x14
mov eax, esi
mul ecx
mov ecx, dword [esp + 0x28]
cmp edi, eax
mov eax, ebx
lea ecx, [edx + ecx*4]
mov edx, 0xffffffd8
sbb eax, ecx
mov eax, esi
setae cl
mul edx
sub edx, esi
mov esi, dword [esp + 0x2c]
shl esi, 3
lea esi, [esi + esi*4]
sub edx, esi
add eax, dword [esp + 0x1c]
adc edx, dword [esp + 0x24]
cmp eax, edi
sbb edx, ebx
setae al
and al, cl
mov edx, dword [esp + 0x14]
test al, al
je 0x10064fc4
sub edx, dword [esp + 0x64]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov bl, 1
add edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
mov byte [edx + eax], 0
mov ecx, dword [esp + 0x98]
xor ecx, ebp
call fcn.10069260
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x18], edx
jne 0x100653b4
movsd qword [esp + 0x58], xmm0
xor eax, eax
xor ebx, ebx
mov edx, 0x100000
mov ecx, dword [esp + 0x5c]
add eax, 0xffffffff
adc edx, 0xffffffff
mov esi, ecx
and edx, ecx
shr esi, 0x14
mov eax, edx
and esi, 0x7ff
or eax, 0x100000
add esi, 0xfffffbcd
test ecx, 0x7ff00000
mov ecx, 0xfffffbce
cmovne ecx, esi
mov esi, dword [esp + 0x58]
cmove eax, edx
bt eax, 0x14
jae 0x100653b9
mov dword [esp + 4], eax
mov eax, esi
mov edx, ecx
mov dword [esp + 8], ecx
lea edi, [esp + 0x88]
shl eax, 0xb
mov dword [edi + 4], ebx
mov dword [edi], ebx
mov dword [edi + 8], ebx
mov dword [esp + 0x14], eax
mov eax, 0xffffff8f
sub eax, ecx
mov ecx, 0xffffffab
sub ecx, edx
lea edx, [esp + 0x78]
push edx
push edi
push ecx
push eax
call fcn.100634f0
add esp, 0x10
mov ecx, dword [esp + 4]
shld ecx, esi, 0xb
mov esi, dword [edi + 4]
mov eax, esi
mul ecx
mov dword [esp + 0x1c], eax
mov eax, esi
mov edi, edx
mul dword [esp + 0x14]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x24], edx
mov esi, dword [eax]
mov eax, esi
mul ecx
xor ecx, ecx
mov dword [esp + 0x10], eax
mov eax, esi
mov dword [esp + 4], edx
lea esi, [esp + 0x88]
mul dword [esp + 0x14]
mov eax, dword [esp + 8]
add edx, dword [esp + 0x10]
setb cl
add edx, dword [esp + 0xc]
adc ecx, ebx
add eax, dword [esi + 8]
imul esi, eax, 0x4d1
mov dword [esp + 8], eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 4]
add esi, dword [esp + 0x1c]
adc edi, ebx
add esi, dword [esp + 0x24]
adc edi, ebx
add edx, 0x80000000
adc esi, ecx
mov ecx, 0xffffffcb
adc edi, ebx
sub ecx, dword [esp + 8]
xor edx, edx
mov dword [esp + 4], esi
xor eax, eax
inc edx
mov dword [esp + 0xc], edx
shrd esi, edi, cl
shld eax, edx, cl
shl edx, cl
mov dword [esp + 0x24], ecx
mov dword [esp + 8], esi
mov esi, edi
shr esi, cl
test cl, 0x20
mov ecx, dword [ebp + 0xc]
cmovne eax, edx
cmovne edx, ebx
cmove esi, dword [esp + 8]
mov dword [esp + 0x10], edx
add edx, 0xffffffff
mov dword [esp + 0x28], eax
adc eax, 0xffffffff
and dword [esp + 4], edx
mov dword [esp + 0x20], edx
and edi, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
mov dword [ecx], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 8], esi
add eax, 0x23856
sar eax, 0xc
cmp dword [eax*4 + 0x1006d0ac], esi
lea edx, [eax + 1]
cmova edx, eax
mov edi, dword [edx*4 + 0x1006d0a8]
test edx, edx
mov dword [esp + 0x14], edx
jle 0x1006521f
mov ecx, dword [esp + 0x18]
xor ebx, ebx
mov eax, dword [esp + 8]
mov esi, dword [ebp + 8]
xor edx, edx
div edi
add al, 0x30
mov dword [esp + 8], edx
mov byte [esi + ebx], al
mov esi, dword [ebp + 0xc]
mov ebx, dword [esi]
inc ebx
cmp ecx, 1
mov dword [esi], ebx
je 0x10064f62
mov esi, ebx
mov ebx, dword [esp + 0x14]
mov eax, edi
mov edx, 0xcccccccd
dec ecx
mul edx
mov edi, edx
shr edi, 3
dec ebx
lea eax, [ebx + 1]
mov dword [esp + 0x14], ebx
mov ebx, esi
cmp eax, 1
jg 0x10064c73
test ecx, ecx
je 0x10064f66
mov edx, dword [esp + 4]
mov edi, dword [esp + 0x1c]
cmp edx, 2
mov eax, edi
sbb eax, 0
jb 0x10064fc4
test ecx, ecx
jle 0x10064fc4
mov dword [esp + 0x18], ecx
mov esi, 0xa
xor ecx, ecx
mov dword [esp + 0x38], 0
mov eax, edx
lea edi, [edi + edi*4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x24]
mul esi
lea esi, [edx + edi*2]
mov edx, dword [esp + 0xc]
mov edi, eax
mov dword [esp + 4], eax
mov dword [esp + 0x1c], esi
shrd edi, esi, cl
shr esi, cl
mov dword [esp + 0x44], edx
mov eax, edx
mov edx, 0xa
mul edx
test cl, 0x20
mov ecx, esi
mov esi, dword [esp + 0x1c]
cmove ecx, edi
mov edi, dword [ebp + 8]
inc dword [esp + 0x38]
mov dword [esp + 0xc], eax
add cl, 0x30
and esi, dword [esp + 0x2c]
mov byte [edi + ebx], cl
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x30], ecx
lea ecx, [edx + ecx*2]
mov edx, dword [ebp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [edx]
lea ebx, [ecx + 1]
mov dword [esp + 0x34], ecx
lea ecx, [edi - 1]
mov dword [edx], ebx
mov edx, dword [esp + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
and edx, dword [esp + 0x20]
cmp edi, 2
mov edi, esi
mov esi, 0xa
jl 0x10064d99
cmp dword [esp + 0xc], edx
mov eax, ecx
sbb eax, edi
jb 0x10064cf5
cmp dword [esp + 0x18], 0
jne 0x10064fc4
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov dword [esp + 4], edx
sub eax, esi
mov ebx, ecx
sbb ebx, dword [esp + 8]
cmp esi, dword [esp + 0x10]
mov esi, dword [esp + 8]
mov edx, esi
sbb edx, ecx
mov edx, dword [esp + 4]
jae 0x10064fc4
cmp dword [esp + 0xc], eax
mov eax, esi
sbb eax, ebx
jae 0x10064fc4
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x28]
mov esi, edi
sub dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
mov ecx, ebx
sub eax, edx
sbb ecx, edi
cmp edx, eax
sbb esi, ecx
jae 0x10064e2f
mov esi, dword [esp + 0x10]
mov eax, edi
lea ecx, [edx + edx]
shld eax, edx, 1
mov edx, 0x14
sub esi, ecx
sbb ebx, eax
mov eax, dword [esp + 0x44]
mul edx
cmp esi, eax
mov eax, dword [esp + 0x30]
lea eax, [edx + eax*4]
mov edx, dword [esp + 4]
sbb ebx, eax
jae 0x1006515d
mov ecx, dword [esp + 8]
cmp dword [esp + 0xc], edx
mov eax, ecx
sbb eax, edi
jae 0x10064fc4
sub edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
sbb edi, ecx
sub esi, edx
sbb eax, edi
cmp edx, esi
sbb edi, eax
jb 0x10064fc4
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x34]
mov al, byte [ecx + edx]
inc al
test edx, edx
mov byte [ecx + edx], al
jle 0x10064e8a
inc edx
cmp al, 0x3a
jne 0x10064e8a
mov byte [ecx + edx - 1], 0x30
mov al, byte [ecx + edx - 2]
inc al
mov byte [ecx + edx - 2], al
dec edx
cmp edx, 1
jg 0x10064e71
cmp byte [ecx], 0x3a
jne 0x1006515d
mov edx, dword [esp + 0x14]
mov ebx, dword [ebp + 8]
inc edx
mov byte [ebx], 0x31
jmp 0x10065161
mov dword [esp + 0xc], edx
mov edx, esi
mov esi, dword [esp + 4]
mov ecx, eax
jmp 0x10064a24
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + 0x34]
mov edx, esi
mov edi, eax
mov ebx, dword [esp + 0x3c]
add edx, ecx
mov esi, dword [esp + 0x20]
adc edi, dword [esp + 0x40]
cmp edx, esi
mov ecx, edi
mov dword [esp + 0x10], edi
sbb ecx, ebx
jb 0x10064f06
mov ecx, esi
mov edi, ebx
mov dword [esp + 8], eax
sub ecx, dword [esp + 0x18]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x10]
sbb edi, eax
mov eax, edx
sub eax, esi
sbb ecx, ebx
cmp dword [esp + 0xc], eax
mov eax, dword [esp + 8]
sbb edi, ecx
jb 0x10065108
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x38]
dec byte [eax + ecx]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
sub edi, edx
sbb ecx, dword [esp + 0x10]
cmp edi, dword [esp + 0x34]
mov eax, ecx
sbb eax, dword [esp + 0x40]
setb al
cmp edx, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0xc], eax
sbb esi, ebx
jae 0x1006516a
mov esi, dword [esp + 0x34]
mov dword [esp + 0x18], edx
cmp edi, esi
mov edi, dword [esp + 0x10]
sbb ecx, dword [esp + 0x40]
mov ecx, esi
mov esi, dword [esp + 4]
mov eax, edi
jb 0x10064a24
jmp 0x10064ec4
dec dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, edi
xor eax, eax
shl edx, cl
test cl, 0x20
mov esi, edx
cmovne esi, eax
mov dword [esp + 0x18], esi
xor esi, esi
shld esi, edi, cl
test cl, 0x20
cmovne esi, edx
mov edx, dword [esp + 8]
shl edx, cl
test cl, 0x20
mov edi, edx
cmovne edi, eax
mov dword [esp + 0xc], edi
mov edi, dword [esp + 8]
shld eax, edi, cl
mov edi, dword [esp + 0xc]
test cl, 0x20
mov ecx, esi
cmovne eax, edx
mov edx, dword [esp + 0x18]
add edi, dword [esp + 4]
adc eax, dword [esp + 0x1c]
cmp edx, 3
sbb ecx, 0
jae 0x10065119
xor ebx, ebx
jmp 0x10064aa9
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
xor ebx, ebx
xor edx, edx
shld ebx, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, dword [esp + 0x30]
cmovne ebx, eax
cmovne eax, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
sub ecx, dword [esp + 0x48]
sbb edx, dword [esp + 0x4c]
mov ebx, ecx
add ebx, 0xffffffff
mov dword [esp + 0x18], ebx
mov ebx, edx
adc ebx, 0xffffffff
add ecx, 1
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x24]
adc edx, 0
mov dword [esp + 0x3c], edx
sub ecx, edi
sbb ebx, esi
cmp ecx, eax
mov edx, ebx
sbb edx, dword [esp + 8]
setb dl
cmp edi, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov edx, esi
sbb edx, dword [esp + 0xc]
jae 0x10065050
cmp ecx, eax
sbb ebx, dword [esp + 8]
jae 0x1006517b
mov eax, edi
mov ecx, esi
mov esi, ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov ebx, eax
mov dword [esp + 4], esi
mov edi, esi
mov esi, dword [esp + 0x3c]
add edx, 0xfffffffe
cmp eax, ecx
sbb edi, esi
mov edi, dword [esp + 0x1c]
jae 0x10065082
cmp byte [esp + 0x20], 0
je 0x10065228
mov esi, dword [esp + 4]
xor eax, eax
xor ecx, ecx
inc ecx
cmp ecx, ebx
sbb eax, esi
mov eax, dword [esp + 0x24]
setb cl
add edi, 0xfffffffc
adc eax, 0xffffffff
cmp edi, ebx
sbb eax, esi
setae al
and al, cl
jmp 0x10064a88
mov dword [esp + 4], 0
jmp 0x100648c5
mov esi, dword [esp + 0x40]
add ecx, edi
mov eax, edi
mov eax, ebx
mov dword [esp + 8], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x34], ecx
adc esi, ebx
cmp ecx, dword [esp + 4]
mov eax, esi
sbb eax, edx
jb 0x10065101
mov eax, dword [esp + 4]
mov ecx, edx
sub eax, dword [esp + 8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
sbb ecx, dword [esp + 0x10]
sub eax, dword [esp + 4]
sbb esi, edx
cmp eax, dword [esp + 8]
sbb esi, ecx
jae 0x10064a3f
xor eax, eax
jmp 0x10064a84
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc], 0
jmp 0x10064a1a
mov ecx, edx
mov edx, esi
mov dword [esp + 8], esi
sub ecx, edi
sbb edx, eax
cmp edi, ecx
mov ecx, eax
sbb ecx, edx
jae 0x10065291
mov esi, dword [esp + 0x18]
mov ecx, eax
lea edx, [edi + edi]
mov dword [esp + 4], 0
shld ecx, edi, 1
sub esi, edx
mov edx, dword [esp + 8]
sbb edx, ecx
xor ecx, ecx
inc ecx
cmp ecx, esi
sbb dword [esp + 4], edx
jae 0x10065291
mov edx, dword [esp + 0x14]
sub edx, dword [esp + 0x78]
jmp 0x10064a94
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 4]
jmp 0x10064a24
mov eax, edi
mov ecx, esi
add eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
adc ecx, dword [esp + 8]
cmp eax, edx
mov dword [esp + 4], ecx
sbb ecx, ebx
jb 0x100651bd
sub edx, edi
mov ecx, dword [esp + 4]
mov dword [esp + 0x20], edx
mov edx, ebx
mov ebx, eax
sbb edx, esi
sub ebx, dword [esp + 0x18]
sbb ecx, dword [esp + 0xc]
cmp dword [esp + 0x20], ebx
sbb edx, ecx
jb 0x10065279
mov esi, eax
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x2c]
dec byte [eax + ecx]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 8]
sub ecx, esi
sbb edx, dword [esp + 4]
cmp ecx, eax
mov esi, edx
sbb esi, edi
mov esi, dword [esp + 4]
setb bl
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x28]
cmp ebx, dword [esp + 0x18]
sbb esi, dword [esp + 0xc]
jae 0x10065286
cmp ecx, eax
mov ecx, dword [esp + 4]
mov eax, ebx
sbb edx, edi
mov edi, ebx
mov esi, ecx
jb 0x10065054
jmp 0x1006517f
mov ecx, dword [esp + 0x18]
jmp 0x10064cbc
mov eax, ebx
add dword [esp + 0x10], ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x28], ebx
adc eax, dword [esp + 4]
cmp dword [esp + 0x10], ecx
mov dword [esp + 8], eax
sbb eax, esi
jb 0x10065272
mov eax, ecx
mov ecx, esi
mov esi, dword [esp + 8]
sub eax, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
sbb ecx, dword [esp + 4]
sub eax, dword [esp + 0x30]
sbb esi, dword [esp + 0x3c]
cmp eax, dword [esp + 0x14]
sbb esi, ecx
jae 0x10065082
xor eax, eax
jmp 0x10064a88
mov dword [esp + 0x20], 0
jmp 0x10065050
mov ecx, dword [esp + 4]
mov eax, ebx
jmp 0x10065054
cmp edi, 2
mov ecx, eax
mov edx, dword [esp + 8]
sbb ecx, 0
mov ecx, dword [esp + 0x18]
jb 0x10064fc4
add edi, 0xffffffff
adc eax, 0xffffffff
sub ecx, edi
sbb edx, eax
cmp edi, ecx
sbb eax, edx
jb 0x10064fc4
mov ecx, dword [ebp + 8]
mov al, byte [ebx + ecx - 1]
inc al
cmp ebx, 2
mov byte [ebx + ecx - 1], al
jl 0x100652e9
cmp al, 0x3a
jne 0x100652e9
mov ecx, dword [ebp + 8]
mov byte [ecx + ebx - 1], 0x30
mov al, byte [ecx + ebx - 2]
inc al
mov byte [ecx + ebx - 2], al
dec ebx
cmp ebx, 1
jg 0x100652cd
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x14]
cmp byte [ebx], 0x3a
jne 0x10065161
mov eax, dword [ebp + 8]
inc edx
mov byte [eax], 0x31
jmp 0x10065161
test dword [esp + 0x38], 0x7fe
je 0x10064592
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
add esi, 0xfffffffe
shld ecx, ebx, 2
shl ebx, 2
mov dword [esp + 0x20], esi
mov esi, dword [esp + 4]
mov eax, ecx
jmp 0x10064592
mov dword [esp + 8], edx
mov edx, esi
dec dword [esp + 8]
shld esi, edi, 1
add edi, edi
bt edx, 0x13
mov edx, esi
jb 0x100644f3
jmp 0x1006533a
lea esi, [esp + 0x88]
lea edi, [esp + 0x78]
cvtsd2ss xmm0, xmm0
lea ecx, [esp + 0x68]
movss dword [ecx], xmm0
mov edx, esi
push edi
call fcn.10067a50
add esp, 4
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [edi]
mov esi, dword [esp + 4]
mov dword [esp + 0x14], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0xc], ecx
jmp 0x100645e2
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x24]
dec edx
shld edi, esi, 1
add esi, esi
test edi, edi
mov dword [esp + 0x24], esi
js 0x10064578
jmp 0x1006539b
call fcn.100621f0
mov dword [esp + 4], eax
mov edx, dword [esp + 4]
dec ecx
shld edx, esi, 1
add esi, esi
bt eax, 0x13
mov eax, edx
mov dword [esp + 4], edx
jb 0x10064b21
jmp 0x100653bd