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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x390
mov ebx, dword [ebp + 8]
mov esi, ecx
mov ecx, dword [ebx + 0x28]
cmp ecx, 5
mov eax, ecx
jb 0x45bcf1
mov eax, dword [ebx + 4]
test eax, eax
je 0x45ee7f
mov edi, dword [edx + 0x28]
cmp edi, 5
mov eax, edi
jb 0x45bd06
mov eax, dword [edx + 4]
test eax, eax
mov dword [esp + 0xd4], esi
je 0x45bd33
cmp ecx, 5
mov dword [esp + 0x1c], ecx
jb 0x45bf59
cmp dword [ebx + 4], 1
jne 0x45bf8b
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
jmp 0x45bf61
lea ecx, [esp + 0x20]
lea edx, [esp + 0xd8]
mov dword [esp + 0xd8], 4
mov dword [esp + 0xdc], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0xe0], 2
mov dword [esp + 0x20], 0
call fcn.00453330
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
lea ecx, [esp + 0x70]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
mov edx, dword [esp + 0x70]
nop dword [eax]
mov esi, dword [esp + 0x90]
mov ebx, ecx
cmp esi, 5
mov edi, esi
jb 0x45bde6
mov edi, dword [esp + 0x6c]
mov ebx, edx
test edi, edi
je 0x45be11
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45be11
cmp esi, 5
lea edi, [esp + 0x90]
jb 0x45be08
mov esi, dword [esp + 0x6c]
lea edi, [esp + 0x6c]
test esi, esi
je 0x45bdd0
dec esi
mov dword [edi], esi
jmp 0x45bdd0
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x90]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 4
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x1b8], 2
mov dword [esp + 0x20], 0
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0xf0], xmm2
movsd xmm2, qword [esp + 0x68]
movsd qword [esp + 0x100], xmm0
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xe0], xmm1
call fcn.00453330
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
lea ecx, [esp + 0x70]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
mov edx, dword [esp + 0x70]
nop
mov esi, dword [esp + 0x90]
mov ebx, ecx
cmp esi, 5
mov edi, esi
jb 0x45bf26
mov edi, dword [esp + 0x6c]
mov ebx, edx
test edi, edi
je 0x45e851
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45e851
cmp esi, 5
lea edi, [esp + 0x90]
jb 0x45bf50
mov esi, dword [esp + 0x6c]
lea edi, [esp + 0x6c]
test esi, esi
je 0x45bf10
dec esi
mov dword [edi], esi
jmp 0x45bf10
cmp ecx, 1
jne 0x45bf8b
lea eax, [ebx + 8]
test ecx, ecx
je 0x45ee4b
mov ecx, dword [eax]
xor ecx, 1
or ecx, dword [eax + 4]
jne 0x45c148
cmp edi, 4
jbe 0x45c221
mov edi, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x45c224
cmp edi, 4
jbe 0x45bfbb
mov eax, dword [edx + 8]
mov esi, dword [edx + 4]
mov dword [esp + 8], eax
mov eax, esi
cmp ecx, 4
mov dword [esp + 0x10], edi
mov dword [esp + 0x58], edx
ja 0x45bfd1
lea edx, [ebx + 8]
mov edi, ecx
mov dword [esp + 4], edx
cmp eax, edi
jb 0x45bfe3
jmp 0x45c127
lea eax, [edx + 8]
mov dword [esp + 8], eax
mov eax, edi
cmp ecx, 4
mov dword [esp + 0x10], edi
mov dword [esp + 0x58], edx
jbe 0x45bfa9
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 4], ecx
cmp eax, edi
jae 0x45c127
lea ecx, [esp + 0x20]
lea edx, [esp + 0xd8]
mov dword [esp + 0xd8], 4
mov dword [esp + 0xdc], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0xe0], 2
mov dword [esp + 0x20], 0
call fcn.00453330
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
lea esi, [esp + 0x70]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
mov edx, dword [esp + 0x70]
nop dword [eax]
mov ebx, dword [esp + 0x90]
mov ecx, esi
cmp ebx, 5
mov edi, ebx
jb 0x45c096
mov edi, dword [esp + 0x6c]
mov ecx, edx
test edi, edi
je 0x45c0c1
mov eax, dword [ecx + edi*8 - 8]
or eax, dword [ecx + edi*8 - 4]
jne 0x45c0c1
cmp ebx, 5
lea ecx, [esp + 0x90]
jb 0x45c0b8
mov ebx, dword [esp + 0x6c]
lea ecx, [esp + 0x6c]
test ebx, ebx
je 0x45c080
dec ebx
mov dword [ecx], ebx
jmp 0x45c080
mov esi, dword [esp + 0xd4]
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x80]
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 0x90]
movsd qword [esi + 0x20], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esi + 0x18], xmm2
movsd xmm2, qword [esp + 0x68]
cmp eax, 4
movsd qword [esi + 0x28], xmm0
movsd qword [esi + 0x10], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esi], xmm2
movsd qword [esi + 8], xmm1
jbe 0x45c15c
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x45c163
jbe 0x45c1ca
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 8]
cmp ecx, 4
jbe 0x45ce59
mov ecx, dword [edi + 4]
mov eax, dword [edi + 8]
jmp 0x45ce5c
cmp edi, 4
jbe 0x45c389
mov edi, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x45c38c
mov edx, dword [esp + 0x58]
add edx, 8
lea eax, [edx + eax*8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x20]
push eax
call fcn.004535c0
add esp, 4
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
movsd qword [esi + 0x50], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esi + 0x48], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esi + 0x58], xmm0
movsd qword [esi + 0x40], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esi + 0x30], xmm2
movsd qword [esi + 0x38], xmm1
jmp 0x45e8f6
shl eax, 3
shl edi, 3
test eax, eax
je 0x45e766
test edi, edi
je 0x45e766
mov dword [esp], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp]
mov ebx, dword [eax + ecx - 8]
mov ecx, dword [esp]
mov ecx, dword [eax + ecx - 4]
mov eax, dword [esp + 4]
mov esi, dword [eax + edi - 8]
mov edx, dword [eax + edi - 4]
mov eax, ecx
cmp ebx, esi
sbb eax, edx
mov eax, dword [esp]
jb 0x45bfe3
add eax, 0xfffffff8
add edi, 0xfffffff8
cmp esi, ebx
sbb edx, ecx
jae 0x45c1d0
jmp 0x45c12d
add edx, 8
lea eax, [edx + edi*8]
lea ecx, [esp + 0x20]
mov dword [esp + 0x48], 0
mov dword [esp + 0x20], 0
push eax
call fcn.004535c0
add esp, 4
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 4
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 2
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0xf0], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x100], xmm0
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0x28]
mov dword [esp + 0x48], 0
movsd qword [esp + 0xd8], xmm2
mov dword [esp + 0x20], 0
movsd qword [esp + 0xe0], xmm1
call fcn.00453330
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
lea ecx, [esp + 0x70]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
mov edx, dword [esp + 0x70]
nop dword [eax + eax]
mov esi, dword [esp + 0x90]
mov ebx, ecx
cmp esi, 5
mov edi, esi
jb 0x45c356
mov edi, dword [esp + 0x6c]
mov ebx, edx
test edi, edi
je 0x45e851
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45e851
cmp esi, 5
lea edi, [esp + 0x90]
jb 0x45c380
mov esi, dword [esp + 0x6c]
lea edi, [esp + 0x6c]
test esi, esi
je 0x45c340
dec esi
mov dword [edi], esi
jmp 0x45c340
add edx, 8
lea eax, [edx + edi*8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x20]
push eax
call fcn.004535c0
add esp, 4
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x20]
cmp eax, 4
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
jbe 0x45c40e
mov eax, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x45c411
add ebx, 8
test eax, eax
je 0x45ee56
mov eax, dword [esp + 0x90]
cmp eax, 4
jbe 0x45cd2e
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
test eax, eax
mov dword [esp + 0xc0], ecx
je 0x45cd41
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 4], ecx
or ecx, edx
mov dword [esp + 0x60], edx
je 0x45ee32
mov ecx, dword [esp + 0xc0]
xor esi, esi
xor edi, edi
lea eax, [ecx + eax*8]
mov ecx, dword [esp + 0x60]
jmp 0x45c4e3
mov dword [esp + 0x54], 0
xor esi, esi
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
shld eax, ecx, 1
add ecx, ecx
or eax, dword [esp + 0x54]
or ecx, esi
mov esi, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
mov ebx, eax
mov edi, esi
mul ecx
mov esi, ecx
mov ecx, dword [esp + 0x60]
imul esi, ecx
add esi, edx
mov edx, dword [esp + 8]
imul edx, ebx
mov ebx, dword [esp + 0x14]
add edx, esi
sub edi, eax
mov eax, dword [esp + 0xb8]
mov esi, edi
sbb ebx, edx
mov edx, dword [esp + 0x58]
cmp dword [esp + 0xc0], eax
mov dword [eax], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], edx
mov edx, edi
mov edi, ebx
je 0x45cd45
mov ebx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], edi
mov dword [esp + 0xa4], esi
or eax, ecx
mov eax, edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x14], edx
sete byte [esp]
or eax, edi
or ebx, esi
or ebx, eax
sete al
bsr ebx, dword [esp + 4]
bsr edx, ecx
or al, byte [esp]
xor edx, 0x1f
mov dword [esp + 0x11c], edx
xor ebx, 0x1f
add ebx, 0x20
test ecx, ecx
mov byte [esp], al
mov dword [esp + 0xb4], ebx
cmovne ebx, edx
bsr ecx, esi
bsr edx, edi
xor ecx, 0x1f
add ebx, 0x40
xor edx, 0x1f
add ecx, 0x20
test edi, edi
mov edi, dword [esp + 0x14]
cmovne ecx, edx
bsr edx, dword [esp + 0x50]
bsr eax, edi
xor edx, 0x1f
xor eax, 0x1f
add edx, 0x20
test edi, edi
mov dword [esp + 0x114], eax
mov edi, dword [esp + 0x50]
mov dword [esp + 0x118], edx
cmovne edx, eax
mov eax, 0
add edx, 0x40
or esi, dword [esp + 0x5c]
mov esi, 0
cmovne edx, ecx
mov ecx, 0x7f
sub ebx, edx
mov edx, 0
sbb eax, eax
mov dword [esp + 0x10], ebx
sbb edx, edx
sbb esi, esi
cmp ecx, ebx
mov ecx, 0
mov dword [esp + 0xc], edx
mov ebx, eax
sbb ecx, eax
mov ecx, 0
mov dword [esp + 0x18], esi
mov eax, 0
sbb ecx, edx
mov ecx, 0
mov edx, dword [esp + 0x14]
sbb ecx, esi
mov esi, edi
setb cl
or cl, byte [esp]
cmovne edx, eax
cmovne esi, eax
jne 0x45c92a
mov eax, dword [esp + 0x10]
mov ecx, ebx
or ecx, dword [esp + 0x18]
xor eax, 0x7f
or eax, dword [esp + 0xc]
or ecx, eax
je 0x45c92a
mov dword [esp + 0x280], edi
mov edi, ebx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x27c], 0
mov dword [esp + 0x278], 0
mov dword [esp + 0x274], 0
mov dword [esp + 0x270], 0
mov dword [esp + 0x28c], eax
mov ebx, dword [esp + 0x10]
mov eax, ebx
xor al, 0x7f
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
neg al
mov cl, ch
movsx eax, al
mov edx, dword [esp + eax + 0x288]
mov esi, dword [esp + eax + 0x28c]
shld esi, edx, cl
shl edx, cl
not cl
mov dword [esp + 0x9c], esi
mov dword [esp + 0x64], edx
mov edx, dword [esp + eax + 0x284]
mov esi, dword [esp + eax + 0x280]
mov eax, edx
shr eax, 1
shr eax, cl
mov cl, ch
shld edx, esi, cl
shl esi, cl
mov ecx, dword [esp + 0xc]
add ebx, 1
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
adc edi, 0
mov dword [esp + 0x58], esi
mov dword [esp + 0x10], ebx
adc ecx, 0
adc edx, 0
jae 0x45c6f0
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x54], 0
xor ebx, ebx
jmp 0x45c914
or dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x258], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x26c], 0
mov dword [esp + 0x268], 0
mov dword [esp + 0x264], 0
mov dword [esp + 0x260], 0
mov dword [esp + 0x25c], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x10]
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
movzx edx, al
mov cl, ch
mov eax, dword [esp + edx + 0x258]
mov esi, dword [esp + edx + 0x25c]
mov dword [esp + 0xac], edi
mov edi, eax
add eax, eax
shrd edi, esi, cl
mov dword [esp], edi
mov ebx, dword [esp + edx + 0x254]
mov edi, ebx
shr edi, cl
not cl
shl eax, cl
mov cl, ch
or eax, edi
shr esi, cl
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + edx + 0x250]
mov edx, esi
mov esi, dword [esp + 4]
mov dword [esp + 0x54], 0
shrd eax, ebx, cl
mov ecx, dword [esp + 0x60]
add esi, 0xffffffff
mov dword [esp + 0xbc], esi
mov esi, 0
mov dword [esp + 0xa8], eax
adc ecx, 0xffffffff
mov dword [esp + 0xcc], ecx
adc esi, 0xffffffff
mov ecx, 0
adc ecx, 0xffffffff
xor ebx, ebx
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], ecx
mov eax, dword [esp]
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x54], 0
shld edx, eax, 1
mov dword [esp + 8], edx
mov edx, dword [esp + 0x98]
shld eax, edx, 1
shld edx, esi, 1
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
shld esi, eax, 1
shld eax, ecx, 1
shld ecx, edi, 1
or ecx, ebx
or eax, ebx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 8]
shld edi, ecx, 1
add ecx, ecx
or ecx, dword [esp + 0xb0]
or edi, ebx
cmp dword [esp + 0xbc], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xcc]
sbb ecx, edx
mov ecx, dword [esp + 0xc8]
sbb ecx, dword [esp]
mov ecx, dword [esp + 0xc4]
sbb ecx, eax
sar ecx, 0x1f
mov ebx, ecx
mov edi, ecx
and ecx, dword [esp + 4]
and edi, dword [esp + 0x60]
and ebx, 1
sub esi, ecx
mov ecx, dword [esp + 0xac]
sbb edx, edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0xc]
sbb dword [esp], 0
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x18]
sbb eax, 0
add edi, 0xffffffff
adc ecx, 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 0x10], edi
adc esi, 0xffffffff
mov dword [esp + 0xac], ecx
adc edx, 0xffffffff
or edi, esi
mov dword [esp + 0xc], esi
or ecx, edx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 8]
or edi, ecx
mov edi, dword [esp + 0x1c]
jne 0x45c800
mov esi, dword [esp + 0x58]
shld edi, esi, 1
add esi, esi
or edi, dword [esp + 0x54]
or esi, ebx
mov edx, edi
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x58], esi
mov dword [esp + 0x1c], edx
add dword [esp + 0xb8], 0xfffffff8
mov esi, dword [esp + 0xa4]
mov edx, dword [esp + 0x14]
or eax, ebx
mov eax, edi
mov edi, dword [esp + 0x5c]
sete cl
or eax, esi
or edx, edi
or edx, eax
sete al
or al, cl
test ebx, ebx
mov ebx, dword [esp + 0xb4]
mov byte [esp], al
mov eax, dword [esp + 0x118]
cmovne ebx, dword [esp + 0x11c]
bsr ecx, esi
bsr edx, edi
xor ecx, 0x1f
xor edx, 0x1f
add ecx, 0x20
add ebx, 0x40
test edi, edi
cmovne ecx, edx
cmp dword [esp + 0x14], 0
mov edx, esi
mov esi, dword [esp + 0x50]
cmovne eax, dword [esp + 0x114]
add eax, 0x40
or edx, edi
mov edx, 0
mov edi, 0
cmovne eax, ecx
mov ecx, 0x7f
sub ebx, eax
mov eax, 0
sbb edx, edx
sbb eax, eax
sbb edi, edi
cmp ecx, ebx
mov ecx, 0
mov dword [esp + 0xc], eax
sbb ecx, edx
mov ecx, 0
sbb ecx, eax
mov ecx, 0
mov eax, 0
sbb ecx, edi
setb cl
or cl, byte [esp]
mov ecx, dword [esp + 0x14]
cmovne ecx, eax
mov dword [esp + 8], ecx
mov ecx, esi
cmovne ecx, eax
jne 0x45c496
mov eax, ebx
mov dword [esp + 0x10], ecx
mov ecx, edx
xor eax, 0x7f
or ecx, edi
or eax, dword [esp + 0xc]
or ecx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 4]
je 0x45c49a
mov dword [esp + 0x240], esi
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x23c], 0
mov dword [esp + 0x238], 0
mov dword [esp + 0x234], 0
mov dword [esp + 0x230], 0
mov dword [esp + 0x24c], eax
mov eax, ebx
xor al, 0x7f
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
neg al
mov cl, ch
movsx eax, al
mov edx, dword [esp + eax + 0x248]
mov esi, dword [esp + eax + 0x24c]
shld esi, edx, cl
shl edx, cl
not cl
mov dword [esp + 0x9c], esi
mov dword [esp + 0x64], edx
mov edx, dword [esp + eax + 0x244]
mov esi, dword [esp + eax + 0x240]
mov eax, edx
shr eax, 1
shr eax, cl
mov cl, ch
shld edx, esi, cl
shl esi, cl
add ebx, 1
mov dword [esp + 0x10], esi
adc dword [esp + 0x18], 0
mov esi, dword [esp + 0xc]
mov dword [esp + 8], edx
adc esi, 0
adc edi, 0
jb 0x45c470
or dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
mov ch, bl
and ch, 7
mov cl, ch
mov dword [esp + 0x210], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x22c], 0
mov dword [esp + 0x228], 0
mov dword [esp + 0x224], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x21c], eax
mov eax, ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x98], edi
mov dword [esp + 0xb4], ebx
shr al, 3
and al, 0xf
movzx eax, al
mov esi, dword [esp + eax + 0x218]
mov edi, dword [esp + eax + 0x21c]
mov edx, esi
add esi, esi
shrd edx, edi, cl
mov dword [esp + 0xa8], edx
mov ebx, dword [esp + eax + 0x214]
mov edx, ebx
shr edx, cl
not cl
shl esi, cl
mov cl, ch
or esi, edx
shr edi, cl
mov dword [esp + 0xac], esi
mov edx, dword [esp + eax + 0x210]
mov eax, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x54], 0
shrd edx, ebx, cl
mov ecx, dword [esp + 0x60]
add edi, 0xffffffff
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xcc], edi
mov edi, 0
mov dword [esp + 0xb0], edx
adc ecx, 0xffffffff
mov dword [esp + 0xc8], ecx
adc edi, 0xffffffff
mov ecx, 0
adc ecx, 0xffffffff
xor esi, esi
mov dword [esp + 0xc4], edi
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x9c]
nop dword [eax]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xa8]
mov edi, dword [esp + 0xb0]
mov edx, dword [esp + 0x64]
mov dword [esp + 0xbc], esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x54], 0
shld eax, ebx, 1
mov dword [esp], eax
mov eax, dword [esp + 0xac]
shld ebx, eax, 1
shld eax, edi, 1
shld edi, ecx, 1
shld ecx, edx, 1
or ecx, esi
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 8]
shld edx, ecx, 1
or edx, esi
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x10]
shld ecx, edx, 1
add edx, edx
or ecx, esi
or edx, dword [esp + 0xbc]
cmp dword [esp + 0xcc], edi
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x10], edx
sbb ecx, eax
mov ecx, dword [esp + 0xc4]
sbb ecx, ebx
mov ecx, dword [esp + 0x5c]
sbb ecx, dword [esp]
sar ecx, 0x1f
mov esi, ecx
mov edx, ecx
and ecx, dword [esp + 4]
and edx, dword [esp + 0x60]
and esi, 1
sub edi, ecx
sbb eax, edx
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x98]
sbb ebx, 0
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x18]
sbb dword [esp], 0
add eax, 0xffffffff
adc ebx, 0xffffffff
mov dword [esp + 0xb4], eax
adc edi, 0xffffffff
mov ecx, ebx
adc edx, 0xffffffff
mov dword [esp + 0xc], edi
mov dword [esp + 0x98], edx
or ecx, edx
mov edx, eax
mov eax, dword [esp]
or edx, edi
or edx, ecx
mov ecx, dword [esp + 0x9c]
jne 0x45cc10
jmp 0x45c47a
lea ecx, [esp + 0x70]
test eax, eax
mov dword [esp + 0xc0], ecx
jne 0x45c440
xor edx, edx
xor ebx, ebx
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea ecx, [esp + 0x28]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x50], edx
movsd qword [esp + 0x48], xmm3
movsd qword [esp + 0x40], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
mov esi, dword [esp + 0x28]
nop word cs:[eax + eax]
mov edx, dword [esp + 0x48]
mov ebx, ecx
cmp edx, 5
mov edi, edx
jb 0x45cdc3
mov edi, dword [esp + 0x24]
mov ebx, esi
test edi, edi
je 0x45cdeb
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45cdeb
cmp edx, 5
lea edi, [esp + 0x48]
jb 0x45cde2
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x24]
test edx, edx
je 0x45cdb0
dec edx
mov dword [edi], edx
jmp 0x45cdb0
mov edx, dword [esp + 0xd4]
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x14]
movsd xmm0, qword [esp + 0x48]
xor eax, eax
movsd qword [edx + 0x20], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [edx + 0x18], xmm2
movsd xmm2, qword [esp + 0x20]
mov ecx, esi
movsd qword [edx + 0x28], xmm0
or ecx, edi
setne al
movsd qword [edx + 0x10], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [edx], xmm2
movsd qword [edx + 8], xmm1
mov dword [edx + 0x30], 0
mov dword [edx + 0x3c], edi
mov dword [edx + 0x38], esi
mov dword [edx + 0x58], eax
jmp 0x45e8f6
lea eax, [edi + 8]
test ecx, ecx
je 0x45eef2
mov edx, ecx
mov ecx, dword [eax + ecx*8 - 4]
bsr eax, dword [eax + edx*8 - 8]
mov edx, 0x3f
cmovne edx, eax
bsr esi, ecx
xor edx, 0x1f
xor esi, 0x1f
add edx, 0x20
test ecx, ecx
mov ecx, dword [esp + 0x58]
cmove esi, edx
lea edx, [esp + 0x20]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], 2
lea ecx, [esp + 0x180]
push esi
call sym.__ZN14num_bigint_dig10algorithms3shl11biguint_shl17hdcd0fd11ac5cc011E.3237
add esp, 4
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], 2
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x20]
mov dword [esp + 0xd0], esi
push esi
call sym.__ZN14num_bigint_dig10algorithms3shl11biguint_shl17hdcd0fd11ac5cc011E.3237
add esp, 4
mov ebx, dword [esp + 0x208]
cmp ebx, 4
jbe 0x45ceef
mov ecx, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1e8]
jmp 0x45cef8
lea eax, [esp + 0x1e8]
mov ecx, ebx
test ecx, ecx
je 0x45ef0b
mov esi, dword [esp + 0x1a8]
cmp esi, 5
jb 0x45cf13
mov esi, dword [esp + 0x184]
cmp ebx, 5
jb 0x45cf1f
mov ebx, dword [esp + 0x1e4]
mov edx, dword [eax + ecx*8 - 8]
mov eax, dword [eax + ecx*8 - 4]
mov edi, esi
lea ecx, [esp + 0x20]
sub edi, ebx
mov dword [esp + 0x10], edx
lea edx, [edi + 1]
mov dword [esp + 0x60], eax
call sym.smallvec::SmallVec_LT_A_GT_::from_elem::h7ba2c9d226be70ce
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
inc edi
mov dword [esp + 0xa0], edi
movsd qword [esp + 0x330], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x328], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x338], xmm0
movsd qword [esp + 0x320], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x310], xmm2
movsd qword [esp + 0x318], xmm1
jne 0x45d12d
xor esi, esi
movsd xmm3, qword [esp + 0x338]
movsd xmm2, qword [esp + 0x330]
movsd xmm0, qword [esp + 0x310]
movsd xmm1, qword [esp + 0x318]
mov dword [esp + 0x60], esi
lea ecx, [esp + 0x28]
movsd qword [esp + 0x48], xmm3
movsd qword [esp + 0x40], xmm2
movsd xmm3, qword [esp + 0x328]
movsd xmm2, qword [esp + 0x320]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
mov esi, dword [esp + 0x28]
nop
mov edx, dword [esp + 0x48]
mov ebx, ecx
cmp edx, 5
mov edi, edx
jb 0x45d023
mov edi, dword [esp + 0x24]
mov ebx, esi
test edi, edi
je 0x45d04b
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45d04b
cmp edx, 5
lea edi, [esp + 0x48]
jb 0x45d042
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x24]
test edx, edx
je 0x45d010
dec edx
mov dword [edi], edx
jmp 0x45d010
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm3, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0x170], xmm1
movsd qword [esp + 0x168], xmm2
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x180]
movsd qword [esp + 0x150], xmm3
movsd xmm3, qword [esp + 0x1a8]
movsd qword [esp + 0x178], xmm0
movsd qword [esp + 0x1b0], xmm2
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [esp + 0x28]
movsd xmm2, qword [esp + 0x1a0]
movsd qword [esp + 0x1d8], xmm3
movsd xmm3, qword [esp + 0x198]
mov esi, dword [esp + 0x1b0]
movsd qword [esp + 0x158], xmm1
movsd xmm1, qword [esp + 0x188]
movsd qword [esp + 0x1d0], xmm2
movsd xmm2, qword [esp + 0x190]
movsd qword [esp + 0x1c8], xmm3
cmp esi, 2
movsd qword [esp + 0x1c0], xmm2
movsd qword [esp + 0x1b8], xmm1
jne 0x45e5a4
mov eax, dword [esp + 0x1b4]
jmp 0x45e5ab
lea eax, [ebx*8]
lea ecx, [esi*8]
sub ebx, esi
xor esi, esi
mov dword [esp + 8], 0
sub ecx, eax
mov dword [esp + 0x10c], ecx
jmp 0x45d17e
mov ebx, dword [esp + 0x110]
add dword [esp + 0x10c], 0xfffffff8
inc ebx
cmp dword [esp + 0xa0], 0
je 0x45cfa9
mov eax, dword [esp + 0x208]
mov dword [esp + 0x110], ebx
cmp eax, 5
jb 0x45d198
mov eax, dword [esp + 0x1e4]
mov ebx, dword [esp + 0x1a8]
cmp ebx, 5
mov edx, ebx
jb 0x45d1ad
mov edx, dword [esp + 0x184]
mov edi, dword [esp + 0xa0]
lea ecx, [edi + eax - 2]
dec edi
cmp ecx, edx
mov dword [esp + 0xa0], edi
jae 0x45d160
mov eax, dword [esp + 8]
mov edi, dword [esp + 4]
movsd xmm0, qword [esp + 0x380]
lea edx, [esp + 0x34c]
movsd xmm1, qword [esp + 0x378]
cmp esi, 5
mov dword [esp + 0x340], eax
mov eax, dword [esp]
mov dword [esp + 0x344], edi
cmovb edi, esi
test edi, edi
mov dword [esp + 0x348], eax
mov eax, dword [esp + 0x388]
movsd qword [edx + 0x10], xmm0
movsd xmm0, qword [esp + 0x370]
movsd qword [edx + 8], xmm1
mov dword [edx + 0x18], eax
movsd qword [edx], xmm0
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x368], esi
mov dword [esp + 0x36c], edx
je 0x45d254
cmp esi, 5
lea eax, [esp + 0x368]
lea edx, [esp + 0x344]
cmovae eax, edx
mov dword [eax], 0
cmp ebx, 5
lea esi, [esp + 0x188]
jb 0x45d26e
mov ebx, dword [esp + 0x184]
mov esi, dword [esp + 0x188]
cmp ebx, ecx
jb 0x45ee98
lea edx, [esi + ecx*8]
lea esi, [esi + ebx*8]
lea ecx, [esp + 0x340]
push esi
call fcn.004535c0
add esp, 4
movsd xmm1, qword [esp + 0x360]
movsd xmm2, qword [esp + 0x358]
movsd xmm0, qword [esp + 0x368]
lea ecx, [esp + 0x70]
mov dword [esp + 0xc0], ecx
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x350]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x340]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x348]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
mov eax, dword [esp + 0x90]
cmp eax, 5
jb 0x45d315
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc0], ecx
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x60]
test eax, eax
je 0x45dc50
mov ecx, edi
or ecx, ebx
je 0x45ee32
mov ecx, dword [esp + 0xc0]
xor edx, edx
lea eax, [ecx + eax*8]
xor ecx, ecx
jmp 0x45d3b1
mov dword [esp], 0
mov dword [esp + 0x64], 0
mov eax, dword [esp + 0x18]
shld eax, ecx, 1
add ecx, ecx
or ecx, dword [esp + 0x64]
or eax, dword [esp]
mov dword [esp + 4], ecx
mov ecx, eax
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 4]
mov ebx, dword [esp + 0x60]
mov eax, edi
imul ecx, edi
mul esi
imul esi, ebx
add esi, edx
add ecx, esi
mov esi, dword [esp + 0x50]
mov edx, ecx
mov ecx, dword [esp + 0x14]
sub ecx, eax
mov eax, dword [esp + 0xa4]
sbb esi, edx
mov edx, dword [esp + 0x58]
cmp dword [esp + 0xc0], eax
mov dword [eax], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], edx
mov edx, esi
je 0x45dc50
mov esi, dword [eax - 8]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x14], esi
mov esi, ebx
mov ebx, dword [eax - 4]
mov eax, edi
or eax, esi
sete byte [esp]
mov eax, ebx
mov dword [esp + 0x50], ebx
mov ebx, esi
mov esi, ecx
or eax, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb8], esi
or edx, ecx
or edx, eax
sete al
bsr edi, edi
bsr edx, ebx
or al, byte [esp]
xor edi, 0x1f
xor edx, 0x1f
add edi, 0x20
test ebx, ebx
mov dword [esp + 0x11c], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xb4], edi
cmovne edi, edx
bsr ecx, ecx
xor ecx, 0x1f
add edi, 0x40
mov byte [esp], al
mov eax, dword [esp + 0x5c]
add ecx, 0x20
bsr edx, eax
xor edx, 0x1f
test eax, eax
cmovne ecx, edx
bsr edx, dword [esp + 0x14]
bsr eax, ebx
xor eax, 0x1f
mov dword [esp + 0x114], eax
xor edx, 0x1f
add edx, 0x20
test ebx, ebx
mov dword [esp + 0x118], edx
cmovne edx, eax
mov eax, 0
add edx, 0x40
or esi, dword [esp + 0x5c]
mov esi, 0
cmovne edx, ecx
mov ecx, 0x7f
sub edi, edx
sbb esi, esi
mov edx, edi
mov edi, 0
sbb eax, eax
sbb edi, edi
cmp ecx, edx
mov ecx, 0
mov dword [esp + 4], eax
sbb ecx, esi
mov ecx, 0
mov dword [esp + 0xc], edi
sbb ecx, eax
mov ecx, 0
mov eax, 0
sbb ecx, edi
mov edi, dword [esp + 0x14]
setb cl
or cl, byte [esp]
cmovne ebx, eax
cmovne edi, eax
jne 0x45d5d0
mov eax, edx
mov ecx, esi
xor eax, 0x7f
or ecx, dword [esp + 0xc]
or eax, dword [esp + 4]
or ecx, eax
mov eax, dword [esp + 0xa4]
je 0x45d83a
mov eax, dword [esp + 0x14]
mov dword [esp + 0x300], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x304], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x2f8], 0
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f0], 0
mov dword [esp + 0x30c], eax
mov eax, edx
xor al, 0x7f
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
neg al
mov cl, ch
movsx eax, al
mov edi, dword [esp + eax + 0x308]
mov ebx, dword [esp + eax + 0x30c]
shld ebx, edi, cl
shl edi, cl
not cl
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x64], edi
mov ebx, esi
mov esi, edx
mov edi, dword [esp + eax + 0x304]
mov edx, dword [esp + eax + 0x300]
mov eax, edi
shr eax, 1
shr eax, cl
mov cl, ch
shld edi, edx, cl
shl edx, cl
mov ecx, dword [esp + 4]
mov dword [esp + 0x58], edx
mov edx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x1c], edi
add edx, 1
adc ebx, 0
adc ecx, 0
adc esi, 0
jae 0x45d5e0
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x54], 0
jmp 0x45d81d
mov eax, dword [esp + 0xa4]
jmp 0x45d83a
or dword [esp + 0x64], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2e4], 0
mov dword [esp + 0x2e0], 0
mov dword [esp + 0x2dc], eax
mov eax, edx
mov dword [esp + 4], ecx
mov ch, dl
mov dword [esp + 0xac], edx
shr al, 3
and ch, 7
and al, 0xf
mov cl, ch
movzx edx, al
mov eax, dword [esp + edx + 0x2dc]
mov dword [esp + 0xc], esi
mov esi, dword [esp + edx + 0x2d8]
mov dword [esp + 0x98], ebx
mov edi, esi
add esi, esi
shrd edi, eax, cl
mov ebx, edi
mov edi, dword [esp + edx + 0x2d4]
mov dword [esp + 8], edi
mov edi, dword [esp + 8]
shr edi, cl
not cl
shl esi, cl
mov cl, ch
or esi, edi
shr eax, cl
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xa8], esi
mov edx, dword [esp + edx + 0x2d0]
mov dword [esp], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x18], 0
mov dword [esp + 0x54], 0
shrd edx, eax, cl
mov eax, dword [esp + 0x10]
mov dword [esp + 0xb0], edx
add eax, 0xffffffff
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x60]
adc eax, 0xffffffff
mov dword [esp + 0xcc], eax
mov eax, 0
adc eax, 0xffffffff
mov dword [esp + 0xc8], eax
mov eax, 0
adc eax, 0xffffffff
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x98]
nop dword [eax]
mov dword [esp + 0x98], eax
mov eax, ebx
shld dword [esp], ebx, 1
mov ebx, dword [esp + 0xa8]
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x18], 0
shld eax, ebx, 1
shld ebx, esi, 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
shld esi, eax, 1
shld eax, ecx, 1
shld ecx, edi, 1
or ecx, edx
or eax, edx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
shld edi, ecx, 1
add ecx, ecx
or ecx, dword [esp + 0x54]
or edi, edx
cmp dword [esp + 0xbc], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xcc]
sbb ecx, ebx
mov ecx, dword [esp + 0xc8]
sbb ecx, dword [esp + 8]
mov ecx, dword [esp + 0xc4]
sbb ecx, dword [esp]
sar ecx, 0x1f
mov edx, ecx
mov edi, ecx
and ecx, dword [esp + 0x10]
and edi, dword [esp + 0x60]
and edx, 1
mov dword [esp + 0x54], edx
mov edx, dword [esp + 4]
sub esi, ecx
sbb ebx, edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 8]
sbb ebx, 0
sbb dword [esp], 0
add edi, 0xffffffff
adc eax, 0xffffffff
mov dword [esp + 0xac], edi
adc edx, 0xffffffff
mov ecx, eax
adc esi, 0xffffffff
or edi, edx
mov dword [esp + 4], edx
or ecx, esi
mov dword [esp + 0xc], esi
or edi, ecx
mov edi, dword [esp + 0x1c]
jne 0x45d710
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0xa4]
shld edi, ecx, 1
add ecx, ecx
or edi, dword [esp + 0x18]
or ecx, dword [esp + 0x54]
mov ebx, edi
mov edi, ecx
add eax, 0xfffffff8
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0xb8]
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x10]
or eax, ebx
mov eax, dword [esp + 0x14]
sete cl
or edx, esi
or eax, edi
or edx, eax
sete al
or al, cl
test ebx, ebx
mov ebx, dword [esp + 0xb4]
mov byte [esp], al
mov eax, dword [esp + 0x118]
cmovne ebx, dword [esp + 0x11c]
bsr ecx, edi
bsr edx, esi
xor ecx, 0x1f
xor edx, 0x1f
add ecx, 0x20
add ebx, 0x40
test esi, esi
cmovne ecx, edx
cmp dword [esp + 0x50], 0
mov edx, 0
cmovne eax, dword [esp + 0x114]
add eax, 0x40
or edi, esi
mov esi, 0
mov edi, 0
cmovne eax, ecx
mov ecx, 0x7f
sub ebx, eax
mov eax, 0
sbb eax, eax
sbb esi, esi
mov dword [esp + 0xc], eax
sbb edi, edi
cmp ecx, ebx
mov ecx, 0
sbb ecx, eax
mov ecx, 0
mov eax, 0
sbb ecx, esi
mov ecx, 0
sbb ecx, edi
setb cl
or cl, byte [esp]
mov ecx, dword [esp + 0x50]
cmovne ecx, eax
mov eax, dword [esp + 0x14]
cmovne eax, edx
mov dword [esp + 4], eax
jne 0x45d366
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
mov eax, ebx
xor eax, 0x7f
or eax, esi
or ecx, edi
or ecx, eax
mov ecx, dword [esp + 0x18]
je 0x45d366
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2bc], 0
mov dword [esp + 0x2b8], 0
mov dword [esp + 0x2b4], 0
mov dword [esp + 0x2b0], 0
mov dword [esp + 0x2cc], eax
mov eax, ebx
xor al, 0x7f
mov ch, al
shr al, 3
and al, 0xf
and ch, 7
neg al
mov cl, ch
movsx eax, al
mov edx, dword [esp + eax + 0x2c8]
mov esi, dword [esp + eax + 0x2cc]
shld esi, edx, cl
shl edx, cl
not cl
mov dword [esp + 0xac], esi
mov dword [esp + 0x98], edx
mov edx, dword [esp + eax + 0x2c4]
mov esi, dword [esp + eax + 0x2c0]
mov eax, edx
shr eax, 1
shr eax, cl
mov cl, ch
shld edx, esi, cl
shl esi, cl
add ebx, 1
adc dword [esp + 0xc], 0
mov ecx, esi
mov dword [esp + 0x18], edx
adc dword [esp + 0x54], 0
adc edi, 0
mov dword [esp + 0x9c], edi
jb 0x45d340
or dword [esp + 0x98], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x294], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2ac], 0
mov dword [esp + 0x2a8], 0
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x29c], eax
mov eax, ebx
mov dword [esp + 4], ecx
mov dword [esp + 0xb4], ebx
mov ch, bl
shr al, 3
and ch, 7
and al, 0xf
mov cl, ch
movzx eax, al
mov esi, dword [esp + eax + 0x298]
mov edi, dword [esp + eax + 0x29c]
mov edx, esi
add esi, esi
shrd edx, edi, cl
mov dword [esp + 0xb0], edx
mov ebx, dword [esp + eax + 0x294]
mov edx, ebx
shr edx, cl
not cl
shl esi, cl
mov cl, ch
or esi, edx
shr edi, cl
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x9c]
mov eax, dword [esp + eax + 0x290]
mov dword [esp], 0
mov dword [esp + 0x64], 0
shrd eax, ebx, cl
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x10]
add eax, 0xffffffff
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x60]
adc eax, 0xffffffff
mov dword [esp + 0xc8], eax
mov eax, 0
adc eax, 0xffffffff
mov dword [esp + 0xc4], eax
mov eax, 0
adc eax, 0xffffffff
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc]
nop
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x9c], esi
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0xbc]
mov esi, dword [esp + 0xac]
mov edx, dword [esp + 0x98]
shld edi, eax, 1
mov dword [esp + 8], edi
mov edi, dword [esp + 0xa8]
shld eax, edi, 1
shld edi, ebx, 1
shld ebx, esi, 1
shld esi, edx, 1
or esi, dword [esp]
mov dword [esp + 0xac], esi
mov esi, dword [esp + 0x18]
shld edx, esi, 1
shld esi, ecx, 1
add ecx, ecx
or ecx, dword [esp + 0x64]
or edx, dword [esp]
or esi, dword [esp]
cmp dword [esp + 0xcc], ebx
mov dword [esp], 0
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x98], edx
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x9c]
sbb ecx, edi
mov ecx, dword [esp + 0xc4]
sbb ecx, eax
mov ecx, dword [esp + 0x5c]
sbb ecx, dword [esp + 8]
sar ecx, 0x1f
mov edx, ecx
and edx, 1
mov dword [esp + 0x64], edx
mov edx, ecx
and ecx, dword [esp + 0x10]
and edx, dword [esp + 0x60]
sub ebx, ecx
sbb edi, edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xbc], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xa8], edi
sbb eax, 0
mov edi, dword [esp + 8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xc]
sbb edi, 0
add edx, 0xffffffff
adc eax, 0xffffffff
mov dword [esp + 0xb4], edx
adc ebx, 0xffffffff
mov ecx, eax
adc esi, 0xffffffff
or edx, ebx
or ecx, esi
or edx, ecx
mov ecx, dword [esp + 4]
jne 0x45db30
jmp 0x45d34f
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea ebx, [esp + 0x48]
movsd qword [esp + 0x48], xmm3
movsd qword [esp + 0x40], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
mov eax, dword [esp + 0x28]
nop dword [eax]
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x28]
cmp ecx, 5
mov esi, ecx
jb 0x45dcc5
mov esi, dword [esp + 0x24]
mov edx, eax
test esi, esi
je 0x45dcf0
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x45dcf0
cmp ecx, 5
mov edx, ebx
jb 0x45dce2
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x24]
test ecx, ecx
je 0x45dcb0
dec ecx
mov dword [edx], ecx
jmp 0x45dcb0
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
mov esi, dword [esp + 0x208]
movsd xmm0, qword [esp + 0x48]
lea eax, [esp + 0x1e8]
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [esp + 0x20]
cmp esi, 5
movsd qword [esp + 0x178], xmm0
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x150], xmm2
movsd qword [esp + 0x158], xmm1
jb 0x45dd6b
mov esi, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1e8]
mov ebx, dword [esp + 0x178]
lea edi, [esp + 0x158]
mov dword [esp], eax
cmp ebx, 5
jb 0x45dd8f
mov ebx, dword [esp + 0x154]
mov edi, dword [esp + 0x158]
lea edx, [esi + ebx + 1]
lea ecx, [esp + 0x68]
call sym.smallvec::SmallVec_LT_A_GT_::from_elem::h7ba2c9d226be70ce
mov edx, dword [esp + 0x90]
lea ecx, [esp + 0x70]
cmp edx, 5
jb 0x45ddb4
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
push ebx
push edi
push esi
push dword [esp + 0xc]
call sym.num_bigint_dig::algorithms::mac::mac3::h42a5ca016a6fba6d
add esp, 0x10
movsd xmm3, qword [esp + 0x90]
movsd xmm2, qword [esp + 0x88]
movsd xmm0, qword [esp + 0x68]
movsd xmm1, qword [esp + 0x70]
lea ebx, [esp + 0x48]
movsd qword [esp + 0x48], xmm3
movsd qword [esp + 0x40], xmm2
movsd xmm3, qword [esp + 0x80]
movsd xmm2, qword [esp + 0x78]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
mov eax, dword [esp + 0x28]
nop dword [eax]
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x28]
cmp ecx, 5
mov esi, ecx
jb 0x45de35
mov esi, dword [esp + 0x24]
mov edx, eax
test esi, esi
je 0x45e230
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x45e230
cmp ecx, 5
mov edx, ebx
jb 0x45de5a
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x24]
test ecx, ecx
je 0x45de20
dec ecx
mov dword [edx], ecx
jmp 0x45de20
jbe 0x45e1b0
lea ecx, [esp + 0x1b0]
call sym.__ZN80__LT_num_bigint_dig..biguint..BigUint_u20_as_u20_num_traits..identities..One_GT_3one17hd5e3b2e93dc74342E.3230
movsd xmm1, qword [esp + 0x170]
movsd xmm2, qword [esp + 0x168]
movsd xmm0, qword [esp + 0x178]
movsd xmm3, qword [esp + 0x150]
lea ecx, [esp + 0x70]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x160]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x1d8]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x68], xmm3
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x158]
movsd qword [esp + 0x48], xmm2
movsd xmm2, qword [esp + 0x1c8]
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x1d0]
movsd qword [esp + 0x38], xmm2
movsd xmm2, qword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
movsd qword [esp + 0x40], xmm1
movsd xmm1, qword [esp + 0x1c0]
movsd qword [esp + 0x20], xmm2
cmp edx, 5
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esp + 0x1b8]
movsd qword [esp + 0x28], xmm1
jb 0x45df57
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x48]
lea esi, [esp + 0x28]
lea ebx, [esp + 0x90]
cmp eax, 5
jb 0x45df73
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
push eax
push esi
call sym.num_bigint_dig::algorithms::sub::sub2::ha539638bb2640ef6
add esp, 8
mov eax, dword [esp + 0x70]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x70]
cmp ecx, 5
mov esi, ecx
jb 0x45dfa8
mov esi, dword [esp + 0x6c]
mov edx, eax
test esi, esi
je 0x45dfd0
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x45dfd0
cmp ecx, 5
mov edx, ebx
jb 0x45dfc5
mov ecx, dword [esp + 0x6c]
lea edx, [esp + 0x6c]
test ecx, ecx
je 0x45df90
dec ecx
mov dword [edx], ecx
jmp 0x45df90
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x80]
movsd xmm0, qword [esp + 0x90]
cmp dword [esp + 0x48], 5
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0xf0], xmm2
movsd xmm2, qword [esp + 0x68]
movsd qword [esp + 0x100], xmm0
movsd qword [esp + 0xe8], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xe0], xmm1
jb 0x45e04b
push dword [esp + 0x28]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
movsd xmm1, qword [esp + 0xe0]
movsd xmm2, qword [esp + 0xe8]
movsd xmm0, qword [esp + 0xd8]
lea ecx, [esp + 0x28]
lea ebx, [esp + 0x48]
movsd qword [esp + 0x158], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x160], xmm2
movsd xmm2, qword [esp + 0xf8]
movsd qword [esp + 0x150], xmm0
movsd qword [esp + 0x168], xmm1
movsd xmm1, qword [esp + 0x100]
movsd qword [esp + 0x170], xmm2
movsd xmm2, qword [esp + 0x148]
movsd qword [esp + 0x178], xmm1
movsd xmm1, qword [esp + 0x140]
movsd qword [esp + 0x48], xmm2
movsd xmm2, qword [esp + 0x138]
movsd qword [esp + 0x40], xmm1
movsd xmm1, qword [esp + 0x130]
movsd qword [esp + 0x38], xmm2
movsd xmm2, qword [esp + 0x120]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esp + 0x128]
movsd qword [esp + 0x20], xmm2
movsd qword [esp + 0x28], xmm1
mov edx, dword [esp + 0x48]
cmp edx, 5
jb 0x45e12a
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x208]
lea esi, [esp + 0x1e8]
cmp eax, 5
jb 0x45e14b
mov eax, dword [esp + 0x1e4]
mov esi, dword [esp + 0x1e8]
push eax
push esi
call sym.num_bigint_dig::algorithms::sub::sub2::ha539638bb2640ef6
add esp, 8
mov eax, dword [esp + 0x28]
nop dword [eax]
mov ecx, dword [esp + 0x48]
lea edx, [esp + 0x28]
cmp ecx, 5
mov esi, ecx
jb 0x45e175
mov esi, dword [esp + 0x24]
mov edx, eax
test esi, esi
je 0x45e230
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x45e230
cmp ecx, 5
mov edx, ebx
jb 0x45e19a
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x24]
test ecx, ecx
je 0x45e160
dec ecx
mov dword [edx], ecx
jmp 0x45e160
mov edi, ecx
mov edi, dword [esp + 0x10c]
mov eax, ecx
lea esi, [esi + edx*8 - 8]
shl edx, 3
shl eax, 3
sub edi, edx
mov dword [esp + 8], edi
nop dword [eax + eax]
test eax, eax
mov dword [esp], eax
je 0x45e320
cmp dword [esp + 8], 0
je 0x45e320
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edi, dword [ecx + eax - 4]
mov ebx, dword [ecx + eax - 8]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp ebx, eax
mov edx, edi
sbb edx, ecx
jb 0x45e320
mov edx, dword [esp]
add dword [esp + 8], 8
add esi, 0xfffffff8
add edx, 0xfffffff8
cmp eax, ebx
sbb ecx, edi
mov eax, edx
jae 0x45e1d0
jmp 0x45de76
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
lea eax, [esp + 0x128]
mov dword [esp + 4], eax
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x138], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x148], xmm0
movsd qword [esp + 0x130], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x120], xmm2
movsd qword [esp + 0x128], xmm1
mov ecx, dword [esp + 0x148]
cmp ecx, 5
jb 0x45e2e0
mov ecx, dword [esp + 0x124]
mov eax, dword [esp + 0x128]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x1a8]
lea esi, [esp + 0x188]
cmp edx, 5
jae 0x45e2f3
mov eax, edx
sub eax, dword [esp + 0xa0]
jae 0x45e310
jmp 0x45ee69
mov edx, dword [esp + 0x1a8]
lea esi, [esp + 0x188]
cmp edx, 5
jb 0x45e2c6
mov edx, dword [esp + 0x184]
mov esi, dword [esp + 0x188]
mov eax, edx
sub eax, dword [esp + 0xa0]
jb 0x45ee69
cmp ecx, eax
jae 0x45de70
nop dword [eax + eax]
mov esi, dword [esp + 0x338]
lea eax, [esp + 0x318]
cmp esi, 5
jb 0x45e341
mov esi, dword [esp + 0x314]
mov eax, dword [esp + 0x318]
mov ecx, esi
mov ebx, dword [esp + 0x110]
sub ecx, dword [esp + 0xa0]
jb 0x45eea9
mov edi, dword [esp + 0x178]
lea edx, [esp + 0x158]
cmp edi, 5
jb 0x45e378
mov edi, dword [esp + 0x154]
mov edx, dword [esp + 0x158]
cmp ecx, edi
jb 0x45eec1
test edi, edi
je 0x45e450
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x58], edx
mov dword [esp + 4], edi
xor ebx, ebx
xor edx, edx
mov dword [esp + 0xc], esi
mov dword [esp], 0
lea ecx, [eax + ecx*8]
add eax, dword [esp + 0x10c]
lea ecx, [ecx + edi*8]
xor edi, edi
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov dword [esp + 0x1c], eax
nop
mov eax, dword [esp + 0x1c]
mov esi, dword [esp]
add edi, dword [eax + edx*8]
adc ebx, dword [eax + edx*8 + 4]
adc esi, 0
mov dword [esp + 8], esi
mov esi, dword [esp + 0x58]
adc ecx, 0
add edi, dword [esi + edx*8]
adc ebx, dword [esi + edx*8 + 4]
mov dword [eax + edx*8], edi
mov edi, dword [esp + 8]
mov dword [eax + edx*8 + 4], ebx
mov ebx, ecx
adc edi, 0
lea edx, [edx + 1]
mov ecx, dword [esp]
adc ebx, 0
cmp dword [esp + 4], edx
jne 0x45e3c0
cmp edi, 1
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x18]
sbb ebx, 0
mov ebx, dword [esp + 0x110]
jb 0x45e450
add ecx, ebx
shl eax, 3
shl ecx, 3
sub ecx, eax
nop word [eax + eax]
test ecx, ecx
je 0x45e450
add ecx, 0xfffffff8
add dword [edx], 1
adc dword [edx + 4], 0
lea edx, [edx + 8]
jb 0x45e430
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [esp + 0x1a8]
lea ecx, [esp + 0x188]
cmp eax, 5
jb 0x45e471
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x188]
mov edx, eax
sub edx, dword [esp + 0xa0]
jb 0x45eeda
mov eax, dword [esp + 0x148]
lea esi, [esp + 0x128]
cmp eax, 5
jb 0x45e4a1
mov eax, dword [esp + 0x124]
mov esi, dword [esp + 0x128]
mov edi, dword [esp + 0xa0]
lea ecx, [ecx + edi*8]
push eax
push esi
call sym.num_bigint_dig::algorithms::sub::sub2::ha539638bb2640ef6
add esp, 8
mov eax, dword [esp + 0x188]
nop dword [eax]
mov ecx, dword [esp + 0x1a8]
lea edx, [esp + 0x188]
cmp ecx, 5
mov esi, ecx
jb 0x45e4de
mov esi, dword [esp + 0x184]
mov edx, eax
test esi, esi
je 0x45e510
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x45e510
cmp ecx, 5
lea edx, [esp + 0x1a8]
jb 0x45e506
mov ecx, dword [esp + 0x184]
lea edx, [esp + 0x184]
test ecx, ecx
je 0x45e4c0
dec ecx
mov dword [edx], ecx
jmp 0x45e4c0
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x17c]
mov esi, dword [esp + 0x178]
cmp dword [esp + 0x148], 5
mov dword [esp + 8], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x1c], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x158]
mov dword [esp], eax
lea eax, [esp + 0x158]
movsd xmm1, qword [eax + 0xc]
movsd xmm0, qword [eax + 4]
movsd qword [esp + 0x378], xmm1
movsd xmm1, qword [eax + 0x14]
mov eax, dword [eax + 0x1c]
movsd qword [esp + 0x370], xmm0
movsd qword [esp + 0x380], xmm1
mov dword [esp + 0x388], eax
jb 0x45d167
push dword [esp + 0x128]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x45d167
lea eax, [esp + 0x1b0]
mov ecx, dword [esp + 0xd0]
mov edx, dword [eax + 0x28]
shr ecx, 6
cmp edx, 5
jb 0x45e5c0
mov edx, dword [eax + 4]
cmp ecx, edx
jae 0x45e5eb
cmp esi, 2
jne 0x45e8fe
mov esi, dword [esp + 0x1b4]
mov edx, dword [esi + 0x28]
cmp edx, 4
jbe 0x45e97e
mov edx, dword [esi + 4]
mov esi, dword [esi + 8]
jmp 0x45e981
lea ecx, [esp + 0x20]
lea edx, [esp + 0xd8]
mov dword [esp + 0xd8], 4
mov dword [esp + 0xdc], 0
mov dword [esp + 0x48], 0
mov dword [esp + 8], esi
mov dword [esp + 0xe0], 2
mov dword [esp + 0x20], 0
call fcn.00453330
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
lea esi, [esp + 0x70]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
mov edx, dword [esp + 0x70]
nop dword [eax]
mov edi, dword [esp + 0x90]
mov ecx, esi
cmp edi, 5
mov ebx, edi
jb 0x45e6a6
mov ebx, dword [esp + 0x6c]
mov ecx, edx
test ebx, ebx
je 0x45e6d1
mov eax, dword [ecx + ebx*8 - 8]
or eax, dword [ecx + ebx*8 - 4]
jne 0x45e6d1
cmp edi, 5
lea ecx, [esp + 0x90]
jb 0x45e6c8
mov edi, dword [esp + 0x6c]
lea ecx, [esp + 0x6c]
test edi, edi
je 0x45e690
dec edi
mov dword [ecx], edi
jmp 0x45e690
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x80]
cmp dword [esp + 8], 2
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x138], xmm2
movsd xmm2, qword [esp + 0x68]
movsd qword [esp + 0x148], xmm0
movsd qword [esp + 0x130], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0x120], xmm2
movsd qword [esp + 0x128], xmm1
je 0x45ed45
cmp dword [esp + 0x1d8], 5
jb 0x45ed45
push dword [esp + 0x1b8]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x45ed45
lea ecx, [esp + 0xd8]
call sym.__ZN80__LT_num_bigint_dig..biguint..BigUint_u20_as_u20_num_traits..identities..One_GT_3one17hd5e3b2e93dc74342E.3230
lea ecx, [esp + 0x20]
lea edx, [esp + 0x1b0]
mov dword [esp + 0x1b0], 4
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x1b8], 2
mov dword [esp + 0x20], 0
call fcn.00453330
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
lea ecx, [esp + 0x70]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
mov edx, dword [esp + 0x70]
nop dword [eax]
mov esi, dword [esp + 0x90]
mov ebx, ecx
cmp esi, 5
mov edi, esi
jb 0x45e826
mov edi, dword [esp + 0x6c]
mov ebx, edx
test edi, edi
je 0x45e851
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45e851
cmp esi, 5
lea edi, [esp + 0x90]
jb 0x45e848
mov esi, dword [esp + 0x6c]
lea edi, [esp + 0x6c]
test esi, esi
je 0x45e810
dec esi
mov dword [edi], esi
jmp 0x45e810
movsd xmm0, qword [esp + 0x90]
mov eax, dword [esp + 0xd4]
movsd xmm1, qword [esp + 0x88]
movsd xmm2, qword [esp + 0x80]
movsd xmm3, qword [esp + 0x68]
movsd qword [eax + 0x58], xmm0
movsd qword [eax + 0x50], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [eax + 0x48], xmm2
movsd xmm2, qword [esp + 0x100]
movsd qword [eax + 0x40], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [eax + 0x38], xmm1
movsd xmm1, qword [esp + 0xf8]
movsd qword [eax + 0x30], xmm3
movsd qword [eax + 0x28], xmm2
movsd xmm2, qword [esp + 0xf0]
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0xe8]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esp + 0xd8]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0xe0]
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movsd xmm1, qword [esp + 0x1a0]
movsd xmm2, qword [esp + 0x198]
movsd xmm0, qword [esp + 0x1a8]
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x190]
movsd qword [esp + 0x80], xmm2
movsd xmm2, qword [esp + 0x180]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0x188]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
mov edx, dword [esp + 0x90]
cmp edx, 4
jbe 0x45ea0d
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
jmp 0x45ea11
add esi, 8
cmp edx, ecx
jb 0x45ef24
lea eax, [esi + ecx*8]
lea esi, [esi + edx*8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x20]
mov edx, eax
push esi
call fcn.004535c0
add esp, 4
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movq xmm0, qword [esp + 0x48]
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0xf0], xmm2
movsd xmm2, qword [esp + 0x20]
movq qword [esp + 0x100], xmm0
movsd qword [esp + 0xe8], xmm1
movq xmm1, qword [esp + 0x28]
movsd qword [esp + 0xd8], xmm2
movq qword [esp + 0xe0], xmm1
jmp 0x45eab3
lea esi, [esp + 0x70]
cmp edx, ecx
jb 0x45ef33
lea eax, [esi + ecx*8]
lea esi, [esi + edx*8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x20]
mov edx, eax
push esi
call fcn.004535c0
add esp, 4
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movq xmm0, qword [esp + 0x48]
cmp dword [esp + 0x90], 5
movsd qword [esp + 0xf8], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0xf0], xmm2
movsd xmm2, qword [esp + 0x20]
movq qword [esp + 0x100], xmm0
movsd qword [esp + 0xe8], xmm1
movq xmm1, qword [esp + 0x28]
movsd qword [esp + 0xd8], xmm2
movq qword [esp + 0xe0], xmm1
jb 0x45eab3
push dword [esp + 0x70]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
test byte [esp + 0xd0], 0x3f
je 0x45ec4a
mov edi, dword [esp + 0x100]
cmp edi, 4
jbe 0x45eadd
mov edi, dword [esp + 0xdc]
mov esi, dword [esp + 0xe0]
jmp 0x45eae4
lea esi, [esp + 0xe0]
mov eax, dword [esp + 0xd0]
test edi, edi
je 0x45ec4a
lea ecx, [esi + edi*8]
mov ebx, eax
and eax, 0x3f
mov dword [esp + 8], ecx
lea ecx, [edi - 1]
neg ebx
mov edx, eax
and ecx, 0x1fffffff
and ebx, 0x3f
cmp ecx, 3
mov dword [esp + 0x58], ebx
jae 0x45eb27
mov ecx, dword [esp + 8]
mov eax, edx
xor edx, edx
xor edi, edi
jmp 0x45ebc6
inc ecx
movd xmm0, ebx
movd xmm1, edx
lea edi, [esi + edi*8 - 0x10]
xorpd xmm2, xmm2
mov dword [esp + 4], ecx
and ecx, 0xfffffffc
lea eax, [ecx*8]
sub dword [esp + 8], eax
mov eax, edx
mov edx, ecx
nop
movdqu xmm4, xmmword [edi]
movdqu xmm3, xmmword [edi - 0x10]
pshufd xmm5, xmm4, 0x4e
pshufd xmm4, xmm3, 0x4e
movdqa xmm3, xmm5
psrlq xmm5, xmm1
psllq xmm3, xmm0
pshufd xmm5, xmm5, 0x4e
movsd xmm2, xmm3
por xmm5, xmm2
movdqa xmm2, xmm4
psrlq xmm4, xmm1
psllq xmm2, xmm0
pshufd xmm4, xmm4, 0x4e
movdqu xmmword [edi], xmm5
movsd xmm3, xmm2
por xmm4, xmm3
movdqu xmmword [edi - 0x10], xmm4
add edi, 0xffffffe0
add edx, 0xfffffffc
jne 0x45eb50
cmp dword [esp + 4], ecx
mov ecx, dword [esp + 8]
je 0x45ec4a
pshufd xmm0, xmm2, 0xff
pshufd xmm1, xmm2, 0xee
movd edi, xmm0
movd edx, xmm1
mov dword [esp + 0xd0], eax
mov dword [esp + 0x10], esi
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, ecx
mov ebx, dword [ecx - 8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], edx
mov dword [esp + 0x1c], edi
mov esi, dword [eax - 4]
mov eax, 0
mov edx, ebx
mov edi, esi
shl edx, cl
shld edi, ebx, cl
test cl, 0x20
mov ecx, dword [esp + 0xd0]
cmovne edi, edx
cmovne edx, eax
mov eax, esi
shrd ebx, esi, cl
shr eax, cl
test cl, 0x20
mov ecx, 0
mov esi, dword [esp + 0x10]
cmovne ebx, eax
cmovne eax, ecx
mov ecx, dword [esp + 8]
or ebx, dword [esp + 4]
or eax, dword [esp + 0x1c]
mov dword [ecx - 8], ebx
lea ebx, [ecx - 8]
mov dword [ecx - 4], eax
cmp ebx, esi
mov ecx, ebx
jne 0x45ebe0
movsd xmm3, qword [esp + 0x100]
movsd xmm2, qword [esp + 0xf8]
movsd xmm0, qword [esp + 0xd8]
movsd xmm1, qword [esp + 0xe0]
lea ecx, [esp + 0x28]
movsd qword [esp + 0x48], xmm3
movsd qword [esp + 0x40], xmm2
movsd xmm3, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
mov esi, dword [esp + 0x28]
nop dword [eax]
mov edx, dword [esp + 0x48]
mov ebx, ecx
cmp edx, 5
mov edi, edx
jb 0x45ecc3
mov edi, dword [esp + 0x24]
mov ebx, esi
test edi, edi
je 0x45eceb
mov eax, dword [ebx + edi*8 - 8]
or eax, dword [ebx + edi*8 - 4]
jne 0x45eceb
cmp edx, 5
lea edi, [esp + 0x48]
jb 0x45ece2
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x24]
test edx, edx
je 0x45ecb0
dec edx
mov dword [edi], edx
jmp 0x45ecb0
movsd xmm1, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x48]
movsd qword [esp + 0x140], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x138], xmm2
movsd xmm2, qword [esp + 0x20]
movsd qword [esp + 0x148], xmm0
movsd qword [esp + 0x130], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x120], xmm2
movsd qword [esp + 0x128], xmm1
mov eax, dword [esp + 0xd4]
movsd xmm1, qword [esp + 0x170]
movsd xmm2, qword [esp + 0x168]
movsd xmm0, qword [esp + 0x178]
movsd xmm3, qword [esp + 0x120]
cmp dword [esp + 0x60], 5
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x160]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esp + 0x150]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0x158]
movsd qword [eax], xmm2
movsd xmm2, qword [esp + 0x130]
movsd qword [eax + 8], xmm1
movsd xmm1, qword [esp + 0x128]
movsd qword [eax + 0x40], xmm2
movsd xmm2, qword [esp + 0x140]
movsd qword [eax + 0x30], xmm3
movsd qword [eax + 0x38], xmm1
movsd xmm1, qword [esp + 0x138]
movsd qword [eax + 0x50], xmm2
movsd qword [eax + 0x48], xmm1
movsd xmm1, qword [esp + 0x148]
movsd qword [eax + 0x58], xmm1
mov eax, dword [esp]
jb 0x45ee0b
push eax
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x208], 5
jb 0x45e8f6
push dword [esp + 0x1e8]
push 0
push dword [0x5da100]
call sub.kernel32.dll_HeapFree
jmp 0x45e8f6
mov ecx, 0x569300
mov edx, 0x19
push 0x5692ec
call dbg.panic
add esp, 4
ud2
xor ecx, ecx
xor edx, edx
push 0x56937c
jmp 0x45ee5f
xor ecx, ecx
xor edx, edx
push 0x56938c
call dbg.panic_bounds_check
add esp, 4
ud2
mov ecx, dword [esp + 0xa0]
push 0x56932c
call dbg.slice_start_index_len_fail
add esp, 4
ud2
mov ecx, 0x56939c
mov edx, 0xe
push 0x5693ac
call dbg.panic
add esp, 4
ud2
mov edx, ebx
push 0x56931c
call dbg.slice_start_index_len_fail
add esp, 4
ud2
mov ecx, dword [esp + 0xa0]
mov edx, esi
push 0x56933c
call dbg.slice_start_index_len_fail
add esp, 4
ud2
mov ecx, str.assertion_failed:_mid___self.len__
mov edx, 0x23
push 0x568f3c
call dbg.panic
add esp, 4
ud2
mov ecx, dword [esp + 0xa0]
mov edx, eax
push 0x56934c
call dbg.slice_start_index_len_fail
add esp, 4
ud2
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
mov edx, 0x2b
push 0x56936c
call dbg.panic
add esp, 4
ud2
mov ecx, str.called__Option::unwrap____on_a__None__valueC:UsersTEST.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.5_srcwin.rs
mov edx, 0x2b
push 0x56935c
call dbg.panic
add esp, 4
ud2
push 0x5694bc
call dbg.slice_start_index_len_fail
add esp, 4
ud2
push 0x5694ac
call dbg.slice_start_index_len_fail
add esp, 4
ud2