Function at 0x4665d3
Capabilities:
Accept command line arguments
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xd20
mov edi, dword [edx]
call 0x4665e9
pop eax
cmp byte [edi + 0x256], 0
je 0x4665fe
mov dword [ecx], 8
jmp 0x46697d
mov ebx, edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x54], ecx
lea esi, [esp + 0x3c8]
mov edx, edi
mov ecx, esi
call fcn.004639b1
mov eax, dword [esi]
cmp eax, 8
jne 0x466675
lea esi, [esp + 0x3c8]
mov dword [esp + 0x50], edi
lea edi, [esp + 0x8a0]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0xc0], eax
mov eax, dword [esi + 0xc]
mov dword [edi], ecx
mov dword [esp + 0xac], ecx
mov dword [edi + 4], eax
xor edx, edx
mov ecx, esi
inc edx
push edi
call fcn.00474427
pop eax
cmp dword [esi], 0
je 0x4666c8
mov ecx, dword [esp + 0x3cc]
cmp cl, 4
mov al, ch
je 0x4666e7
mov dword [esp + 0x30], ecx
jmp 0x466717
mov ecx, dword [esp + 0x3cc]
mov edx, dword [esp + 0x3d0]
mov esi, dword [esp + 0x3d4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ecx
mov ecx, edx
shr ecx, 8
mov eax, dword [esp + 0x3d8]
mov ebx, dword [esp + 0x3e4]
mov esi, dword [esp + 0x3e0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x54]
jmp 0x466948
mov eax, dword [esp + 0x3cc]
mov edx, dword [esp + 0x3d0]
lea ecx, [esp + 0x570]
mov dword [ecx], eax
mov dword [ecx + 4], edx
call fcn.00474447
mov dword [esp + 0x10], eax
lea esi, [esp + 0x3c8]
lea edi, [esp + 0x8a0]
mov ecx, esi
mov edx, edi
call fcn.00477d22
mov esi, dword [esi]
cmp esi, 0x80000001
jne 0x466723
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x30], eax
mov edi, dword [esp + 0x3d0]
jmp 0x466916
mov eax, edi
lea edi, [esp + 0x3c8]
mov ecx, dword [edi + 4]
mov dword [esp + 8], ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x14], ecx
push 0x1f
pop edx
mov ecx, edi
push eax
call fcn.00474427
pop eax
cmp dword [edi], 0
je 0x466762
mov eax, dword [esp + 0x3cc]
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x30], eax
jmp 0x46690b
mov dword [esp + 0xbc], ebx
lea ebx, [esp + 0x3c8]
lea edi, [esp + 0x570]
mov dword [esp + 0x18], esi
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ecx, edi
call fcn.00474342
mov dword [esp + 0x1c], eax
push 8
pop edx
mov ecx, edi
call fcn.004743aa
and dword [ebx + 4], 0
and dword [ebx], 0
mov esi, edx
mov ecx, ebx
push 8
pop edx
push 0x6415a4
push esi
push eax
call fcn.0043613b
add esp, 0xc
movq xmm0, qword [ebx]
movdqa xmmword [esp + 0x90], xmm0
xor edx, edx
mov ecx, edi
inc edx
call fcn.00477c08
mov ecx, edi
call fcn.004743e5
mov ebx, eax
mov ecx, edi
call fcn.00474447
mov byte [esp + 0x20], al
lea esi, [esp + 0x3c8]
mov edx, edi
mov ecx, esi
call fcn.00477c2a
cmp byte [esi], 4
jne 0x466802
movzx eax, word [esp + 0x3ca]
jmp 0x466814
mov eax, dword [esp + 0x3c8]
cmp al, 4
jne 0x4668fc
shr eax, 0x10
mov dword [esp + 0x30], eax
lea esi, [esp + 0x570]
mov ecx, esi
call fcn.004743e5
mov edi, eax
mov ecx, esi
call fcn.00474447
mov byte [esp + 0x4c], al
push 0xa
pop edx
mov ecx, esi
call fcn.00477c08
mov edx, 0x80000001
mov eax, ebx
test bx, bx
mov esi, 0x80000001
js 0x466899
movzx ebx, ax
movzx eax, di
xor ecx, ecx
mov edi, eax
inc ecx
shl edi, 0x10
test al, 8
mov dword [esp + 0x80], ecx
jne 0x466875
movdqa xmm0, xmmword [esp + 0x90]
jmp 0x466995
lea ecx, [esp + 0x8a0]
call fcn.0047622c
test edx, edx
je 0x466985
cmp byte [eax + edx - 1], 0
lea ecx, [edx - 1]
cmovne ecx, edx
jmp 0x466987
mov al, byte [esp + 0x4c]
mov word [esp + 0x80], di
add al, 0xf8
movzx ecx, al
cmp al, 0xe
push 0xd
pop eax
cmovge eax, ecx
movzx edx, al
lea ecx, [esp + 0x8a0]
call fcn.0047435b
mov esi, edx
lea edi, [esp + 0x3c8]
mov edx, eax
mov ecx, edi
push esi
call fcn.0047436d
pop eax
cmp dword [edi], 0
je 0x466b9e
mov eax, dword [esp + 0x3cc]
mov edi, dword [esp + 0x3d0]
mov dword [esp + 0x30], eax
mov ecx, 0x80000001
call fcn.0045c60e
jmp 0x466907
mov edi, dword [esp + 0x3cc]
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.004767d9
mov eax, edi
mov dword [esp + 0x10], edi
shr edi, 8
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xac]
mov ecx, dword [esp + 0xc0]
call fcn.00563c9c
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
mov ecx, edi
mov edi, dword [esp + 0xc]
mov dword [eax], edi
mov edi, dword [esp + 0x30]
mov dword [eax + 4], edi
mov byte [eax + 8], dl
mov edx, dword [esp + 0x14]
mov word [eax + 9], cx
shr ecx, 0x10
mov edi, dword [esp + 8]
mov byte [eax + 0xb], cl
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x18]
mov dword [eax + 0x10], edi
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
movdqa xmm0, xmmword [esp + 0x90]
mov edx, 0x80000000
mov dword [esp + 0x35c], esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x360], esi
mov esi, dword [esp + 0x60]
mov dword [esp + 0x364], esi
mov dword [esp + 0x368], edx
mov dword [esp + 0x36c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x370], ecx
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x374], eax
mov al, byte [esp + 0x20]
movq qword [esp + 0x378], xmm0
mov dword [esp + 0x380], ebx
mov dword [esp + 0x384], edi
mov word [esp + 0x388], dx
mov byte [esp + 0x38a], cl
mov byte [esp + 0x38b], al
mov al, byte [esp + 0x4c]
mov byte [esp + 0x38c], al
movzx eax, word [esp + 0x1c0]
mov word [esp + 0x38d], ax
mov al, byte [esp + 0x1c2]
mov byte [esp + 0x38f], al
mov eax, dword [esp + 0x18]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x354], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x358], eax
push 3
pop eax
cmp cl, 0xa
jne 0x466a77
or edi, ebx
bt edi, 9
jb 0x466a94
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], 0x80000006
mov dword [esp + 0x10], eax
jmp 0x466a83
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], 0x80000003
lea ecx, [esp + 0x350]
call fcn.00471795
jmp 0x466927
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax]
mov esi, edx
call fcn.00471711
mov ecx, dword [esp + 0x50]
and eax, edi
mov dword [ecx + 0x24c], eax
mov eax, dword [esp + 0x1c]
mov word [ecx + 0x254], si
mov dword [ecx + 0x250], eax
mov al, byte [esp + 0x20]
mov byte [ecx + 0x259], al
mov eax, dword [0x7060a4]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x466b41
xor ecx, ecx
xor eax, eax
inc ecx
lock cmpxchg dword [0x7060a4], ecx
jne 0x466b41
lea esi, [esp + 0x3c8]
mov edx, 0x642104
mov ecx, esi
push 0x24
call fcn.0048950a
pop eax
lea edi, [esp + 0x570]
mov edx, esi
mov ecx, edi
push 0x642128
call fcn.004762e9
pop eax
mov ecx, 0x706094
call fcn.00476331
movq xmm0, qword [edi]
movq xmm1, qword [edi + 8]
movq qword [0x70609c], xmm1
movq qword [0x706094], xmm0
push 2
pop eax
xchg dword [0x7060a4], eax
jmp 0x466b5e
mov eax, dword [eax*4 + 0x46c054]
add eax, edx
jmp eax
mov ecx, dword [esp + 0x354]
mov edx, dword [esp + 0x358]
call fcn.0047420b
mov esi, edx
mov edx, dword [0x706094]
lea edi, [esp + 0x3c8]
mov ecx, edi
push esi
push eax
push dword [0x706098]
call fcn.00476d04
add esp, 0xc
cmp dword [edi], 2
jne 0x466bd7
xor eax, eax
jmp 0x466cf0
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3d0]
mov dword [esp + 0x60], eax
mov ecx, 0x80000001
call fcn.0045c60e
movzx edi, word [esp + 0x80]
mov esi, 0x80000000
mov eax, ebx
mov edx, 0x80000001
jmp 0x46684e
lea esi, [esp + 0x570]
lea ebx, [esp + 0x3c8]
mov ecx, esi
mov edx, ebx
push 1
call fcn.00477119
pop eax
lea edi, [esp + 0x100]
mov edx, esi
mov ecx, edi
push 0x6417c0
call fcn.004771ca
pop eax
mov ecx, edi
call fcn.004771f5
mov esi, edx
lea edi, [esp + 0x570]
mov edx, eax
mov ecx, edi
push esi
call fcn.004792f7
pop eax
mov ecx, edi
mov edx, 0x6417d0
call fcn.004793a9
mov edi, eax
lea esi, [esp + 0x570]
mov edx, ebx
mov ecx, esi
push 2
call fcn.00477119
pop eax
lea ebx, [esp + 0x1c0]
mov edx, esi
mov ecx, ebx
push 0x6417e0
call fcn.004771ca
pop eax
mov ecx, ebx
call fcn.004771f5
mov esi, edx
lea ebx, [esp + 0x570]
mov edx, eax
mov ecx, ebx
push esi
call fcn.004792f7
pop eax
mov ecx, ebx
mov edx, 0x6417f0
call fcn.004793a9
mov word [esp + 0x30], ax
lea esi, [esp + 0x570]
lea edx, [esp + 0x3c8]
mov ecx, esi
push 3
call fcn.00477119
pop eax
lea ebx, [esp + 0x8a0]
mov edx, esi
mov ecx, ebx
push 0x641800
call fcn.004771ca
pop eax
mov ecx, ebx
call fcn.004771f5
mov esi, edx
lea ebx, [esp + 0x570]
mov edx, eax
mov ecx, ebx
push esi
call fcn.004792f7
pop eax
mov ecx, ebx
mov edx, 0x641810
call fcn.004793a9
mov esi, eax
lea ecx, [esp + 0x3c8]
call fcn.00474b2a
movzx ecx, word [esp + 0x30]
xor eax, eax
inc eax
mov edx, dword [esp + 0x50]
shl esi, 0x10
movzx ecx, cx
shl edi, 0x10
movzx eax, ax
or ecx, esi
or eax, edi
mov dword [edx + 0x1ec], ecx
mov dword [edx + 0x1e8], eax
mov eax, dword [0x706090]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x466d86
xor ecx, ecx
xor eax, eax
inc ecx
lock cmpxchg dword [0x706090], ecx
jne 0x466d86
lea esi, [esp + 0x3c8]
mov edx, 0x6420c4
mov ecx, esi
push 0x2e
call fcn.0048950a
pop eax
lea edi, [esp + 0x570]
mov edx, esi
mov ecx, edi
push 0x6420f4
call fcn.004762e9
pop eax
mov ecx, 0x706080
call fcn.00476331
movq xmm0, qword [edi]
movq xmm1, qword [edi + 8]
movq qword [0x706088], xmm1
movq qword [0x706080], xmm0
push 2
pop eax
xchg dword [0x706090], eax
jmp 0x466da3
mov eax, dword [eax*4 + 0x46c064]
add eax, edx
jmp eax
mov ecx, dword [esp + 0x354]
mov edx, dword [esp + 0x358]
call fcn.0047420b
mov esi, edx
mov edx, dword [0x706080]
lea edi, [esp + 0x3c8]
mov ecx, edi
push esi
push eax
push dword [0x706084]
call fcn.00476d04
add esp, 0xc
cmp dword [edi], 2
jne 0x466de3
xor eax, eax
jmp 0x466efc
lea esi, [esp + 0x570]
lea ebx, [esp + 0x3c8]
mov ecx, esi
mov edx, ebx
push 1
call fcn.00477119
pop eax
lea edi, [esp + 0x100]
mov edx, esi
mov ecx, edi
push 0x641820
call fcn.004771ca
pop eax
mov ecx, edi
call fcn.004771f5
mov esi, edx
lea edi, [esp + 0x570]
mov edx, eax
mov ecx, edi
push esi
call fcn.004792f7
pop eax
mov ecx, edi
mov edx, 0x641830
call fcn.004793a9
mov edi, eax
lea esi, [esp + 0x570]
mov edx, ebx
mov ecx, esi
push 2
call fcn.00477119
pop eax
lea ebx, [esp + 0x1c0]
mov edx, esi
mov ecx, ebx
push 0x641840
call fcn.004771ca
pop eax
mov ecx, ebx
call fcn.004771f5
mov esi, edx
lea ebx, [esp + 0x570]
mov edx, eax
mov ecx, ebx
push esi
call fcn.004792f7
pop eax
mov ecx, ebx
mov edx, 0x641850
call fcn.004793a9
mov word [esp + 0x30], ax
lea esi, [esp + 0x570]
lea edx, [esp + 0x3c8]
mov ecx, esi
push 3
call fcn.00477119
pop eax
lea ebx, [esp + 0x8a0]
mov edx, esi
mov ecx, ebx
push 0x641860
call fcn.004771ca
pop eax
mov ecx, ebx
call fcn.004771f5
mov esi, edx
lea ebx, [esp + 0x570]
mov edx, eax
mov ecx, ebx
push esi
call fcn.004792f7
pop eax
mov ecx, ebx
mov edx, 0x641870
call fcn.004793a9
mov esi, eax
lea ecx, [esp + 0x3c8]
call fcn.00474b2a
movzx ecx, word [esp + 0x30]
xor eax, eax
inc eax
shl esi, 0x10
movzx ecx, cx
mov ebx, dword [esp + 0xbc]
shl edi, 0x10
movzx eax, ax
or ecx, esi
mov esi, dword [esp + 0x50]
or eax, edi
mov dword [esi + 0x1f4], ecx
mov dword [esi + 0x1f0], eax
mov ecx, dword [ebx]
call fcn.0046f5bd
test al, al
je 0x466f60
mov edx, dword [esi + 0x248]
cmp dword [edx + 0xc4], 0x80000002
je 0x466f60
add edx, 0xc4
lea esi, [esp + 0xce8]
mov ecx, esi
call fcn.00463217
cmp dword [esi], 0x80000002
jne 0x4670d4
push 8
pop ecx
call fcn.0047e1ef
movq xmm0, qword [esp + 0x378]
movq qword [edx], xmm0
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3cc], edx
mov dword [esp + 0x3d0], 8
cmp dword [esp + 0x35c], 0x80000001
jne 0x466f9f
xor eax, eax
jmp 0x466fc6
mov eax, dword [esp + 0x364]
mov edx, dword [esp + 0x360]
mov ecx, 0xf7
cmp eax, ecx
cmovb ecx, eax
push 0x6414c8
push eax
call fcn.00474223
pop ecx
pop ecx
mov esi, edx
test eax, eax
mov edx, 0x6c4590
cmovne edx, eax
cmove esi, eax
add esi, edx
lea edi, [esp + 0x3c8]
mov ecx, edi
push esi
call fcn.00482fda
pop eax
mov eax, dword [edi + 8]
cmp eax, 0x13
ja 0x46701b
push 0x14
pop esi
sub esi, eax
lea edi, [esp + 0x3c8]
mov edx, esi
mov ecx, edi
call fcn.004362d9
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
xor edx, edx
add ecx, eax
lea edi, [edx + 1]
cmp edi, esi
jae 0x467020
mov byte [ecx + edx], 0
mov edx, edi
jmp 0x46700c
push 0x14
pop eax
jmp 0x467027
add eax, edx
mov byte [ecx + edx], 0
inc eax
movsd xmm0, qword [esp + 0x3c8]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x578], eax
movsd qword [esp + 0x570], xmm0
mov ecx, dword [esi + 0x230]
mov edx, dword [esi + 0x234]
call fcn.00563c9c
mov eax, dword [esp + 0x578]
mov edi, 0x80000005
mov dword [esi + 0x238], eax
movsd xmm0, qword [esp + 0x570]
movsd qword [esi + 0x230], xmm0
cmp dword [esp + 0x368], 0x80000001
jne 0x46708a
jmp 0x467189
mov edx, dword [esp + 0x370]
mov ecx, dword [esp + 0x36c]
call fcn.0047420b
test edx, edx
je 0x4670a8
cmp byte [eax + edx - 1], 0
je 0x4670fd
lea esi, [esp + 0x8a0]
mov dword [esi], eax
mov dword [esi + 4], edx
lea edi, [esp + 0x3c8]
mov edx, esi
mov ecx, edi
call fcn.004785d0
lea ecx, [esp + 0x570]
mov edx, edi
push 0x641890
jmp 0x467128
mov eax, dword [esp + 0x50]
test byte [eax + 0x24d], 8
jne 0x467942
push 3
pop eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], 0x8000000b
jmp 0x468ca1
dec edx
lea esi, [esp + 0x8a0]
mov dword [esi], eax
mov dword [esi + 4], edx
lea edi, [esp + 0x3c8]
mov edx, esi
mov ecx, edi
call fcn.004785d0
lea ecx, [esp + 0x570]
mov edx, edi
push 0x641880
call fcn.004791f7
pop eax
mov edi, dword [esp + 0x570]
mov esi, dword [esp + 0x574]
cmp edi, 0x80000005
mov dword [esp + 0x30], esi
jne 0x46714f
mov edi, 0x80000005
jmp 0x467189
lea eax, [edi + 0x7fffffff]
cmp eax, 4
push 4
pop ecx
cmovb ecx, eax
cmp ecx, 3
jne 0x467189
mov eax, dword [esp + 0x578]
lea edx, [esp + 0xccc]
mov dword [edx], edi
mov dword [edx + 4], esi
mov dword [edx + 8], eax
lea ecx, [esp + 0x3c8]
call fcn.00478954
mov bl, 1
jmp 0x467196
mov dword [esp + 0x3c8], 0x80000003
xor ebx, ebx
mov esi, dword [esp + 0x50]
mov ecx, dword [esi + 0x23c]
mov edx, dword [esi + 0x240]
call fcn.00461588
mov eax, dword [esp + 0x3d0]
test bl, bl
mov dword [esi + 0x244], eax
movq xmm0, qword [esp + 0x3c8]
movq qword [esi + 0x23c], xmm0
jne 0x4671e0
cmp edi, 0x80000005
je 0x4671e0
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.00461588
mov edi, dword [esp + 0x50]
mov ecx, dword [edi + 0x248]
call fcn.00464435
mov esi, edx
mov edx, dword [edi + 0x23c]
lea ebx, [esp + 0x3c8]
mov ecx, ebx
push dword [edi + 0x238]
push dword [edi + 0x234]
push esi
push eax
call fcn.004789b8
add esp, 0x10
cmp byte [ebx], 4
jne 0x467225
mov byte [esp + 0x570], 4
jmp 0x467238
lea ecx, [esp + 0x570]
lea edx, [esp + 0x3c8]
call fcn.0047853d
lea esi, [edi + 0x23c]
lea ecx, [esp + 0x570]
call fcn.0046d870
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x1e8]
mov dword [esp + 0xc], edx
test ax, ax
je 0x46727b
mov ecx, dword [edi + 0x1ec]
shrd eax, ecx, 0x10
shr ecx, 0x10
mov dword [esp + 0xc88], eax
mov word [esp + 0xc8c], cx
jmp 0x46728c
and dword [esp + 0xc88], 0
and word [esp + 0xc8c], 0
mov ebx, edi
mov edi, dword [edi + 0x248]
mov ecx, edi
call fcn.00464426
mov dword [esp + 0x1c], eax
mov dword [esp + 8], edx
mov ecx, edi
call fcn.00464444
mov dword [esp + 0x14], eax
mov dword [esp + 0x60], edx
lea ecx, [esp + 0xab0]
mov edx, esi
call fcn.0046d906
mov esi, dword [ebx + 0x248]
mov eax, dword [ebx + 0x24c]
mov ebx, dword [esi + 0x68]
mov dword [esp + 0x10], eax
lea eax, [esi + 0x68]
test ebx, ebx
cmove eax, ebx
je 0x4673e3
cmp dword [esi + 0x74], 0
mov dword [esp + 0x50], eax
je 0x4673f0
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x7c]
push 0xc
push str.program_name_client_namerust_mysql_simple_client_version24.0.0_oswindows_platformx86
push dword [esi + 0x84]
push dword [esi + 0x80]
call fcn.0049570c
add esp, 0x10
mov esi, dword [esi + 0x6c]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x30], esi
and esi, eax
shr eax, 0x19
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm1, xmm0, 0
movdqa xmmword [esp + 0x90], xmm1
movdqu xmm0, xmmword [ebx + esi]
movdqa xmmword [esp + 0x20], xmm0
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
mov word [esp + 0x3c8], ax
lea ecx, [esp + 0x3c8]
call fcn.0048f1af
test eax, eax
je 0x467392
add edx, esi
and edx, dword [esp + 0x30]
neg edx
imul edi, edx, 0x18
mov ecx, str.program_name_client_namerust_mysql_simple_client_version24.0.0_oswindows_platformx86
push 0xc
pop edx
push dword [ebx + edi - 0x10]
push dword [ebx + edi - 0x14]
call fcn.0055879c
pop ecx
pop edx
test al, al
je 0x46735a
jmp 0x4673c9
movdqa xmm1, xmmword [esp + 0x20]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x4673f0
mov eax, dword [esp + 0x4c]
movdqa xmm1, xmmword [esp + 0x90]
lea esi, [esi + eax + 0x10]
add eax, 0x10
and esi, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
jmp 0x46733f
add ebx, edi
mov edx, dword [ebx - 8]
lea ecx, [esp + 0x9e8]
push dword [ebx - 4]
call fcn.00434de0
pop eax
jmp 0x467e78
and dword [esp + 0x100], 0
jmp 0x468287
call sub.KERNEL32.DLL_GetCommandLineW
and dword [esp + 0x100], 0
mov dword [esp + 0x104], 4
and dword [esp + 0x108], 0
test eax, eax
je 0x467870
movzx esi, word [eax]
test si, si
je 0x467870
push 2
pop ecx
lea edx, [esp + 0x1c0]
add eax, 2
xor ebx, ebx
mov dword [esp + 0x30], 0
and dword [edx], 0
mov dword [edx + 4], 2
and dword [edx + 8], 0
mov edi, eax
cmp si, 9
je 0x46746c
movzx eax, si
cmp eax, 0x20
je 0x46746c
cmp eax, 0x22
jne 0x467473
mov eax, dword [esp + 0x30]
not al
and al, 1
mov dword [esp + 0x30], eax
jmp 0x4674a4
test byte [esp + 0x30], 1
je 0x4674b4
cmp ebx, dword [esp + 0x1c0]
jne 0x467498
lea ecx, [esp + 0x1c0]
mov edx, ebx
call fcn.00521120
mov ecx, dword [esp + 0x1c4]
mov ebx, dword [esp + 0x1c8]
mov word [ecx + ebx*2], si
inc ebx
mov dword [esp + 0x1c8], ebx
movzx esi, word [edi]
lea eax, [edi + 2]
test si, si
jne 0x467449
jmp 0x4674b4
add edi, 2
movzx eax, word [edi]
cmp eax, 0x20
je 0x4674b1
cmp eax, 9
je 0x4674b1
mov edx, dword [esp + 0x1c4]
lea ecx, [esp + 0x3c8]
push ebx
call fcn.00522900
pop eax
lea ecx, [esp + 0x100]
xor edx, edx
call fcn.00542630
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
movq xmm0, qword [esp + 0x3c8]
movq xmm1, qword [esp + 0x3d0]
mov edx, ecx
inc ecx
shl edx, 4
movq qword [eax + edx + 8], xmm1
movq qword [eax + edx], xmm0
and dword [esp + 0x8a0], 0
mov dword [esp + 0x8a4], 2
mov dword [esp + 0x108], ecx
and dword [esp + 0x8a8], 0
movzx ebx, word [edi]
test bx, bx
je 0x467caa
xor edx, edx
push 2
pop ecx
mov dword [esp + 0x30], 0
lea esi, [edi + 2]
cmp bx, 9
je 0x4675c9
movzx eax, bx
cmp eax, 0x20
je 0x4675c9
cmp eax, 0x22
je 0x467693
cmp eax, 0x5c
jne 0x46765f
movzx eax, word [esi]
xor ebx, ebx
cmp ax, 0x5c
jne 0x46758f
xor ebx, ebx
movzx eax, word [edi + ebx*2 + 4]
add esi, 2
inc ebx
cmp ax, 0x5c
je 0x467580
inc ebx
cmp ax, 0x22
jne 0x4676b4
mov eax, dword [esp + 0x8a0]
mov edi, ebx
shr edi, 1
sub eax, edx
cmp eax, edi
jae 0x467704
lea ecx, [esp + 0x8a0]
push edi
call fcn.005211b0
pop eax
mov edx, dword [esp + 0x8a8]
jmp 0x46770d
test byte [esp + 0x30], 1
jne 0x46765f
mov edi, dword [esp + 0x8a4]
mov eax, edx
mov ebx, edi
mov edx, edi
lea ecx, [esp + 0x3c8]
push eax
call fcn.00522900
pop eax
mov edx, dword [esp + 0x108]
cmp edx, dword [esp + 0x100]
jne 0x467612
lea ecx, [esp + 0x100]
call fcn.00542630
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
movq xmm0, qword [esp + 0x3c8]
movq xmm1, qword [esp + 0x3d0]
mov ecx, edx
inc edx
shl ecx, 4
movq qword [eax + ecx + 8], xmm1
movq qword [eax + ecx], xmm0
and dword [esp + 0x8a8], 0
mov ecx, ebx
mov dword [esp + 0x108], edx
movzx ebx, word [esi]
cmp ebx, 0x20
je 0x46765a
cmp ebx, 9
jne 0x4676a2
add esi, 2
jmp 0x46764d
cmp edx, dword [esp + 0x8a0]
jne 0x46767b
lea ecx, [esp + 0x8a0]
call fcn.00521120
mov edx, dword [esp + 0x8a8]
mov ecx, dword [esp + 0x8a4]
mov word [ecx + edx*2], bx
inc edx
mov dword [esp + 0x8a8], edx
movzx ebx, word [esi]
jmp 0x4676a4
test byte [esp + 0x30], 1
jne 0x4676e6
mov al, 1
mov dword [esp + 0x30], eax
jmp 0x46768e
xor edx, edx
test bx, bx
mov edi, esi
jne 0x467550
jmp 0x467cb4
mov eax, dword [esp + 0x8a0]
sub eax, edx
cmp eax, ebx
jae 0x467760
lea ecx, [esp + 0x8a0]
push ebx
call fcn.005211b0
pop eax
mov ecx, dword [esp + 0x8a4]
mov edx, dword [esp + 0x8a8]
jmp 0x467768
movzx ebx, word [esi]
cmp ebx, 0x22
je 0x4677ac
test ebx, ebx
je 0x467cb4
mov dword [esp + 0x30], 0
jmp 0x4676a4
cmp ebx, 2
jb 0x46781e
mov ecx, dword [esp + 0x8a4]
cmp ebx, 0x20
jb 0x467812
mov eax, edi
movdqa xmm0, xmmword [0x593240]
mov dword [esp + 0x20], ecx
lea ecx, [ecx + edx*2 + 0x10]
and eax, 0xfffffff0
add edx, eax
mov dword [esp + 0x4c], edx
mov edx, eax
movdqu xmmword [ecx - 0x10], xmm0
movdqu xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff0
jne 0x46773a
cmp edi, eax
jne 0x467807
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
jmp 0x46781e
test ebx, ebx
je 0x467687
cmp ebx, 0x10
jb 0x4677f6
mov eax, ebx
movdqa xmm0, xmmword [0x593240]
mov dword [esp + 0x20], ecx
lea ecx, [ecx + edx*2 + 0x10]
and eax, 0xfffffff0
add edx, eax
mov edi, edx
mov edx, eax
movdqu xmmword [ecx - 0x10], xmm0
movdqu xmmword [ecx], xmm0
add ecx, 0x20
add edx, 0xfffffff0
jne 0x46778c
cmp ebx, eax
jne 0x4677ed
mov ecx, dword [esp + 0x20]
mov edx, edi
jmp 0x467687
cmp edx, dword [esp + 0x8a0]
jne 0x4677c8
lea ecx, [esp + 0x8a0]
call fcn.00521120
mov edx, dword [esp + 0x8a8]
mov ecx, dword [esp + 0x8a4]
lea eax, [edi + 4]
mov word [ecx + edx*2], 0x22
inc edx
mov dword [esp + 0x8a8], edx
cmp word [edi + 2], 0
cmovne esi, eax
jmp 0x46768e
mov ecx, dword [esp + 0x20]
and ebx, 0xf
mov edx, edi
mov eax, edx
mov word [ecx + edx*2], 0x5c
inc edx
dec ebx
jne 0x4677f6
jmp 0x467687
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x20]
and edi, 0xf
mov eax, edx
mov word [ecx + edx*2], 0x5c
inc edx
dec edi
jne 0x467812
test bl, 1
mov dword [esp + 0x8a8], edx
je 0x46768e
xor ebx, ebx
cmp word [esi], 0
setne byte [esp + 0x20]
cmp edx, dword [esp + 0x8a0]
jne 0x467855
lea ecx, [esp + 0x8a0]
call fcn.00521120
mov edx, dword [esp + 0x8a8]
mov al, byte [esp + 0x20]
mov ecx, dword [esp + 0x8a4]
mov bl, al
mov word [ecx + edx*2], 0x22
lea esi, [esi + ebx*2]
jmp 0x467686
lea ecx, [esp + 0x3c8]
call fcn.00542470
mov edi, dword [esp + 0x3c8]
cmp edi, 0x80000000
jne 0x4678d9
movdqa xmm0, xmmword [0x593250]
xor edi, edi
cmp byte [esp + 0x3cc], 3
movdqa xmmword [esp + 0x30], xmm0
jne 0x4678f6
mov ebx, dword [esp + 0x3d0]
mov esi, dword [ebx + 4]
mov ecx, dword [ebx]
mov eax, dword [esi]
mov dword [esp + 0x20], ecx
push ecx
call eax
pop eax
cmp dword [esi + 4], 0
je 0x4678cd
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0x20]
call fcn.004256e0
push 4
pop edx
mov ecx, ebx
call fcn.004256e0
jmp 0x4678f6
mov eax, dword [esp + 0x3cc]
movq xmm0, qword [esp + 0x3d0]
mov dword [esp + 0x80], eax
movdqa xmmword [esp + 0x30], xmm0
lea ecx, [esp + 0x100]
xor edx, edx
call fcn.00542630
mov ebx, dword [esp + 0x108]
mov esi, dword [esp + 0x104]
mov ecx, dword [esp + 0x80]
movdqa xmm0, xmmword [esp + 0x30]
mov eax, ebx
inc ebx
shl eax, 4
mov dword [esi + eax], edi
mov dword [esi + eax + 4], ecx
movq qword [esi + eax + 8], xmm0
mov eax, dword [esp + 0x100]
mov dword [esp + 0x30], eax
jmp 0x467d73
mov edx, dword [ebx]
lea esi, [esp + 0x570]
mov ecx, esi
call fcn.0046d8b8
mov ecx, esi
mov edx, 0x63ed70
call fcn.004605ca
mov ecx, dword [ebx]
mov edi, ebx
mov byte [esp + 0x30], al
call fcn.00471711
and dword [esi], 0
mov dword [esi + 4], 1
and dword [esi + 8], 0
lea ebx, [esp + 0x570]
mov edx, eax
mov ecx, ebx
call fcn.00476480
mov ecx, ebx
mov edx, 0x400000
call fcn.00476480
cmp byte [esp + 0x30], 0
push 0x21
pop edx
push 0x2d
pop eax
cmovne edx, eax
mov ecx, ebx
call fcn.0047656d
lea eax, str.cant_parse:_buf_doesnt_have_enough_dataC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001fmysql_common_0.30.6_src_named_params.rs
mov ecx, ebx
mov edx, 0x6415b4
push eax
call fcn.00435036
pop eax
mov esi, dword [ebx + 4]
mov eax, dword [ebx + 8]
mov edx, dword [edi]
mov dword [esp + 0x8a0], esi
mov dword [esp + 0x8a4], eax
lea edi, [esp + 0x3c8]
lea eax, [esp + 0x8a0]
mov ecx, edi
push eax
call fcn.00461d2a
pop eax
mov ecx, dword [ebx]
mov edx, esi
call fcn.00563c9c
mov eax, dword [edi]
cmp eax, 8
jne 0x468c4f
mov edx, edi
push 0xd
pop ecx
lea edi, [esp + 0xa7c]
lea esi, [esp + 0xce8]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x50]
mov ebx, dword [edi + 0x60]
mov dword [edi + 0x60], 5
cmp ebx, 5
je 0x46be3c
lea eax, [edi + 0x38]
mov dword [esp + 0x4c], eax
lea eax, [edi + 0x64]
mov dword [esp + 0x30], eax
push 0x184
push eax
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea esi, [esp + 0x504]
lea eax, [esp + 0x8cc]
movsd xmm1, qword [esi - 0x18]
movq xmm0, qword [esi - 0x20]
movsd xmm2, qword [esi - 8]
movsd qword [esp + 0x7b0], xmm1
movq xmm1, qword [esi - 0x10]
movq qword [esp + 0x7a8], xmm0
movsd qword [esp + 0x7c0], xmm2
movq qword [esp + 0x7b8], xmm1
push 0x11
pop ecx
lea edi, [esp + 0xc88]
rep movsd dword es:[edi], dword [esi]
push 0xa
pop ecx
mov esi, dword [esp + 0x4c]
lea edx, [esp + 0x8a0]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0x28], ebx
mov ecx, 0x11c
push ecx
push dword [esp + 0x34]
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0x248]
lea ecx, [esp + 0x390]
call fcn.004717c6
cmp ebx, 4
mov dword [esp + 0x70], ebx
jne 0x468cd6
lea ebx, [esp + 0x8dc]
mov eax, dword [ebx - 0x38]
mov edi, dword [ebx - 0x18]
mov esi, dword [ebx - 0x14]
mov dword [esp + 0x20], eax
shr eax, 8
mov dword [esp + 0x48], edi
shr edi, 8
mov dword [esp + 0x90], eax
movzx eax, word [ebx - 0xf]
mov word [esp + 0x78], ax
mov al, byte [ebx - 0xd]
mov byte [esp + 0x7a], al
mov al, byte [ebx - 0x10]
mov byte [esp + 0x68], al
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0xc], eax
mov eax, dword [ebx - 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x2c]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0xe8], eax
mov eax, dword [ebx - 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [ebx - 8]
mov dword [esp + 0x84], eax
mov eax, dword [ebx - 4]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xbd0]
push 0xb4
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0xb4]
movsd xmm0, qword [ebx + 0xb8]
mov dword [esp + 0xec], eax
mov eax, dword [ebx + 0xd0]
movsd qword [esp + 0x310], xmm0
movsd xmm0, qword [ebx + 0xc0]
mov dword [esp + 0x328], eax
mov eax, dword [ebx + 0xd4]
movsd qword [esp + 0x318], xmm0
movsd xmm0, qword [ebx + 0xc8]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0xd8]
movsd qword [esp + 0x320], xmm0
movsd xmm0, qword [ebx + 0xe1]
mov dword [esp + 0xb8], eax
movzx eax, word [ebx + 0xf5]
movsd qword [esp + 0x340], xmm0
movq xmm0, qword [ebx + 0xe8]
mov word [esp + 0x74], ax
mov al, byte [ebx + 0xe0]
movq qword [esp + 0x347], xmm0
mov byte [esp + 0x5b], al
mov al, byte [ebx + 0xf7]
mov byte [esp + 0x76], al
mov al, byte [ebx + 0xf4]
mov byte [esp + 0x5a], al
mov eax, dword [ebx + 0xdc]
mov dword [esp + 0xe0], eax
mov eax, dword [ebx + 0xf0]
mov dword [esp + 0xe4], eax
mov eax, dword [ebx + 0xf8]
mov dword [esp + 0xb0], eax
mov eax, dword [ebx + 0xfc]
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x100]
mov dword [esp + 0x1bc], eax
mov eax, dword [ebx + 0x104]
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x108]
mov bl, 1
mov dword [esp + 0x1b8], eax
mov al, byte [esp + 0x390]
mov dword [esp + 0x60], eax
jmp 0x46aeb8
xor edx, edx
mov dword [esp + 0x30], 0
test edx, edx
jne 0x467cd0
mov eax, dword [esp + 0x30]
and al, 1
jne 0x467cd0
mov esi, dword [esp + 0x104]
mov ebx, dword [esp + 0x108]
jmp 0x467d36
mov eax, edx
mov edx, dword [esp + 0x8a4]
lea ecx, [esp + 0x3c8]
push eax
call fcn.00522900
pop eax
mov ebx, dword [esp + 0x108]
cmp ebx, dword [esp + 0x100]
jne 0x467d0c
lea ecx, [esp + 0x100]
mov edx, ebx
call fcn.00542630
mov ebx, dword [esp + 0x108]
mov esi, dword [esp + 0x104]
movq xmm0, qword [esp + 0x3c8]
movq xmm1, qword [esp + 0x3d0]
mov eax, ebx
inc ebx
shl eax, 4
movq qword [esi + eax + 8], xmm1
movq qword [esi + eax], xmm0
mov edi, dword [esp + 0x100]
cmp dword [esp + 0x8a0], 0
je 0x467d56
mov ecx, dword [esp + 0x8a4]
push 2
pop edx
call fcn.004256e0
cmp dword [esp + 0x1c0], 0
je 0x467d6f
mov ecx, dword [esp + 0x1c4]
push 2
pop edx
call fcn.004256e0
mov dword [esp + 0x30], edi
mov edi, ebx
shl edi, 4
add edi, esi
test ebx, ebx
je 0x467d9a
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ecx, dword [esi + 8]
lea ebx, [esi + 0x10]
mov dword [esp + 0x20], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x90], ecx
jmp 0x467da4
mov dword [esp + 0x20], 0x80000000
mov ebx, esi
sub edi, ebx
add ebx, 4
shr edi, 4
sub edi, 1
jb 0x467dc0
mov ecx, dword [ebx - 4]
mov edx, dword [ebx]
call fcn.00563c9c
add ebx, 0x10
jmp 0x467dac
mov eax, dword [esp + 0x30]
test eax, eax
je 0x467dd7
shl eax, 4
push 4
pop edx
mov ecx, esi
push eax
call fcn.00408833
pop eax
mov edi, dword [esp + 0x20]
cmp edi, 0x80000000
jne 0x467df0
mov dword [esp + 0x700], 0x80000001
jmp 0x467e12
mov edx, dword [esp + 0x4c]
lea esi, [esp + 0x700]
mov ecx, esi
push dword [esp + 0x90]
call fcn.005522a0
pop eax
cmp dword [esi], 0x80000001
jne 0x467e32
mov dword [esp + 0x3cc], 0x6c4590
and dword [esp + 0x3d0], 0
mov dword [esp + 0x3c8], 0x80000000
jmp 0x467e52
mov eax, dword [esp + 0x708]
movq xmm0, qword [esp + 0x700]
mov dword [esp + 0x3d0], eax
movq qword [esp + 0x3c8], xmm0
lea ecx, [esp + 0x9e8]
lea edx, [esp + 0x3c8]
call fcn.00448a11
cmp edi, 0x80000000
je 0x467e78
mov edx, dword [esp + 0x4c]
mov ecx, edi
call fcn.00563c9c
push 0x11
pop edi
push 0xc
pop esi
lea ecx, [esp + 0x1c0]
call fcn.0046433c
mov ecx, esi
xor edx, edx
call fcn.00426eaa
mov ecx, 0x696c635f
mov dword [edx], ecx
mov ecx, 0x5f746e65
mov dword [edx + 4], ecx
mov ecx, 0x656d616e
mov dword [edx + 8], ecx
lea ecx, [esp + 0x8a0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], esi
mov ecx, edi
xor edx, edx
call fcn.00426eaa
mov ebx, eax
mov esi, edx
push edi
push 0x63f6b0
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x3c8]
mov dword [eax], ebx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
lea esi, [esp + 0x100]
lea ebx, [esp + 0x1c0]
lea eax, [esp + 0x3c8]
mov ecx, esi
mov edx, ebx
push eax
lea edi, [esp + 0x8a4]
push edi
call fcn.00473c57
pop eax
pop ecx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
call fcn.004767d9
push 0xf
pop ecx
xor edx, edx
call fcn.00426eaa
mov ecx, 0x696c635f
mov dword [edx + 8], 0x73726576
mov dword [edx + 0xb], 0x6e6f6973
mov dword [edx], ecx
mov ecx, 0x5f746e65
mov dword [edx + 4], ecx
lea ecx, [esp + 0x8a0]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0xf
push 6
pop ecx
xor edx, edx
call fcn.00426eaa
lea ecx, [esp + 0x3c8]
mov dword [edx], 0x302e3432
mov word [edx + 4], 0x302e
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 6
lea esi, [esp + 0x100]
mov edx, ebx
lea ebx, [esp + 0x3c8]
mov ecx, esi
push ebx
push edi
call fcn.00473c57
pop eax
pop ecx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
call fcn.004767d9
push 3
pop ecx
xor edx, edx
mov esi, ecx
call fcn.00426eaa
lea ecx, [esp + 0x8a0]
mov word [edx], 0x6f5f
mov byte [edx + 2], 0x73
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], esi
push 7
pop ecx
xor edx, edx
call fcn.00426eaa
lea ecx, [esp + 0x3c8]
mov dword [edx], 0x646e6977
mov dword [edx + 3], 0x73776f64
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 7
lea edi, [esp + 0x100]
lea edx, [esp + 0x1c0]
mov ecx, edi
push ebx
lea esi, [esp + 0x8a4]
push esi
call fcn.00473c57
pop eax
pop ecx
mov ecx, dword [edi]
mov edx, dword [edi + 4]
call fcn.004767d9
push 4
pop ecx
xor edx, edx
call fcn.00426eaa
lea edi, [esp + 0xbd0]
mov dword [edx], 0x6469705f
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], 4
call sub.KERNEL32.DLL_GetCurrentProcessId
lea ecx, [esp + 0xb08]
lea ebx, [esp + 0x3c8]
mov dword [ecx], eax
lea eax, [esp + 0x8a0]
and dword [ebx + 0x1c], 0
mov dword [ebx + 0x10], 0x20
mov byte [ebx + 0x20], 3
and dword [ebx], 0
and dword [ebx + 8], 0
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x18], 0x63ef64
and dword [eax], 0
mov dword [eax + 4], 1
and dword [eax + 8], 0
lea eax, [esp + 0x3c8]
push eax
push ecx
call fcn.0043a0b0
pop ecx
pop edx
movzx ecx, al
call fcn.0046361a
lea edx, [esp + 0x8a0]
lea ecx, [esp + 0x100]
mov eax, dword [edx + 8]
movsd xmm0, qword [edx]
mov esi, ecx
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov ecx, ebx
lea edx, [esp + 0x1c0]
push esi
push edi
call fcn.00473c57
pop eax
pop ecx
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
call fcn.004767d9
push 9
pop ecx
xor edx, edx
call fcn.00426eaa
lea ecx, [esp + 0x8a0]
mov dword [edx], 0x616c705f
mov dword [edx + 4], 0x726f6674
mov byte [edx + 8], 0x6d
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov dword [ecx + 8], 9
push 3
pop esi
mov ecx, esi
xor edx, edx
call fcn.00426eaa
mov word [edx], 0x3878
mov byte [edx + 2], 0x36
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], esi
lea esi, [esp + 0x100]
lea edx, [esp + 0x1c0]
mov ecx, esi
push ebx
lea eax, [esp + 0x8a4]
push eax
call fcn.00473c57
pop eax
pop ecx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
call fcn.004767d9
push 0xc
pop esi
mov ecx, esi
xor edx, edx
call fcn.00426eaa
mov ecx, 0x656d616e
mov dword [edx], 0x676f7270
mov dword [edx + 4], 0x5f6d6172
mov dword [edx + 8], ecx
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], esi
lea edx, [esp + 0x1c0]
lea esi, [esp + 0x8a0]
lea eax, [esp + 0x9e8]
mov ebx, edx
mov ecx, esi
push eax
lea eax, [esp + 0x3cc]
push eax
call fcn.00473c57
pop eax
pop ecx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
call fcn.004767d9
mov edx, dword [esp + 0x50]
lea esi, [esp + 0x8a0]
mov ecx, esi
call fcn.004630cf
lea ecx, [esp + 0x3c8]
mov edx, esi
call fcn.00474563
push 0xc
pop eax
add esi, eax
lea ecx, [esp + 0x8a0]
lea edx, [esp + 0x3c8]
call fcn.004730e8
cmp dword [esp + 0x8a0], 0x80000000
je 0x468233
mov eax, dword [esp + 0x8a8]
movq xmm0, qword [esp + 0x8a0]
mov dword [esp + 0xbd8], eax
movq qword [esp + 0xbd0], xmm0
lea ecx, [esp + 0x100]
mov edx, ebx
push esi
push edi
call fcn.00473c57
pop eax
pop ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
call fcn.004767d9
jmp 0x4681cc
lea ecx, [esp + 0x3c8]
call fcn.00473248
movsd xmm1, qword [esp + 0x1c8]
movq xmm0, qword [esp + 0x1c0]
movsd xmm2, qword [esp + 0x1d0]
movsd qword [esp + 0x108], xmm1
movq xmm1, qword [esp + 0x1d8]
movq qword [esp + 0x100], xmm0
movsd qword [esp + 0x110], xmm2
movq qword [esp + 0x118], xmm1
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test edi, edi
mov esi, ecx
cmove eax, edi
xor ebx, ebx
xor edx, edx
inc ebx
test edi, edi
mov dword [esp + 0xc], eax
setne dl
cmove edi, ebx
xor eax, eax
and esi, 0x8000
sete al
mov dword [esp + 0x48], esi
bt ecx, 0x15
push 2
pop ecx
cmovae ecx, eax
mov eax, dword [esp + 0xab0]
mov esi, dword [esp + 0x100]
setae byte [esp + 0x5c]
shl edx, 0x1f
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x80], eax
lea ecx, [esp + 0xc88]
mov edx, 0x63ed70
call fcn.004605ca
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x70], al
xor edx, edx
mov dword [esp + 0x18], edi
test ecx, ecx
mov eax, ecx
cmove eax, ebx
setne dl
mov dword [esp + 0x50], eax
mov eax, dword [esp + 8]
cmove eax, ecx
shl edx, 0x1f
mov ecx, 0
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esp + 0x14], ebx
mov dword [esp + 0x4c], edx
adc ecx, 0x80000000
test esi, esi
mov dword [esp + 0x90], ecx
je 0x46856e
lea edi, [esp + 0x1c0]
lea edx, [esp + 0x100]
mov ecx, edi
call fcn.00474563
lea esi, [esp + 0xcd8]
mov ecx, esi
call fcn.004605f1
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov ebx, dword [esi]
mov esi, dword [esi + 4]
movsd xmm0, qword [0x69eaa0]
movsd xmm2, qword [0x69eaa8]
movsd xmm1, qword [edi + 0x10]
lea eax, [esp + 0x8b0]
movsd qword [eax - 8], xmm2
movsd qword [eax - 0x10], xmm0
mov dword [eax + 4], esi
lea esi, [esp + 0x3c8]
mov dword [eax], ebx
mov dword [eax + 8], ecx
mov ecx, dword [edi + 0x18]
movsd xmm2, qword [edi]
mov dword [eax + 0xc], edx
movsd qword [esi + 0x10], xmm1
movsd xmm1, qword [edi + 8]
mov edi, dword [edi + 0x1c]
mov dword [esi + 0x18], ecx
movsd qword [esi], xmm2
movsd qword [esi + 8], xmm1
lea ecx, [esp + 0x8a0]
mov edx, edi
push eax
call fcn.0047339f
pop eax
mov dword [esi + 0x1c], edi
lea esi, [esp + 0xbdc]
lea edi, [esp + 0x70c]
lea ebx, [esp + 0x9e8]
mov ecx, ebx
lea edx, [esp + 0x3c8]
call fcn.004730e8
cmp dword [esp + 0x9e8], 0x80000000
je 0x4684fc
movsd xmm0, qword [esp + 0x9f8]
movsd xmm1, qword [esp + 0x9f0]
mov eax, dword [esp + 0x9f0]
movsd qword [esp + 0xbe0], xmm0
movsd xmm0, qword [esp + 0x9e8]
movsd qword [esp + 0xbd8], xmm1
mov dword [esp + 0x708], eax
movsd qword [esp + 0xbd0], xmm0
movsd qword [esp + 0x700], xmm0
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [edi + 8], eax
movsd qword [edi], xmm0
mov eax, dword [esp + 0x9f0]
movsd xmm1, qword [esp + 0x708]
movq xmm0, qword [esp + 0x710]
movsd xmm2, qword [esp + 0x700]
mov dword [esp + 0x2b8], eax
movsd qword [esp + 0xbd8], xmm1
movq xmm1, qword [esp + 0x9e8]
movq qword [esp + 0xbe0], xmm0
movsd qword [esp + 0xbd0], xmm2
movq qword [esp + 0x2b0], xmm1
lea ecx, [esp + 0xb08]
lea edx, [esp + 0x8a0]
push esi
lea eax, [esp + 0x2b4]
push eax
call fcn.00473122
pop eax
pop ecx
mov ecx, dword [esp + 0xb08]
mov edx, dword [esp + 0xb0c]
call fcn.0045c60e
jmp 0x4683f6
lea ecx, [esp + 0x9e8]
call fcn.0045c621
lea ecx, [esp + 0x3c8]
call fcn.00473248
mov eax, dword [esp + 0x8a0]
movq xmm0, qword [esp + 0x8a4]
movsd xmm2, qword [esp + 0x8ac]
movq xmm1, qword [esp + 0x8b4]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x8bc]
movq qword [esp + 0xbd0], xmm0
movsd qword [esp + 0xbd8], xmm2
movq qword [esp + 0xbe0], xmm1
mov dword [esp + 0xbe8], eax
mov eax, 0x100000
jmp 0x468576
mov dword [esp + 0x1c], 0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
xor ecx, ecx
test esi, esi
setne cl
and edx, 0xffe7fff7
lea ecx, [edx + ecx*8]
xor edx, edx
cmp dword [esp + 0x80], 0x80000005
setne dl
shl edx, 0x13
or edx, ecx
or edx, eax
cmp byte [esp + 0x70], 0
push 0x21
pop ebx
push 0x2d
pop eax
cmovne ebx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x41c], edx
movsd xmm0, qword [esp + 0xab0]
movsd xmm1, qword [esp + 0xbd8]
mov byte [esp + 0x420], bl
mov dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3d0], edi
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3f8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x408], esi
lea esi, [esp + 0x1c0]
and dword [esi], 0
mov dword [esi + 4], 1
and dword [esi + 8], 0
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0xab8]
movsd qword [esp + 0x410], xmm0
movq xmm0, qword [esp + 0xbd0]
mov dword [esp + 0x418], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3d8], eax
movsd qword [esp + 0x3e4], xmm1
movq xmm1, qword [esp + 0xbe0]
mov eax, dword [esp + 0xbe8]
movq qword [esp + 0x3dc], xmm0
movq qword [esp + 0x3ec], xmm1
mov dword [esp + 0x3f4], eax
mov ecx, esi
call fcn.00476480
lea eax, str.assertion_failed:_byte___self.0.as_ref__.len__
mov ecx, esi
mov edx, 0x6418a0
push eax
call fcn.00435036
pop eax
mov ecx, esi
mov edx, ebx
call fcn.0047656d
lea eax, str.cant_parse:_buf_doesnt_have_enough_dataC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001fmysql_common_0.30.6_src_named_params.rs
mov ecx, esi
mov edx, 0x6415b4
push eax
call fcn.00435036
pop eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 8]
push esi
call fcn.00477cdc
pop eax
bt dword [esp + 0x10], 0x15
jb 0x468718
mov eax, dword [esp + 0x48]
shr eax, 0xf
and byte [esp + 0x5c], al
je 0x468726
mov edx, dword [esp + 0xc]
mov ecx, edi
push esi
call fcn.00477c6f
jmp 0x468732
mov edx, dword [esp + 0xc]
mov ecx, edi
push esi
call fcn.00477cb3
jmp 0x468732
mov edx, dword [esp + 0xc]
mov ecx, edi
push esi
call fcn.00477cdc
pop eax
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x468746
mov edx, dword [esp + 0x60]
push esi
call fcn.00477cdc
pop eax
mov ebx, dword [esp + 0x410]
cmp ebx, 0x80000005
je 0x468768
lea ecx, [esp + 0x410]
lea edx, [esp + 0x1c0]
call fcn.004788d5
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x4688e2
mov eax, dword [esp + 0x3dc]
movdqa xmm0, xmmword [ecx]
mov edx, dword [esp + 0x3e4]
mov dword [esp + 0x10], ebx
lea edi, [ecx + 0x10]
lea ebx, [esp + 0x8a0]
mov dword [ebx], ecx
mov dword [esp + 0x80], edi
mov dword [ebx + 4], edi
xor edi, edi
lea esi, [eax + ecx + 1]
pmovmskb eax, xmm0
mov dword [esp + 0x60], edx
not eax
mov dword [ebx + 8], esi
mov dword [esp + 0x70], esi
mov word [ebx + 0xc], ax
mov dword [ebx + 0x10], edx
xor ebx, ebx
lea ecx, [esp + 0x8a0]
call fcn.00473c42
test eax, eax
je 0x46886b
mov esi, edx
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
call fcn.0047420b
cmp edx, 0xfb
mov eax, 1
mov dword [esp + 0x30], 0
jb 0x468810
cmp edx, 0x10000
push 3
pop eax
jb 0x468810
xor eax, eax
cmp edx, 0x1000000
setae al
lea eax, [eax + eax*4 + 4]
mov dword [esp + 0xc], edx
mov edx, dword [esi + 8]
mov ecx, dword [esi + 4]
mov dword [esp + 8], eax
call fcn.0047420b
cmp edx, 0xfb
jae 0x468830
xor eax, eax
inc eax
jmp 0x46884c
cmp edx, 0x10000
jae 0x46883d
push 3
pop eax
jmp 0x46884c
xor eax, eax
cmp edx, 0x1000000
setae al
lea eax, [eax + eax*4 + 4]
add ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
adc edi, 0
add ebx, dword [esp + 8]
adc edi, ecx
add ebx, edx
adc edi, 0
add ebx, eax
adc edi, ecx
jmp 0x4687c0
lea ecx, [esp + 0x1c0]
mov edx, ebx
push edi
call fcn.00477b84
pop eax
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x8a0]
mov ecx, dword [esp + 0x60]
movdqa xmm0, xmmword [eax]
mov dword [esi], eax
mov eax, dword [esp + 0x80]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esi + 8], eax
pmovmskb eax, xmm0
not eax
mov word [esi + 0xc], ax
mov dword [esi + 0x10], ecx
mov ecx, esi
call fcn.00473c42
test eax, eax
je 0x4688de
mov edi, edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
lea ebx, [esp + 0x1c0]
push ebx
call fcn.00477cb3
pop eax
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
push ebx
call fcn.00477cb3
pop eax
jmp 0x4688ae
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0x1c4]
mov eax, dword [esp + 0x1c8]
mov edx, dword [esi]
mov dword [esp + 0x8a0], edi
mov dword [esp + 0x8a4], eax
lea eax, [esp + 0x8a0]
lea ecx, [esp + 0x7c8]
push eax
call fcn.00461d2a
pop eax
mov ecx, dword [esp + 0x1c0]
mov edx, edi
call fcn.00563c9c
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
call fcn.004767d9
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
call fcn.004767d9
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x14]
call fcn.0045c60e
mov edx, dword [esp + 0x414]
mov ecx, ebx
call fcn.0046f32e
lea ecx, [esp + 0x3d8]
call fcn.004797fe
lea ecx, [esp + 0x570]
call fcn.0046d968
lea eax, [esp + 0x7c8]
mov eax, dword [eax]
cmp eax, 8
jne 0x468a4e
lea edi, [esp + 0x3c8]
mov edx, esi
mov ecx, edi
push 0
call fcn.0046d978
pop eax
mov eax, dword [edi]
cmp eax, 8
jne 0x468a8f
mov ecx, dword [esi]
mov edi, esi
test byte [ecx + 0x24c], 0x20
je 0x468af0
call fcn.00462818
cmp byte [eax + 0x168], 2
mov esi, eax
jne 0x468ae6
lea ecx, [esi + 0x180]
call fcn.0045fe71
mov ecx, esi
add ecx, 0x190
call fcn.0045fe71
mov eax, dword [esi + 0x174]
mov dword [esp + 0x3d0], eax
xor eax, eax
movsd xmm0, qword [esi + 0x16c]
movsd qword [esp + 0x3c8], xmm0
and dword [esi + 0x170], 0
and dword [esi + 0x16c], 0
mov byte [esi + 0x168], al
movq xmm0, qword [esp + 0x3c8]
movq qword [esi + 0x174], xmm0
mov ecx, dword [esp + 0x3d0]
mov dword [esi + 0x17c], ecx
mov dword [esi + 0x1a0], 6
mov byte [esi + 0x1a4], al
jmp 0x468af0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7cc]
mov edi, dword [esp + 0x7d0]
mov ecx, dword [esp + 0x7dc]
mov edx, dword [esp + 0x7d8]
mov ebx, dword [esp + 0x7e4]
mov dword [esp + 0x30], eax
mov eax, edi
mov eax, dword [esp + 0x7d4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x7e0]
jmp 0x468ace
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3cc]
mov edi, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3dc]
mov edx, dword [esp + 0x3d8]
mov ebx, dword [esp + 0x3e4]
mov dword [esp + 0x30], eax
mov eax, edi
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x10], edi
shr edi, 8
mov dword [esp + 8], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
jmp 0x466a83
mov dword [esi + 0x1a0], 6
lea ecx, [esp + 0x350]
call fcn.00471795
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xac]
call fcn.00563c9c
lea esi, [esp + 0x3c8]
mov edx, edi
mov ecx, esi
push 0x12
push str.max_allowed_packetSELECT___
call fcn.0047141f
pop eax
pop ecx
mov eax, dword [esi]
cmp eax, 8
jne 0x468b9a
movzx edx, byte [esp + 0x3d0]
movzx eax, byte [esp + 0x3d3]
movzx ebx, word [esp + 0x3d1]
mov esi, dword [esp + 0x3d4]
mov edi, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3dc]
mov byte [esp + 0x3c8], 0
cmp edx, 8
jne 0x468be0
movzx eax, byte [esp + 0x3cb]
movzx ebx, word [esp + 0x3c9]
mov esi, dword [esp + 0x3cc]
mov edi, dword [esp + 0x3d0]
xor edx, edx
shl eax, 0x10
or ebx, eax
mov eax, dword [esp + 0x3d4]
jmp 0x469120
mov ecx, dword [esp + 0x3cc]
movzx esi, byte [esp + 0x3d3]
mov edi, dword [esp + 0x3d4]
mov dl, byte [esp + 0x3d0]
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], ecx
movzx ecx, word [esp + 0x3d1]
shl esi, 0x10
mov dword [esp + 0x14], edi
or ecx, esi
mov esi, dword [esp + 0x3dc]
mov dword [esp + 0x18], esi
jmp 0x4666a6
shl eax, 0x10
mov dword [esp + 0xc], ecx
or ebx, eax
lea ecx, [esp + 0x3c8]
mov dword [esp + 8], edx
call fcn.00461250
mov edx, dword [esp + 8]
cmp edx, 3
je 0x468cb2
cmp edx, 2
je 0x468cb2
cmp edx, 1
jne 0x46911c
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c8], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edi
test eax, eax
mov dword [esp + 0x3cc], eax
je 0x468d98
mov eax, dword [esp + 0x14]
xor ecx, ecx
cmp byte [eax], 0x2b
sete cl
mov dword [esp + 0x10], ecx
jmp 0x468da0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3cc]
mov edi, dword [esp + 0x3d0]
mov ecx, dword [esp + 0x3dc]
mov edx, dword [esp + 0x3d8]
mov ebx, dword [esp + 0x3e4]
mov dword [esp + 0x30], eax
mov eax, edi
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x10], edi
shr edi, 8
mov dword [esp + 8], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xce8]
call fcn.00461a28
jmp 0x466a83
cmp dword [esp + 0xc], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], esi
je 0x468d16
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 8]
jmp 0x469120
movzx eax, byte [esp + 0x390]
test eax, eax
mov dword [esp + 0x60], eax
je 0x468e67
cmp dword [esp + 0x60], 1
jne 0x468e94
mov eax, dword [esp + 0x391]
lea edx, [esp + 0x570]
mov dword [edx], eax
lea ecx, [esp + 0xf0]
call fcn.004717d6
jmp 0x468ec2
mov edi, dword [esp + 0x14]
xor eax, eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3cc], edi
mov esi, dword [esp + 0x14]
test eax, eax
mov byte [esp + 0x3d0], cl
mov dword [esp + 0x3d4], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x3d8], esi
mov dword [esp + 0x3dc], edx
je 0x468d68
lea eax, [esp + 0x3d0]
push eax
call fcn.004742d7
pop eax
test edi, edi
je 0x469141
mov esi, dword [esp + 0xbc]
mov ecx, dword [esi]
call fcn.00462818
mov dword [eax + 0x1a8], edi
mov eax, dword [esi]
mov byte [eax + 0x256], 1
mov eax, dword [esp + 0x54]
push 8
jmp 0x46914e
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0xc]
mov dword [esp + 0x3d0], eax
jae 0x469112
lea esi, [esp + 0x3c8]
mov ecx, esi
call fcn.00474b6a
mov dword [esp + 0xc0], eax
mov eax, dword [esi]
mov edx, dword [esi + 8]
xor edi, edi
mov dword [esp + 0x30], eax
mov eax, dword [esi + 4]
mov dword [esp + 0xac], eax
sub eax, edx
sub eax, 4
jb 0x468e2f
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx + edx]
lea ecx, [esi + 0x46464646]
add esi, 0xcfcfcfd0
or ecx, esi
test ecx, 0x80808080
jne 0x468e2f
imul ecx, esi, 0xa
shr esi, 8
add edx, 4
imul edi, edi, 0x2710
add esi, ecx
mov dword [esp + 0x3d0], edx
mov ecx, esi
shr esi, 0x10
and ecx, 0x7f
and esi, 0x7f
imul ecx, ecx, 0x64
add esi, ecx
add edi, esi
jmp 0x468de1
mov esi, dword [esp + 0xac]
cmp edx, esi
jae 0x4690ee
mov ecx, dword [esp + 0x30]
lea eax, [edx + 1]
mov dword [esp + 0x3d0], eax
mov dl, byte [ecx + edx]
add dl, 0xd0
cmp dl, 0xa
jae 0x469112
movzx ecx, dl
imul edi, edi, 0xa
mov edx, eax
add edi, ecx
jmp 0x468e36
mov eax, dword [esp + 0x39c]
movq xmm0, qword [esp + 0x394]
mov dword [esp + 0xdc], 0
mov dword [esp + 0xf8], eax
movq qword [esp + 0xf0], xmm0
jmp 0x468ecb
movq xmm0, qword [esp + 0x391]
movq xmm1, qword [esp + 0x399]
lea edx, [esp + 0x570]
movq qword [edx + 8], xmm1
movq qword [edx], xmm0
lea ecx, [esp + 0xf0]
call fcn.0047183a
mov al, 1
mov dword [esp + 0xdc], eax
lea esi, [esp + 0xd0]
and dword [esi], 0
mov dword [esi + 4], 4
and dword [esi + 8], 0
mov ebx, 0x8b
mov ecx, esi
xor edx, edx
push ebx
call fcn.004fe0e6
pop ecx
mov ecx, eax
call fcn.004388ae
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
imul edi, ecx, 0x28
add ecx, ebx
mov dword [esp + 0x18], eax
mov ebx, 0xfffff2f8
add edi, eax
lea eax, [esp + 0x570]
mov dword [esp + 0x30], ecx
mov edx, dword [ebx + 0x6d49b8]
mov ecx, eax
push dword [ebx + 0x6d49cc]
push dword [ebx + 0x6d49c8]
push dword [ebx + 0x6d49c4]
push dword [ebx + 0x6d49c0]
push dword [ebx + 0x6d49bc]
call fcn.00509b1e
lea eax, [esp + 0x584]
add esp, 0x14
push 0xa
pop ecx
mov esi, eax
mov edx, edi
rep movsd dword es:[edi], dword [esi]
mov edi, edx
add edi, 0x28
add ebx, 0x18
jne 0x468f18
mov eax, dword [esp + 0x30]
cmp dword [esp + 0xa9c], 0x80000001
mov dword [esp + 0xd8], eax
je 0x469ba6
mov eax, dword [esp + 0xaa0]
test eax, eax
je 0x469ba6
lea edx, [esp + 0x570]
and dword [esp + 0x9e8], 0
mov dword [esp + 0x9ec], 1
mov edi, dword [esp + 0xaa4]
and dword [esp + 0x9f0], 0
and dword [edx], 0
and dword [edx + 8], 0
and dword [edx + 0xc], 0
mov dword [edx + 0x10], 7
and dword [edx + 0x1a], 0
and dword [edx + 0x18], 0
and dword [edx + 0x14], 0
and dword [edx + 0x1e], 0
mov byte [edx + 0x1c], 1
lea esi, [esp + 0x1c0]
mov ecx, esi
push edi
push eax
call fcn.00543900
pop eax
pop ecx
cmp byte [esi], 4
jne 0x468ffa
mov eax, dword [esp + 0x1c4]
jmp 0x46901d
mov ecx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c4]
cmp cl, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], ecx
jne 0x4691d5
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
lea edx, [esp + 0xb7c]
mov eax, dword [esp + 0x48]
mov dword [edx], eax
lea eax, [esp + 0x9e8]
lea esi, [esp + 0x570]
mov ecx, esi
push eax
call fcn.00543480
pop eax
cmp byte [esi], 4
je 0x46905d
mov eax, dword [esp + 0x570]
cmp al, 4
mov dword [esp + 0x20], eax
jne 0x4691f5
mov eax, dword [esp + 0x9ec]
mov ecx, dword [esp + 0x9f0]
and dword [esp + 0x700], 0
mov dword [esp + 0x704], 4
and dword [esp + 0x708], 0
lea edx, [esp + 0x100]
mov dword [edx], eax
mov dword [esp + 0x90], eax
mov dword [esp + 8], ecx
mov dword [edx + 4], ecx
lea esi, [esp + 0x570]
mov ecx, esi
call fcn.00519bd0
mov ecx, dword [esi]
cmp ecx, 0x80000000
jne 0x469156
mov ecx, dword [esp + 0x574]
mov eax, dword [esp + 0x578]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov eax, ecx
mov dword [esp + 0x20], ecx
shr eax, 8
mov dword [esp + 0x90], eax
mov al, 1
mov dword [esp + 0x5c], eax
jmp 0x469b38
mov eax, dword [esp + 0xc0]
add eax, dword [esp + 0x10]
sub edx, eax
cmp edx, 0xa
ja 0x469112
jne 0x469b6c
cmp edi, 0x3b9aca00
jae 0x469b6c
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov dl, 1
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x570]
mov byte [ecx], dl
mov word [ecx + 1], bx
shr ebx, 0x10
mov byte [ecx + 3], bl
mov dword [ecx + 4], esi
mov dword [ecx + 8], edi
mov dword [ecx + 0xc], eax
call fcn.00461250
mov eax, dword [esp + 0x54]
mov dword [eax + 4], 0x8000000a
push 3
pop ecx
mov dword [eax], ecx
jmp 0x46697d
mov eax, dword [esp + 0x574]
imul ebx, dword [esp + 0x578], 0xc
lea edx, [eax + ebx]
lea esi, [eax + 0xc]
mov dword [esp + 0x570], eax
mov dword [esp + 0x574], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x57c], edx
test ebx, ebx
je 0x469225
mov ecx, dword [eax]
cmp ecx, 0x80000000
je 0x469221
lea edi, [eax + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1c4], edx
lea ecx, [esp + 0x700]
lea edx, [esp + 0x1c0]
call fcn.0047d95a
add ebx, 0xfffffff4
add esi, 0xc
mov eax, edi
jmp 0x469184
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0xc], 0
shr eax, 8
xor edx, edx
inc edx
mov dword [esp + 0x90], eax
jmp 0x469b62
mov eax, dword [esp + 0x574]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
shr eax, 8
mov dword [esp + 0x90], eax
mov al, 1
mov dword [esp + 0x5c], eax
jmp 0x469b44
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x570]
mov dword [ecx + 8], eax
call fcn.004635db
mov eax, dword [esp + 0x708]
test eax, eax
sete cl
cmp dword [esp + 8], 0
setne dl
and dl, cl
mov cl, 1
mov byte [esp + 0x84], dl
mov dword [esp + 0x5c], ecx
je 0x46927d
lea esi, [esp + 0x700]
lea edx, [esp + 0x9e8]
mov ecx, esi
call fcn.0047d95a
mov eax, dword [esi + 8]
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x704]
imul eax, eax, 0xc
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x14], 0
je 0x469b74
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 4]
mov edi, dword [eax + 8]
lea ecx, [esp + 0x570]
mov edx, esi
push 0
push edi
call fcn.005658dc
pop eax
pop ecx
cmp dword [esp + 0x570], 0
je 0x4692fd
mov eax, dword [esp + 0x5a0]
mov ecx, dword [esp + 0x5a4]
mov esi, dword [esp + 0x5d0]
mov edi, dword [esp + 0x5ac]
mov ebx, dword [esp + 0x5cc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5a8]
mov edx, ecx
mov dword [esp + 0x1c], esi
shr edx, 8
jmp 0x469896
cmp byte [esp + 0x574], 0x1c
jne 0x469b18
test edi, edi
mov dword [esp + 0x7c8], esi
mov dword [esp + 0x7cc], edi
je 0x469b18
mov bl, byte [esi]
mov eax, ebx
not al
test al, 0x1f
je 0x469b18
cmp edi, 2
jb 0x469b18
mov dword [esp + 0x7d0], 2
movzx edx, byte [esi + 1]
test dl, dl
jns 0x4693c2
cmp edx, 0x82
je 0x469380
cmp edx, 0x81
jne 0x469b18
cmp edi, 3
jb 0x469b18
mov dword [esp + 0x7d0], 3
movzx edx, byte [esi + 2]
test dl, dl
js 0x4693c2
jmp 0x469b18
cmp edi, 2
jbe 0x469b18
cmp edi, 3
je 0x469b18
movzx eax, byte [esi + 2]
mov dword [esp + 0x7d0], 4
movzx edx, byte [esi + 3]
shl eax, 8
or edx, eax
cmp edx, 0x100
jb 0x469b18
cmp edx, 0xffff
je 0x469b18
lea ecx, [esp + 0x7c8]
call fcn.00563e32
cmp bl, 0x30
jne 0x469b18
test eax, eax
je 0x469b18
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], edx
and dword [esp + 0x108], 0
test edx, edx
je 0x469807
mov dword [esp + 0x108], 1
mov dword [esp + 8], 0
mov bl, byte [eax]
mov ecx, ebx
not cl
test cl, 0x1f
je 0x46980f
cmp edx, 2
mov dword [esp + 8], 0
jb 0x46980f
mov dword [esp + 0x108], 2
movzx ecx, byte [eax + 1]
mov esi, ecx
test cl, cl
js 0x46964c
lea ecx, [esp + 0x100]
mov edx, esi
call fcn.00563e32
cmp bl, 0x30
mov dword [esp + 8], 0
jne 0x46980f
test eax, eax
je 0x46980f
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], edx
and dword [esp + 0x1c8], 0
lea ecx, [esp + 0xb08]
lea edx, [esp + 0x1c0]
call fcn.00563e65
cmp dword [esp + 0xb08], 0
je 0x4696a1
lea ecx, [esp + 0x1c0]
push 0x30
pop edx
call fcn.00565774
cmp al, 0x26
lea ebx, [esp + 0x2b0]
mov dword [esp + 0x20], eax
jne 0x4696b3
lea ecx, [esp + 0x1c0]
push 0x30
pop edx
call fcn.00565774
cmp al, 0x26
lea ebx, [esp + 0x2b0]
mov dword [esp + 0x20], eax
jne 0x4696b3
lea ecx, [esp + 0x1c0]
push 0x30
pop edx
call fcn.00565774
cmp al, 0x26
lea ebx, [esp + 0x2b0]
mov dword [esp + 0x20], eax
jne 0x4696b3
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c8]
cmp eax, ecx
jbe 0x469a13
mov edi, dword [esp + 0x1c0]
lea edx, [ecx + 1]
mov dword [esp + 0x1c8], edx
mov bl, byte [edi + ecx]
mov byte [esp + 0x64], bl
not bl
test bl, 0x1f
je 0x469a13
cmp eax, edx
jbe 0x469a13
lea edx, [ecx + 2]
mov dword [esp + 0x1c8], edx
movzx ebx, byte [edi + ecx + 1]
mov esi, ebx
test bl, bl
js 0x46991e
lea ecx, [esp + 0x1c0]
mov edx, esi
call fcn.00563e32
cmp byte [esp + 0x64], 0x30
mov dword [esp + 0x20], 0
jne 0x4696ac
mov esi, edx
mov edi, eax
test eax, eax
lea ebx, [esp + 0x2b0]
je 0x4696b3
mov ecx, dword [esp + 0x1c4]
mov eax, dword [esp + 0x1c8]
cmp ecx, eax
jbe 0x469a13
mov ebx, dword [esp + 0x1c0]
lea edx, [eax + 1]
mov dword [esp + 0x1c8], edx
mov dword [esp + 0x20], ebx
mov bl, byte [ebx + eax]
mov byte [esp + 0x64], bl
not bl
test bl, 0x1f
je 0x469a13
cmp ecx, edx
jbe 0x469a13
mov ebx, dword [esp + 0x20]
lea edx, [eax + 2]
mov dword [esp + 0x1c8], edx
movzx ebx, byte [ebx + eax + 1]
test bl, bl
mov dword [esp + 0x6c], ebx
js 0x469a20
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x1c0]
call fcn.00563e32
cmp byte [esp + 0x64], 0x30
mov dword [esp + 0x20], 0
jne 0x4696ac
test eax, eax
lea ebx, [esp + 0x2b0]
je 0x4696b3
mov ecx, esi
mov ebx, esi
mov dword [esp + 0x20], ebx
lea ebx, [esp + 0xab0]
mov dword [esp + 0x2b0], edi
shr ecx, 8
jmp 0x4696b3
add esi, 0xffffff7f
cmp esi, 3
ja 0x469807
mov ecx, esi
mov ecx, dword [esi*4 + 0x46c074]
add ecx, dword [esp + 0xc]
jmp ecx
mov al, byte [esp + 0xb0c]
mov dword [esp + 0x20], eax
lea ebx, [esp + 0x2b0]
and dword [ebx], 0
mov edi, dword [esp + 0x2b0]
test edi, edi
je 0x469817
mov ebx, dword [esp + 0x1c8]
mov dword [esp + 8], 0
cmp ebx, dword [esp + 0x1c4]
mov ebx, 0
jne 0x46970a
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xab0]
mov ebx, dword [esp + 0x20]
mov dword [esp + 8], edi
mov dword [esp + 0xb8], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x20], ebx
jmp 0x469817
mov dword [esp + 8], 0
mov dword [esp + 0x20], 0
lea ecx, [esp + 0x100]
push 0x30
pop edx
call fcn.00565774
cmp al, 0x26
jne 0x469b18
lea ecx, [esp + 0x100]
push 3
pop edx
call fcn.00565774
cmp al, 0x26
jne 0x469b18
cmp dword [esp + 8], 0
je 0x469b18
mov eax, dword [esp + 0x108]
cmp eax, dword [esp + 0x104]
jne 0x469b18
mov eax, dword [esp + 0x7d0]
cmp eax, dword [esp + 0x7cc]
jne 0x469b18
movzx ecx, byte [esp + 0x20]
mov eax, dword [esp + 0xb8]
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0x68]
shl edx, 8
movzx esi, cl
or esi, edx
mov edx, dword [esp + 8]
lea ecx, [esp + 0x570]
push dword [esp + 0x1c]
push ebx
push edi
push eax
push esi
call fcn.00509b1e
add esp, 0x14
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0xd0]
jne 0x4698ec
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0xd0]
call fcn.004fe320
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
imul edi, eax, 0x28
add edi, dword [esp + 0x18]
push 0xa
pop ecx
lea esi, [esp + 0x570]
inc eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x30], eax
mov dword [esp + 0xd8], eax
add dword [esp + 0x10], 0xc
add dword [esp + 0x14], 0xfffffff4
jmp 0x46928f
mov ebx, esi
add ebx, 0xffffff7f
cmp ebx, 3
ja 0x469a13
mov esi, ebx
mov ebx, dword [ebx*4 + 0x46c084]
add ebx, dword [esp + 0xc]
jmp ebx
mov dword [esp + 0x20], 0
jmp 0x4696ac
mov ebx, dword [esp + 0x6c]
add ebx, 0xffffff7f
cmp ebx, 3
mov dword [esp + 0x6c], ebx
ja 0x469a13
mov ebx, dword [esp + 0x6c]
mov ebx, dword [ebx*4 + 0x46c094]
add ebx, dword [esp + 0xc]
jmp ebx
push 5
pop eax
mov dword [esp + 0xc], eax
mov al, 0xa
mov dword [esp + 0x90], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x700]
call fcn.0045406f
push dword [esp + 0x48]
call sub.KERNEL32.DLL_CloseHandle
cmp byte [esp + 0x5c], 0
je 0x469b67
mov ecx, dword [esp + 0x9e8]
mov edx, dword [esp + 0x9ec]
call fcn.00563c9c
jmp 0x46ae7a
xor eax, eax
inc eax
jmp 0x468d1c
lea ecx, [esp + 0x700]
call fcn.0045406f
push dword [esp + 0x48]
call sub.KERNEL32.DLL_CloseHandle
cmp byte [esp + 0x84], 0
jne 0x469ba6
mov ecx, dword [esp + 0x9e8]
mov edx, dword [esp + 0x90]
call fcn.00563c9c
push 4
pop ecx
push 0x48
pop edx
call fcn.004388c9
test eax, eax
mov dword [esp + 0x1c], eax
je 0x46be4e
push 0x12
pop ecx
mov edi, dword [esp + 0x1c]
mov esi, 0x698fa4
rep movsd dword es:[edi], dword [esi]
push 4
pop ecx
push 0xc
pop edx
mov dword [esp + 8], ecx
call fcn.004388c9
test eax, eax
mov dword [esp + 0x48], eax
je 0x46be55
mov eax, dword [0x698fa0]
mov ecx, dword [esp + 0x48]
movq xmm0, qword [0x698f98]
mov dword [esp + 0x20], 0
mov dword [esp + 0x90], 0
mov dword [ecx + 8], eax
movq qword [ecx], xmm0
mov eax, 0x698fec
lea ecx, [0x698ff4]
cmp eax, ecx
je 0x469c41
mov edx, dword [eax]
add eax, 4
movzx esi, word [edx]
cmp esi, 4
je 0x469c38
cmp esi, 5
jne 0x469c1c
mov dword [esp + 0x20], edx
jmp 0x469c1c
mov dword [esp + 0x90], edx
jmp 0x469c1c
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xd4]
test ecx, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
je 0x469c8c
cmp dword [esp + 0x10], 0x3333333
ja 0x46be60
imul esi, dword [esp + 0x10], 0x28
test esi, esi
js 0x46be65
push 4
pop ecx
mov edx, esi
call fcn.004388c9
test eax, eax
mov dword [esp + 8], eax
je 0x46be6a
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
xor ebx, ebx
imul eax, esi, 0x28
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x30]
sub esi, 1
jb 0x469d9b
cmp dword [esp + 0x14], ebx
je 0x469d9b
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 4]
mov dword [esp + 0xc], eax
lea ecx, [esp + 0x7c8]
push dword [edi + 8]
call fcn.004271ee
pop eax
mov edx, dword [edi + 0x10]
lea ecx, [esp + 0x100]
push dword [edi + 0x14]
call fcn.004271ee
pop eax
cmp dword [edi + 0x18], 0x80000000
mov dword [esp + 0x30], esi
jne 0x469cff
mov dword [esp + 0x1c0], 0x80000000
jmp 0x469d18
mov eax, dword [esp + 0x18]
mov edx, dword [eax + ebx + 0x1c]
lea ecx, [esp + 0x1c0]
push dword [eax + ebx + 0x20]
call fcn.004271ee
pop eax
mov eax, dword [esp + 0x7d0]
movsd xmm0, qword [esp + 0x7c8]
lea ecx, [esp + 0x57c]
mov esi, dword [esp + 8]
add edi, 0x28
mov dword [esp + 0x578], eax
movsd qword [esp + 0x570], xmm0
mov eax, dword [esp + 0x108]
movsd xmm0, qword [esp + 0x100]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov eax, dword [esp + 0x1c8]
movq xmm0, qword [esp + 0x1c0]
mov dword [ecx + 0x14], eax
lea eax, [esi + ebx]
movq qword [ecx + 0xc], xmm0
push 0x24
lea ecx, [esp + 0x574]
push ecx
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0xc]
mov dword [esi + ebx + 0x24], eax
add ebx, 0x28
jmp 0x469ca1
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
lea ecx, [esp + 0x570]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
call fcn.0046350e
push 9
pop ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x6dc], ecx
mov dword [esp + 0x6e0], edx
mov dword [esp + 0x6e4], ecx
push 3
pop ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x6e8], ecx
cmp dword [esp + 0xa7c], 0x80000001
mov dword [esp + 0x6ec], edx
mov dword [esp + 0x6f0], ecx
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x6f4], eax
mov dword [esp + 0x6f8], edx
mov dword [esp + 0x6fc], ecx
jne 0x469fdb
and dword [esp + 0x1c0], 0
lea esi, [esp + 0x570]
lea eax, [esp + 0x1c0]
lea edx, [esp + 0x6dc]
mov ecx, esi
push eax
call fcn.0050c208
pop eax
push 8
pop ecx
push 4
pop edx
call fcn.0048b62b
xor ecx, ecx
inc ecx
mov dword [eax + 4], ecx
mov dword [eax], ecx
lea ecx, [esp + 0x2b0]
mov edx, esi
push 0x698ff4
push eax
call fcn.0050c2ba
pop eax
pop ecx
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
mov edx, esi
mov dword [esp + 0x30], ecx
call fcn.00504c98
test eax, eax
mov dword [esp + 0x64], eax
je 0x46a077
mov edi, edx
mov edx, dword [esp + 0x64]
lea esi, [esp + 0x570]
mov ecx, esi
push edi
call fcn.00504c5c
pop eax
mov eax, dword [esi]
mov dword [esp + 0x14], 0
mov dword [esp + 0x60], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x70], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
lea ecx, [esp + 0xd0]
call fcn.0046350e
movzx ebx, word [esp + 0xaac]
mov esi, eax
rol bx, 8
push 0x20
pop ecx
push 4
pop edx
mov dword [esp + 0x90], ecx
call fcn.0048b62b
mov edi, eax
xor eax, eax
inc eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], esi
and dword [edi + 0xc], 0
mov dword [esp + 0xb8], eax
mov word [edi + 0x1c], bx
lea esi, [esp + 0x2f0]
mov ecx, esi
call fcn.004fdebd
mov dword [esi], edi
mov dword [esi + 4], 0x640130
push 0x148
lea eax, [esp + 0x8a4]
push eax
lea eax, [esp + 0x578]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x598], 3
jne 0x46a0c4
push 0xa
pop ecx
lea eax, [esp + 0xb7c]
lea esi, [esp + 0x8a0]
mov edx, 0x80000000
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x14], edx
cmp ecx, edx
je 0x46be74
movsd xmm0, qword [esp + 0xb94]
movsd xmm1, qword [esp + 0xb9c]
lea edx, [esp + 0x1c0]
mov dword [edx], ecx
movsd qword [edx + 4], xmm0
movsd qword [edx + 0xc], xmm1
lea esi, [esp + 0x7c8]
mov ecx, esi
call fcn.0045feba
cmp byte [esi], 4
jne 0x46a332
mov esi, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c4]
call fcn.00563c9c
jmp 0x46a37a
mov edx, dword [esp + 0xa80]
lea esi, [esp + 0x570]
mov ecx, esi
push dword [esp + 0xa84]
call fcn.005428b0
pop eax
mov eax, dword [esi]
cmp eax, 0x80000000
mov dword [esp + 0x30], eax
jne 0x46a020
mov eax, dword [esp + 0x574]
mov ecx, dword [esp + 0x578]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], ecx
jmp 0x46ae28
lea esi, [esp + 0x570]
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xa90]
mov dword [esp + 0xc], eax
mov ecx, esi
push dword [esp + 0xa94]
call fcn.005428b0
pop eax
mov eax, dword [esi]
cmp eax, 0x80000000
mov dword [esp + 0x14], eax
jne 0x46a2a2
mov eax, dword [esp + 0x574]
mov ecx, dword [esp + 0x578]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], ecx
jmp 0x46ae1b
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x1c0]
mov dword [edx], eax
mov dword [edx + 4], esi
lea esi, [esp + 0x570]
mov ecx, esi
call fcn.0043fb30
cmp byte [esi], 0
je 0x46a6dc
cmp dword [esp + 0x1c4], 0
jne 0x46a704
mov eax, dword [esp + 0x571]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
jmp 0x46b316
lea ebx, [esp + 0x8dc]
mov eax, dword [ebx - 0x34]
mov ecx, dword [ebx - 0x38]
mov esi, dword [ebx - 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0xc], eax
movzx eax, word [ebx - 0xf]
mov word [esp + 0x78], ax
mov al, byte [ebx - 0xd]
mov byte [esp + 0x7a], al
mov eax, ecx
shr eax, 8
mov dword [esp + 0x90], eax
mov al, byte [ebx - 0x10]
mov byte [esp + 0x68], al
mov eax, dword [ebx - 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [ebx - 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [ebx - 0x2c]
mov dword [esp + 8], eax
mov eax, dword [ebx - 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx - 0x20]
mov dword [esp + 0x5c], eax
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0xe8], eax
mov eax, dword [ebx - 0x18]
mov dword [esp + 0x48], eax
mov eax, dword [ebx - 0xc]
mov dword [esp + 0x88], eax
mov eax, dword [ebx - 8]
mov dword [esp + 0x84], eax
mov eax, dword [ebx - 4]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xbd0]
push 0xb4
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0xb4]
movsd xmm0, qword [ebx + 0xb8]
mov ecx, dword [ebx + 0xdc]
mov edx, dword [ebx + 0xf0]
cmp dword [esp + 0x64], 0
mov dword [esp + 0xec], eax
mov eax, dword [ebx + 0xd0]
movsd qword [esp + 0x310], xmm0
movsd xmm0, qword [ebx + 0xc0]
mov dword [esp + 0xe0], ecx
mov ecx, dword [ebx + 0xf8]
mov dword [esp + 0xe4], edx
mov edx, dword [ebx + 0xfc]
mov dword [esp + 0x328], eax
mov eax, dword [ebx + 0xd4]
movsd qword [esp + 0x318], xmm0
movsd xmm0, qword [ebx + 0xc8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [ebx + 0x100]
mov dword [esp + 0xb4], edx
mov edx, dword [ebx + 0x104]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0xd8]
movsd qword [esp + 0x320], xmm0
movsd xmm0, qword [ebx + 0xe1]
mov dword [esp + 0x1bc], ecx
mov ecx, dword [ebx + 0x108]
mov dword [esp + 0x64], edx
mov dword [esp + 0xb8], eax
movzx eax, word [ebx + 0xf5]
movsd qword [esp + 0x340], xmm0
movq xmm0, qword [ebx + 0xe8]
mov dword [esp + 0x1b8], ecx
mov word [esp + 0x74], ax
mov al, byte [ebx + 0xe0]
movq qword [esp + 0x347], xmm0
mov byte [esp + 0x5b], al
mov al, byte [ebx + 0xf7]
mov byte [esp + 0x76], al
mov al, byte [ebx + 0xf4]
mov byte [esp + 0x5a], al
je 0x46a28a
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x70]
call fcn.00563c9c
mov edi, dword [esp + 0x48]
shr edi, 8
lea ecx, [esp + 0x2b0]
call fcn.0047189e
jmp 0x46b86b
lea esi, [esp + 0x570]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 8]
and dword [esp + 0x7c8], 0
mov dword [esp + 0x7cc], 4
and dword [esp + 0x7d0], 0
mov edx, dword [esi + 8]
mov eax, dword [esi + 4]
mov dword [esp + 0x90], edx
lea edx, [esp + 0x100]
mov dword [esp + 0x18], eax
mov dword [edx], ebx
mov dword [edx + 4], edi
mov ecx, esi
call fcn.00519bd0
mov ecx, dword [esi]
cmp ecx, 0x80000000
jne 0x46a722
mov eax, dword [esp + 0x574]
mov edx, dword [esp + 0x578]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], edx
lea ecx, [esp + 0x7c8]
call fcn.0045406f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
call fcn.00563c9c
jmp 0x46ae1b
mov edx, dword [esp + 0x1c0]
movsd xmm0, qword [esp + 0x1c8]
mov edi, dword [esp + 0x1d0]
mov eax, dword [esp + 0x7c8]
mov ecx, dword [esp + 0x7cc]
mov esi, dword [esp + 0x1c4]
cmp edx, 0x80000000
movsd qword [esp + 0xb08], xmm0
mov dword [esp + 0xb10], edi
jne 0x46a7a1
mov dword [esp + 0x100], esi
mov dword [esp + 0x11c], 0x80000001
lea ecx, [esp + 0xb7c]
call fcn.004619a5
mov eax, dword [esp + 0x100]
mov dword [esp + 0x64], eax
push 0x64
pop ecx
push 4
pop edx
call fcn.0048b62b
xor ebx, ebx
lea edi, [eax + 8]
mov edx, eax
inc ebx
mov dword [eax], ebx
mov dword [eax + 4], ebx
push 0x17
pop ecx
lea esi, [esp + 0x2b0]
mov dword [esp + 0x10], edi
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
and dword [esp + 0x3b0], 0
mov byte [esp + 0x32c], al
mov eax, dword [esp + 8]
mov byte [esp + 0x32d], al
mov eax, dword [esp + 0xc]
mov word [esp + 0x32e], ax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x33c], eax
push 4
pop eax
mov dword [esp + 0x3b4], eax
and dword [esp + 0x3b8], 0
mov dword [esp + 0x3bc], edx
mov edi, edx
xor ecx, ecx
mov edx, ebx
call fcn.0048b62b
mov esi, eax
xor ecx, ecx
mov edx, ebx
call fcn.0048b62b
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], 0x697ff4
mov dword [esp + 0x110], eax
mov ecx, 0x80000000
mov eax, 0x4000
mov dword [esp + 0x114], 0x698004
and dword [esp + 0x100], 0
and dword [esp + 0x11c], 0
and dword [esp + 0x118], 0
and dword [esp + 0x124], 0
and dword [esp + 0x120], 0
and word [esp + 0x128], 0
mov word [esp + 0x1a4], 0xa
mov word [esp + 0x1ac], 0x100
mov dword [esp + 0x178], 2
mov dword [esp + 0x180], ecx
and dword [esp + 0x1ae], 0
and dword [esp + 0x1b1], 0
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], eax
and dword [esp + 0x138], 0
push 4
pop esi
mov edx, 0x10000
mov dword [esp + 0x13c], esi
and dword [esp + 0x140], 0
and dword [esp + 0x144], 0
mov dword [esp + 0x148], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x14c], edx
and dword [esp + 0x150], 0
mov dword [esp + 0x154], esi
and dword [esp + 0x158], 0
and dword [esp + 0x15c], 0
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], edx
and dword [esp + 0x168], 0
mov dword [esp + 0x16c], esi
and dword [esp + 0x170], 0
and dword [esp + 0x174], 0
mov dword [esp + 0x198], ecx
xor edx, edx
cmp dword [edi + 8], edx
je 0x46a5ad
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
lea ecx, [eax - 0x20]
cmp ecx, 0x3fe5
ja 0x46be86
add eax, 0xfffffffb
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x33c]
movsd xmm1, qword [esp + 0x334]
lea edi, [esp + 0x6c8]
movsd xmm0, qword [esp + 0x32c]
mov esi, dword [esp + 0x30]
and dword [esp + 0x6c0], 0
mov byte [esp + 0x6c4], 0
mov dword [esp + 0x6b8], 2
mov dword [edi + 0x10], eax
movsd qword [edi + 8], xmm1
mov eax, dword [esp + 0x3b8]
movsd xmm1, qword [esp + 0x3b0]
movsd qword [edi], xmm0
mov dword [esp + 0x3c0], esi
mov dword [esp + 0x568], eax
movsd qword [esp + 0x560], xmm1
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [edx + eax + 8]
push eax
call dword [ecx + 0x10]
add esp, 4
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
mov byte [esp + 0xc], al
call fcn.0050e639
lea esi, [esp + 0x700]
push edi
push eax
push esi
call dword [edx + 0x24]
add esp, 0xc
cmp dword [esi + 8], 0x80000000
jne 0x46a6ae
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x34]
mov edx, dword [eax + 0x38]
call fcn.0050e639
lea ecx, [esp + 0x6c8]
push ecx
push eax
lea eax, [esp + 0x1c8]
push eax
call dword [edx + 0x18]
add esp, 0xc
mov eax, dword [esp + 0x1c8]
cmp eax, 0x80000000
jne 0x46a935
mov dword [esp + 0x768], 0x3b9aca00
jmp 0x46a996
lea edi, [esp + 0x1c4]
push 0x10
pop ecx
lea esi, [esp + 0x700]
rep movsd dword es:[edi], dword [esi]
push 0x11
pop ecx
lea edi, [esp + 0xab0]
lea esi, [esp + 0x1c0]
mov eax, 0x80000000
jmp 0x46a94c
lea esi, [esp + 0x570]
lea edx, [esp + 0x1c0]
mov ecx, esi
call fcn.0043fe60
cmp byte [esi], 0
je 0x46a704
cmp dword [esp + 0x1c4], 0
je 0x46b2df
lea ecx, [esp + 0x2b0]
call fcn.0047189e
push 5
pop eax
mov dword [esp + 0xc], eax
mov al, 0x15
mov dword [esp + 0x20], eax
jmp 0x46ae64
mov eax, dword [esp + 0x574]
imul ebx, dword [esp + 0x578], 0xc
lea edx, [eax + ebx]
lea edi, [eax + 0xc]
mov dword [esp + 0x570], eax
mov dword [esp + 0x574], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x57c], edx
test ebx, ebx
je 0x46accb
mov ecx, dword [eax]
cmp ecx, 0x80000000
je 0x46acc7
lea esi, [eax + 0xc]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1c4], edx
lea ecx, [esp + 0x7c8]
lea edx, [esp + 0x1c0]
call fcn.0047d95a
add ebx, 0xfffffff4
add edi, 0xc
mov eax, esi
jmp 0x46a750
lea edi, [esp + 0x7dc]
movsd xmm0, qword [esp + 0xb08]
mov dword [edi - 0x14], edx
mov edx, dword [esp + 0xb10]
mov dword [edi - 0x10], esi
movsd qword [edi - 0xc], xmm0
mov dword [edi - 4], edx
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ecx, edi
call fcn.0045d2c3
lea esi, [esp + 0x700]
lea ebx, [esp + 0x1d4]
mov byte [esp + 0x30], al
and dword [esi], 0
mov dword [esi + 4], 1
and dword [ebx + 8], 0
mov dword [ebx - 4], 0x20
mov byte [ebx + 0xc], 3
and dword [ebx - 0x14], 0
and dword [ebx - 0xc], 0
and dword [esi + 8], 0
mov dword [ebx], esi
mov dword [ebx + 4], 0x63ef64
lea eax, [esp + 0x1c0]
push eax
push edi
call fcn.005417e0
pop ecx
pop edx
movzx ecx, al
call fcn.0046361a
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
lea ecx, [esp + 0x9e8]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov eax, ecx
movzx edx, byte [esp + 0x30]
lea ecx, [esp + 0x100]
push eax
call fcn.00519184
pop eax
mov eax, dword [edi + 4]
movsd xmm2, qword [edi - 0x14]
movsd xmm1, qword [edi - 0xc]
movsd xmm0, qword [edi - 4]
mov dword [ebx + 4], eax
mov eax, dword [edi - 4]
movsd qword [ebx - 4], xmm0
movsd qword [ebx - 0xc], xmm1
movsd qword [ebx - 0x14], xmm2
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm2
mov dword [esi + 0x10], eax
push ebx
call fcn.0045c928
pop eax
lea edi, [esp + 0xb90]
mov ecx, edi
call fcn.004619c1
mov eax, dword [esi + 0x10]
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov dword [edi + 0x10], eax
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm0
lea eax, [esp + 0x108]
push 0xa
pop ecx
lea esi, [esp + 0xb7c]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp dword [eax + 0x14], 0x80000001
je 0x46a398
push 0xc
pop ecx
lea eax, [esp + 0x1c0]
lea esi, [esp + 0x100]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
lea ecx, [esp + 0x1c8]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x64], eax
call fcn.004619a5
cmp bl, 4
je 0x46a3a3
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c4], eax
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x640150
push 0x63efcc
push esi
call fcn.0043f6f0
lea esi, [esp + 0x1cc]
mov ebx, dword [esi - 0xc]
mov edx, dword [esi - 8]
push 0x15
pop ecx
lea edi, [esp + 0xab0]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x9f4]
mov dword [edi - 0xc], ebx
mov dword [edi - 8], edx
mov dword [edi - 4], eax
push 0x15
pop ecx
lea esi, [esp + 0xab0]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x700]
mov ecx, esi
call fcn.0050c1b6
mov eax, dword [esi]
or eax, dword [esi + 4]
je 0x46a9f8
mov dword [esp + 0x768], 0x3b9aca00
lea ecx, [esp + 0x9e8]
call fcn.0050e649
mov dword [esp + 0xb70], 0x3b9aca00
lea ecx, [esp + 0x700]
call fcn.0050e65f
push 5
pop edx
mov ecx, dword [esp + 0x10]
call fcn.0050e673
test al, al
je 0x46a9f1
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x38]
mov ecx, dword [eax + 0x34]
call fcn.0050e639
lea ecx, [esp + 0x6c8]
push ecx
push eax
call dword [edx + 0x10]
add esp, 8
cmp ax, 0xb
jne 0x46aa9b
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0x24]
jmp 0x46aab5
xor ebx, ebx
jmp 0x46ab67
mov ecx, dword [esp + 0x710]
mov edx, dword [esp + 0x70c]
mov eax, dword [esp + 0x708]
mov dword [esp + 8], ecx
push 0x18
pop ecx
lea ebx, [esp + 0x1c0]
lea esi, [esp + 0x9e8]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x1d0]
mov dword [esp + 0x14], edx
mov esi, dword [esp + 8]
mov dword [ecx + 0x54], edx
mov dword [ecx + 0x50], eax
mov edx, eax
mov dword [ecx + 0x58], esi
mov edi, dword [ecx - 8]
cmp edi, 0x80000000
cmove ebx, ecx
mov esi, dword [ebx + 0x2c]
test esi, esi
je 0x46abff
cmp edi, 0x80000000
lea eax, [esp + 0x1c0]
cmovne ecx, eax
xor eax, eax
dec eax
add esi, dword [ecx]
mov ecx, dword [ecx + 4]
adc ecx, 0
cmovb esi, eax
cmovb ecx, eax
cmp esi, edx
sbb ecx, dword [esp + 0x14]
jae 0x46abff
mov dword [esp + 0x768], 0x3b9aca00
lea ecx, [esp + 0x1c0]
jmp 0x46a991
mov edi, dword [esp + 0x30]
mov esi, dword [edi + 0x24]
mov ecx, eax
push esi
push dword [edi + 0x20]
call fcn.0050e6bf
pop ecx
pop edx
mov edx, eax
test eax, eax
jne 0x46aac6
test esi, esi
je 0x46bf36
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
lea esi, [esp + 0x1c0]
mov ecx, esi
call fcn.0050e6f2
lea eax, [esp + 0xab0]
mov byte [eax], 0xf
lea edi, [esp + 0x700]
mov edx, esi
mov ecx, edi
push eax
call fcn.0050e7e1
pop eax
mov ebx, dword [edi]
test ebx, ebx
je 0x46ac39
lea eax, [esp + 0x714]
mov cl, byte [eax - 0x10]
mov byte [esp + 8], cl
movzx ecx, word [eax - 0xf]
mov word [esp + 0x880], cx
mov cl, byte [eax - 0xd]
mov byte [esp + 0x882], cl
mov ecx, dword [eax - 0xc]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax - 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax - 4]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x9e8]
push 0x94
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, word [esp + 0x880]
mov cl, byte [esp + 0x882]
mov word [esp + 0xcc], ax
mov byte [esp + 0xce], cl
cmp dword [esp + 0xb70], 0x3b9aca00
je 0x46ab81
cmp dword [esp + 0xb10], 0x80000000
jne 0x46abd0
push 5
pop edx
mov ecx, dword [esp + 0x10]
call fcn.0050e673
test al, al
je 0x46abb0
lea esi, [esp + 0x1c0]
mov ecx, esi
call fcn.00504beb
cmp dword [esi], 0
jne 0x46abf5
lea esi, [esp + 0x1c4]
jmp 0x46b360
and dword [esp + 0xad0], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0xac0], xmm0
movaps xmmword [esp + 0xab0], xmm0
jmp 0x46b36c
cmp dword [esp + 0xb18], 0
je 0x46b359
lea esi, [esp + 0x1c0]
mov ecx, esi
call fcn.00504beb
cmp dword [esi], 0
je 0x46b346
mov byte [esp + 0x68], 0xf
jmp 0x46ac94
push 0x1c
pop ecx
lea eax, [esp + 0x700]
lea esi, [esp + 0x1c0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp dword [eax + 0x68], 0x3b9aca00
je 0x46a996
push 0x1c
pop ecx
lea edi, [esp + 0xb08]
lea esi, [esp + 0x700]
rep movsd dword es:[edi], dword [esi]
jmp 0x46a9ad
mov al, byte [esp + 0x704]
mov cl, byte [esp + 0x707]
mov edx, dword [esp + 0x708]
mov edi, dword [esp + 0x70c]
mov esi, dword [esp + 0x710]
mov byte [esp + 0x68], al
movzx eax, word [esp + 0x705]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], edi
mov dword [esp + 0x8c], esi
mov byte [esp + 0xca], cl
mov word [esp + 0x880], ax
mov word [esp + 0xc8], ax
lea ecx, [esp + 0xb08]
call fcn.0050e65f
xor edx, edx
xor ecx, ecx
inc edx
call fcn.00563c9c
lea ecx, [esp + 0x3c0]
call fcn.0050e819
lea ecx, [esp + 0x560]
call fcn.004fc69c
jmp 0x46b474
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x570]
mov dword [ecx + 8], eax
call fcn.004635db
cmp dword [esp + 0x7d0], 0
setne al
cmp dword [esp + 8], 0
sete cl
or cl, al
mov byte [esp + 0x5c], cl
jne 0x46ad20
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 8]
lea edx, [esp + 0x570]
mov dword [edx], eax
mov dword [edx + 4], edi
mov dword [edx + 8], esi
lea ecx, [esp + 0x7c8]
call fcn.0047d95a
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x700]
lea esi, [esp + 0x1c4]
lea edi, [esp + 0x570]
mov dword [eax], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
lea ecx, [esp + 0x100]
and dword [ecx], 0
mov dword [ecx + 4], 4
and dword [ecx + 8], 0
mov ecx, edi
lea edx, [esp + 0x700]
call fcn.0051931e
mov eax, dword [esp + 0x570]
mov ecx, dword [esp + 0x574]
mov edx, dword [esp + 0x578]
cmp eax, 6
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], edx
je 0x46ade5
mov ecx, dword [esp + 0x57c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
cmp eax, 1
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0x1cc], ecx
je 0x46add2
cmp eax, 5
je 0x46b22a
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
call fcn.00563c9c
jmp 0x46ad5a
lea ecx, [esp + 0x100]
mov edx, esi
call fcn.00519c68
jmp 0x46ad5a
lea ecx, [esp + 0x100]
call fcn.00519ca2
mov ecx, 0x80000000
call fcn.004767d9
lea ecx, [esp + 0x7c8]
call fcn.0045406f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
call fcn.00563c9c
cmp byte [esp + 0x5c], 0
je 0x46ae28
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
call fcn.00563c9c
mov eax, dword [esp + 0x20]
lea esi, [esp + 0x6f4]
shr eax, 8
mov dword [esp + 0x90], eax
push 9
pop ecx
mov edx, dword [esp + 0x1c]
call fcn.004fe49d
push 3
pop ecx
mov edx, dword [esp + 0x48]
call fcn.00453deb
mov ecx, esi
call fcn.00471909
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], ecx
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.004fdf4f
mov ecx, dword [esp + 0xd0]
mov edx, edi
call fcn.00558c53
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
call fcn.00563c9c
push 5
pop esi
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0xa7c]
call fcn.00461a28
test bl, bl
je 0x46aee2
cmp byte [esp + 0x60], 0
jne 0x46aee2
mov ecx, dword [esp + 0x394]
mov edx, dword [esp + 0x398]
call fcn.00563c9c
cmp dword [esp + 0x70], 4
je 0x46aef5
lea ecx, [esp + 0x8a0]
call fcn.00461927
mov eax, dword [esp + 0x90]
movzx ecx, byte [esp + 0x20]
shl eax, 8
or ecx, eax
cmp esi, 5
mov dword [esp + 0x30], ecx
jne 0x46af4e
lea ecx, [esp + 0xc88]
call fcn.004618e0
lea ecx, [esp + 0x7b8]
call fcn.00436687
lea ecx, [esp + 0x7a8]
call fcn.00436687
cmp dword [esp + 0xc], 8
je 0x466f60
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x5c]
shr edi, 8
jmp 0x466a83
movzx eax, byte [esp + 0x48]
shl edi, 8
or eax, edi
mov edi, eax
movzx eax, word [esp + 0x78]
mov word [esp + 0x7c8], ax
mov al, byte [esp + 0x7a]
mov byte [esp + 0x7ca], al
mov ecx, 0xb4
lea eax, [esp + 0xbd0]
push ecx
push eax
lea eax, [esp + 0x578]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x318]
mov eax, dword [esp + 0x328]
movsd xmm0, qword [esp + 0x310]
movsd xmm2, qword [esp + 0x340]
movsd qword [esp + 0x1c8], xmm1
movsd xmm1, qword [esp + 0x320]
mov dword [esp + 0x1d8], eax
movzx eax, word [esp + 0x74]
movsd qword [esp + 0x1c0], xmm0
movsd qword [esp + 0x100], xmm2
movsd qword [esp + 0x1d0], xmm1
movsd xmm1, qword [esp + 0x347]
mov word [esp + 0x700], ax
mov al, byte [esp + 0x76]
movsd qword [esp + 0x107], xmm1
mov byte [esp + 0x702], al
mov ecx, dword [esp + 0x4c]
call fcn.004614a2
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0xc]
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x50], eax
mov eax, dword [esp + 0xe8]
mov dword [ebx + 0x5c], edi
mov dword [ebx + 0x58], eax
mov al, byte [esp + 0x68]
mov dword [ebx + 0x60], esi
mov byte [ebx + 0x64], al
movzx eax, word [esp + 0x7c8]
mov word [ebx + 0x65], ax
mov al, byte [esp + 0x7ca]
mov byte [ebx + 0x67], al
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x68], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x6c], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x70], eax
lea eax, [ebx + 0x74]
mov ecx, 0xb4
push ecx
lea ecx, [esp + 0x574]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
lea edi, [ebx + 0x1a0]
mov dword [ebx + 0x128], eax
movsd xmm0, qword [esp + 0x1c0]
movsd xmm1, qword [esp + 0x1c8]
movsd qword [ebx + 0x12c], xmm0
movsd qword [ebx + 0x134], xmm1
movsd xmm0, qword [esp + 0x1d0]
movsd qword [ebx + 0x13c], xmm0
mov eax, dword [esp + 0x1d8]
mov dword [ebx + 0x144], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x148], eax
mov eax, dword [esp + 0xb8]
mov dword [ebx + 0x14c], eax
mov eax, dword [esp + 0xe0]
mov dword [ebx + 0x150], eax
mov al, byte [esp + 0x5b]
mov byte [ebx + 0x154], al
mov eax, dword [esp + 0xe4]
movsd xmm0, qword [esp + 0x107]
movsd qword [ebx + 0x15c], xmm0
movsd xmm0, qword [esp + 0x100]
movsd qword [ebx + 0x155], xmm0
mov dword [ebx + 0x164], eax
mov al, byte [esp + 0x5a]
mov byte [ebx + 0x168], al
movzx eax, word [esp + 0x700]
mov word [ebx + 0x169], ax
mov al, byte [esp + 0x702]
mov byte [ebx + 0x16b], al
mov dword [ebx + 0x16c], ecx
mov ecx, dword [esp + 0x1bc]
mov dword [ebx + 0x170], edx
mov edx, dword [esp + 0x64]
mov dword [ebx + 0x174], ecx
mov ecx, dword [esp + 0x1b8]
mov dword [ebx + 0x178], edx
mov dword [ebx + 0x17c], ecx
movsd xmm0, qword [esp + 0x7a8]
movsd xmm1, qword [esp + 0x7b0]
movsd qword [ebx + 0x188], xmm1
movsd qword [ebx + 0x180], xmm0
movq xmm0, qword [esp + 0x7b8]
movq xmm1, qword [esp + 0x7c0]
movq qword [ebx + 0x198], xmm1
movq qword [ebx + 0x190], xmm0
push 0x11
pop ecx
lea esi, [esp + 0xc88]
rep movsd dword es:[edi], dword [esi]
mov byte [ebx + 0x1e4], 0
jmp 0x466f60
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x108]
cmp eax, 0x80000000
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], edx
je 0x46adf1
mov esi, dword [esp + 0x20]
imul edx, dword [esp + 0x10], 0xc
mov dword [esp + 0x10], 0x80000000
mov dword [esp + 0x1c], edx
mov dword [esp + 0x570], esi
mov ecx, esi
add edx, esi
mov dword [esp + 0x574], eax
add esi, 0xc
xor eax, eax
mov dword [esp + 0x57c], edx
inc eax
xor edx, edx
mov dword [esp + 0x20], esi
test dl, 1
jne 0x46b893
xor eax, eax
cmp dword [esp + 0x1c], 0
je 0x46b88f
mov edi, dword [ecx]
cmp edi, 0x80000000
je 0x46b88c
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 4]
lea ebx, [ecx + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
call fcn.004767d9
add dword [esp + 0x1c], 0xfffffff4
mov dl, 1
xor eax, eax
mov dword [esp + 8], esi
mov dword [esp + 0x10], edi
mov ecx, ebx
jmp 0x46b28c
mov ecx, dword [esp + 0x577]
mov eax, dword [esp + 0x571]
mov dl, 1
mov dword [esp + 8], edx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x57b]
mov dword [esp + 0xc], eax
movzx eax, word [esp + 0x575]
mov dword [esp + 0x18], ecx
movzx ecx, word [esp + 0x57f]
mov word [esp + 0x104], ax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x102]
mov dword [esp + 0x60], eax
movzx eax, cx
mov dword [esp + 0x1c], eax
mov al, 1
mov dword [esp + 0x14], eax
jmp 0x469ece
lea esi, [esp + 0x1c4]
lea edi, [esp + 0xb3c]
push 9
pop ecx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xb3c]
push 9
pop ecx
lea edi, [esp + 0xab0]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
call fcn.0050e639
push eax
call dword [edx + 0x1c]
add esp, 4
mov byte [esp + 0x10], al
mov al, byte [esp + 0xc]
and dword [esp + 0x550], 0
mov dword [esp + 0x554], 1
and dword [esp + 0x558], 0
mov cl, byte [esp + 8]
mov byte [esp + 0x55c], al
movzx eax, word [esp + 0x2ad]
mov word [esp + 0x55d], ax
lea eax, [esp + 0x714]
mov dword [eax - 0x14], ebx
mov byte [eax - 0x10], cl
movzx ecx, word [esp + 0xcc]
mov word [eax - 0xf], cx
mov cl, byte [esp + 0xce]
mov byte [eax - 0xd], cl
mov ecx, dword [esp + 0x14]
mov dword [eax - 0xc], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax - 8], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax - 4], ecx
mov cl, byte [esp + 0x2af]
mov byte [esp + 0x55f], cl
lea ecx, [esp + 0x9e8]
push 0x94
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
xorps xmm0, xmm0
lea ecx, [esp + 0x880]
mov dword [esp + 0x3c4], esi
movaps xmmword [ecx + 0x10], xmm0
movaps xmmword [ecx], xmm0
call fcn.00504a7c
test al, al
je 0x46b4d0
lea ecx, [esp + 0xb08]
call fcn.0050e65f
lea ecx, [esp + 0x3c4]
call fcn.0050e819
lea ecx, [esp + 0x560]
call fcn.004fc69c
xor edx, edx
xor ecx, ecx
inc edx
call fcn.00563c9c
mov byte [esp + 0x68], 0xf
lea ecx, [esp + 0x6c8]
call fcn.004fc0cf
cmp byte [esp + 0x68], 0x14
je 0x46b5b8
mov al, byte [esp + 0xca]
movzx edx, word [esp + 0xc8]
mov byte [esp + 0x7e], al
mov word [esp + 0x7c], dx
lea ecx, [esp + 0x100]
call fcn.0050a84d
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
jmp 0x46bebb
movaps xmm0, xmmword [esp + 0x880]
movaps xmm1, xmmword [esp + 0x890]
lea eax, [esp + 0x250]
movaps xmmword [eax - 0x80], xmm1
movaps xmmword [eax - 0x90], xmm0
push 9
pop ecx
lea esi, [esp + 0xab0]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x1e0]
mov ecx, dword [esp + 0x6d8]
movsd xmm0, qword [esp + 0x6c8]
movsd xmm1, qword [esp + 0x6d0]
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x30]
movsd qword [eax + 0x30], xmm1
movsd qword [eax + 0x28], xmm0
mov dword [eax + 0x24], ecx
push 0x1c
pop ecx
lea esi, [esp + 0xb08]
rep movsd dword es:[edi], dword [esi]
and word [eax + 0x48], 0
and dword [eax + 0x3c], 0
push 2
pop ecx
mov dword [eax + 0x40], ecx
and dword [eax + 0x44], 0
sub esp, 0x20
lea eax, [esp + 0x6d8]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x570]
xor edx, edx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1e0]
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x30]
mov dword [esp + 8], eax
lea eax, [esp + 0x580]
mov dword [esp + 4], eax
lea eax, [esp + 0x720]
mov dword [esp], eax
call fcn.0050e82b
add esp, 0x20
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
lea eax, [esp + 0x114]
movsd xmm0, qword [esp + 0x6b8]
movsd xmm1, qword [esp + 0x6c0]
mov cl, byte [eax - 0x10]
mov edi, dword [eax - 0x14]
movsd qword [esp + 0x26c], xmm1
movsd qword [esp + 0x264], xmm0
mov byte [esp + 0x68], cl
movzx ecx, word [eax - 0xf]
mov word [esp + 0x7c], cx
mov cl, byte [eax - 0xd]
mov byte [esp + 0x7e], cl
mov ecx, dword [eax - 0xc]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax - 8]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax - 4]
mov dword [esp + 0x8c], ecx
mov ecx, 0xa4
push ecx
push eax
lea esi, [esp + 0x1c8]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0xb4
push esi
lea eax, [esp + 0x7d0]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp edi, 2
je 0x46bebb
mov al, byte [esp + 0x7e]
mov esi, edi
mov byte [esp + 0xc6], al
movzx eax, word [esp + 0x7c]
mov word [esp + 0xc4], ax
mov ebx, 0xb4
push ebx
lea eax, [esp + 0x7cc]
push eax
lea edi, [esp + 0x1c8]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xbbc]
movsd xmm0, qword [esp + 0xba4]
movsd xmm1, qword [esp + 0xbac]
movzx ecx, word [esp + 0xc4]
mov dword [esp + 0x118], eax
movzx eax, word [esp + 0x2aa]
movsd qword [esp + 0x100], xmm0
movsd xmm0, qword [esp + 0xbb4]
movsd qword [esp + 0x108], xmm1
movsd xmm1, qword [esp + 0xbc8]
mov word [esp + 0x7c8], cx
mov word [esp + 0x78], cx
mov word [esp + 0x9e8], ax
mov al, byte [esp + 0x2ac]
movsd qword [esp + 0x110], xmm0
movsd xmm0, qword [esp + 0xbc1]
mov byte [esp + 0x9ea], al
mov al, byte [esp + 0xc6]
movsd qword [esp + 0x700], xmm0
movsd qword [esp + 0x707], xmm1
mov byte [esp + 0x7ca], al
mov byte [esp + 0x7a], al
lea eax, [esp + 0xbd0]
push ebx
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x108]
mov eax, dword [esp + 0x118]
movq xmm0, qword [esp + 0x100]
movsd xmm2, qword [esp + 0x700]
movsd qword [esp + 0x318], xmm1
movsd xmm1, qword [esp + 0x110]
mov dword [esp + 0x328], eax
movzx eax, word [esp + 0x9e8]
movq qword [esp + 0x310], xmm0
movsd qword [esp + 0x340], xmm2
movsd qword [esp + 0x320], xmm1
movq xmm1, qword [esp + 0x707]
mov word [esp + 0x74], ax
mov al, byte [esp + 0x9ea]
movq qword [esp + 0x347], xmm1
mov byte [esp + 0x76], al
mov ecx, 0x2000
xor edx, edx
mov dword [esp + 0x6c], 0
call fcn.00426eaa
mov dword [esp + 0x1c], eax
mov dword [esp + 0x5c], edx
call fcn.00457fbe
cmp dword [esp + 0x598], 3
mov dword [esp + 0xc], eax
je 0x46b803
lea ecx, [esp + 0x570]
call fcn.00461927
mov byte [esp + 0x5b], 0x14
push 2
pop eax
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov byte [esp + 0x5a], 0x14
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x30]
call fcn.00563c9c
lea ecx, [esp + 0xa7c]
call fcn.00461a28
jmp 0x46aef5
add ecx, 0xc
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x570]
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], edx
call fcn.004635db
cmp dword [esp + 0x10], 0x80000000
jne 0x46b8d0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x10], ecx
jmp 0x46b8dd
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
call fcn.00563c9c
mov edi, dword [esp + 0x7c8]
mov ebx, dword [esp + 0x7cc]
mov esi, dword [esp + 0x7d0]
cmp byte [esp + 0x5c], 0
je 0x46b906
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
call fcn.00563c9c
mov dword [esp + 0x3a4], edi
lea edi, [esp + 0x570]
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x3ac], esi
and dword [edi], 0
lea eax, [esp + 0x570]
lea ecx, [esp + 0x9e8]
lea edx, [esp + 0x6dc]
push eax
call fcn.0050c208
pop eax
mov edx, dword [esp + 8]
mov ecx, edi
push dword [esp + 0x48]
call fcn.004f31ab
pop eax
cmp dword [edi], 0
je 0x46b96b
push 0x20
pop ecx
lea edi, [esp + 0x1c0]
lea esi, [esp + 0x570]
rep movsd dword es:[edi], dword [esi]
jmp 0x46b9ab
lea esi, [esp + 0x100]
mov edx, 0x6c3e90
mov ecx, esi
push dword [esp + 0x48]
push dword [esp + 0xc]
push 0
push 0xd
call fcn.004f1996
add esp, 0x10
mov edx, dword [esi]
test edx, edx
je 0x46ba2c
lea ecx, [esp + 0x1c0]
push dword [esp + 0x104]
call fcn.004f31ab
pop eax
cmp dword [esp + 0x1c0], 0
je 0x46ba3a
push 8
pop edx
mov ecx, 0x88
call fcn.0048b62b
mov ebx, eax
xor eax, eax
inc eax
lea edi, [ebx + 8]
mov dword [ebx], eax
mov dword [ebx + 4], eax
push 0x20
pop ecx
lea esi, [esp + 0x1c0]
rep movsd dword es:[edi], dword [esi]
push 0xc
pop ecx
push 4
pop edx
call fcn.0048b62b
mov esi, eax
xor eax, eax
mov dword [esp + 0x30], 0x69962c
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], ebx
jmp 0x46bb7b
mov eax, dword [esp + 0x104]
mov dword [esp + 0x1c4], eax
mov edx, dword [esp + 8]
lea esi, [esp + 0x570]
mov ecx, esi
push 0x699640
push 3
push dword [esp + 0x50]
call fcn.0050e42e
add esp, 0xc
cmp word [esi], 0xe
jne 0x46bb5e
lea ecx, [esp + 0x570]
call fcn.0050e617
mov edx, dword [esp + 8]
lea esi, [esp + 0x570]
mov ecx, esi
push 0x699670
push 5
push dword [esp + 0x50]
call fcn.0050e42e
add esp, 0xc
cmp word [esi], 0xe
jne 0x46bb5e
lea ecx, [esp + 0x570]
call fcn.0050e617
lea esi, [esp + 0x570]
mov edx, 0x695570
mov ecx, esi
push dword [esp + 0x48]
push dword [esp + 0xc]
push 1
call fcn.004f1969
add esp, 0xc
mov eax, dword [esi]
test eax, eax
je 0x46bd4e
lea ecx, [esp + 0x570]
mov edx, dword [ecx + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
and dword [ecx + 8], 0
mov dword [esp + 0x30], esi
mov dword [esp + 0xc], edi
push 4
pop edx
call fcn.004eef81
test eax, eax
je 0x46bd4e
mov ecx, dword [esp + 0x578]
cmp ecx, dword [esp + 0x574]
jne 0x46bd4e
cmp dword [esp + 0x30], 0
mov esi, edx
je 0x46bc92
lea edi, [esp + 0x570]
mov edx, eax
mov ecx, edi
push esi
call fcn.004f17b3
pop eax
cmp byte [edi], 0
je 0x46bcb2
mov eax, dword [esp + 0x574]
mov ecx, dword [esp + 0x578]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], ecx
jmp 0x46bd4e
mov ecx, dword [esp + 0x570]
mov edx, dword [esp + 0x574]
call fcn.0050e5f1
mov esi, eax
mov dword [esp + 0x30], 0x69965c
push 0x34
pop ecx
push 4
pop edx
call fcn.0048b62b
xor ebx, ebx
mov edi, eax
inc ebx
mov dword [eax], ebx
mov dword [eax + 4], ebx
movq xmm0, qword [esp + 0x3a4]
movq qword [eax + 8], xmm0
mov eax, dword [esp + 0x3ac]
mov dword [edi + 0x10], eax
mov eax, 0x80000000
mov dword [edi + 0x14], eax
mov dword [edi + 0x20], eax
mov eax, dword [esp + 0x30]
mov dword [edi + 0x2c], esi
mov dword [edi + 0x30], eax
push 0xc
pop ecx
push 4
pop edx
call fcn.0048b62b
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
lea esi, [esp + 0x7c8]
lea edx, [esp + 0x9e8]
mov ecx, esi
push 0x699028
push eax
call fcn.0050c2ba
pop eax
pop ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
call fcn.00563c9c
mov edx, dword [esi]
cmp edx, 2
jne 0x46bc45
mov eax, dword [esp + 0x7d0]
mov ecx, dword [esp + 0x7cc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x7d4]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x7d8]
mov dword [esp + 8], eax
mov eax, ecx
shr eax, 8
mov dword [esp + 0x90], eax
push 5
pop eax
mov dword [esp + 0xc], eax
jmp 0x46ae64
lea esi, [esp + 0x7dc]
mov eax, dword [esi - 0x10]
mov ebx, dword [esi - 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esi - 8]
mov dword [esp + 0xc], eax
mov eax, dword [esi - 4]
mov dword [esp + 8], eax
lea eax, [esp + 0x2c4]
push 0x12
pop ecx
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [eax - 0xc], ebx
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov dword [eax - 0x10], ecx
mov dword [eax - 8], edi
mov dword [eax - 4], esi
mov dword [eax - 0x14], edx
jmp 0x469e6f
lea edi, [esp + 0x1c0]
mov edx, eax
mov ecx, edi
push esi
call fcn.004f17b3
pop eax
cmp byte [edi], 0
jne 0x46bd4e
jmp 0x46bde6
lea esi, [esp + 0x57c]
lea ebx, [esp + 0x10b]
mov al, byte [esi - 9]
mov byte [ebx - 9], al
movzx eax, word [esi - 0xb]
mov word [ebx - 0xb], ax
mov eax, dword [esi - 8]
mov dword [esp + 0x14], eax
mov eax, dword [esi - 4]
mov dword [esp + 0x18], eax
push 0x55
pop ecx
lea eax, [esp + 0x700]
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push 0x55
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [ebx - 8], eax
mov eax, dword [esp + 0x18]
mov dword [ebx - 4], eax
lea eax, [esp + 0x140]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
push 0x20
push eax
call fcn.004efbf9
pop ecx
pop edx
test al, al
je 0x46bdcc
cmp dword [esp + 0xc], 0x20
push 0x16
pop eax
push 0xf
pop edx
cmove edx, eax
mov eax, str.InconsistentComponentsInvalidComponentInvalidEncodingRNG_failedPublicKeyIsMissingTooSmallTooLargeVersionNotSupportedWrongAlgorithmPrivateModulusLenNotMultipleOf512BitsUnexpectedErrorassertion_failed:_digest_alg.block_len_____digest_alg.output_len__C:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_ring_0.17.8_srchkdf.rs
mov ecx, 0x69640a
cmove ecx, eax
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], edx
push 0x13
pop esi
mov ecx, esi
xor edx, edx
call fcn.004f0419
mov edi, eax
mov ebx, edx
push esi
push str.invalid_private_keyC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rustls_0.21.10_srcclienths.rs
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x3a4]
call fcn.0045406f
mov byte [esp + 0x7cc], 0xd
mov dword [esp + 0x7d0], edi
mov dword [esp + 0x7d4], ebx
mov dword [esp + 0x7d8], esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
call fcn.00563c9c
lea esi, [esp + 0xa00]
mov ecx, dword [esi - 0x18]
mov edx, dword [esi - 0x14]
call fcn.004fe49d
mov ecx, dword [esi - 0xc]
mov edx, dword [esi - 8]
call fcn.00453deb
mov ecx, esi
call fcn.004fdebd
jmp 0x46bc01
lea eax, [esp + 0x1c1]
push 0x60
lea ecx, [esp + 0x104]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
xor ebx, ebx
lea esi, [esp + 0x1c0]
inc ebx
or esi, ebx
push 0x68
pop ecx
push 4
pop edx
call fcn.0048b62b
mov dword [eax], ebx
mov edi, eax
mov dword [eax + 4], ebx
add eax, 8
push 0x60
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x10
pop ecx
push 4
pop edx
call fcn.0048b62b
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov esi, eax
mov dword [eax + 0xc], edi
mov dword [eax + 8], 0xb
mov dword [esp + 0x30], 0x69968c
jmp 0x46bb7b
push 0xf
pop edx
mov ecx, str.incomplete_conn
push 0x63f688
call fcn.004408d0
push 4
pop ecx
push 0x48
jmp 0x46be5a
push 4
pop ecx
push 0xc
pop edx
call fcn.00434230
call fcn.004341f0
call fcn.004341f0
push 4
pop ecx
mov edx, esi
call fcn.00434230
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__valueC:Users_admin.cargo_registry_srcindex.crates.io_6f17d22bba15001fwinapi_util_0.1.6_srcwin.rs
push 0x63f280
call fcn.0043a9e0
lea ecx, [esp + 0x100]
call fcn.0050a84d
lea ecx, [esp + 0x3b0]
call fcn.004fc69c
lea ecx, [esp + 0x32c]
call fcn.004fc0cf
lea ecx, [esp + 0x3bc]
call fcn.0050e819
mov byte [esp + 0x68], 0x13
mov al, byte [esp + 0x7e]
mov dl, byte [esp + 0x68]
movzx ecx, word [esp + 0x7c]
mov byte [esp + 0x1c0], dl
mov byte [esp + 0x7ca], al
mov byte [esp + 0x1c3], al
mov eax, dword [esp + 0x88]
mov word [esp + 0x1c1], cx
mov word [esp + 0x7c8], cx
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x1cc], eax
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x640160
push 0x63efdc
lea eax, [esp + 0x1c8]
push eax
call fcn.0043f6f0
push 0x17
pop edx
mov ecx, str.No_kx_groups_configured
push 0x699580
call fcn.004408d0
jmp 0x46bfa2
cmp dword [esp + 0x3c8], 0
mov dword [esp + 0x54], eax
je 0x46bfcb
mov ecx, dword [esp + 0x3cc]
xor edx, edx
inc edx
call fcn.004256e0
jmp 0x46bfcb
cmp dword [esp + 0x8a0], 0
je 0x46bfe4
mov ecx, dword [esp + 0x8a4]
push 2
pop edx
call fcn.004256e0
cmp dword [esp + 0x1c0], 0
je 0x46bffd
mov ecx, dword [esp + 0x1c4]
push 2
pop edx
call fcn.004256e0
mov esi, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
test esi, esi
mov dword [esp + 0x30], eax
je 0x46c032
mov eax, dword [esp + 0x30]
xor ebx, ebx
inc ebx
lea edi, [eax + 4]
cmp dword [edi - 4], 0
je 0x46c02c
mov ecx, dword [edi]
mov edx, ebx
call fcn.004256e0
add edi, 0x10
dec esi
jne 0x46c01d
cmp dword [esp + 0x100], 0
je 0x46c048
push 4
pop edx
mov ecx, dword [esp + 0x30]
call fcn.004256e0
push dword [esp + 0x54]
call fcn.0056dac0
nop dword [eax]
sbb edx, dword [eax + eax]
arpl word [0x5750000], ax
add byte [eax], al
sbb eax, 0x1f000054
push esp
add byte [eax], al
test al, 7
add byte [eax], al
mov edx, 0x31000007
push esp
add byte [eax], al
xor dword [eax], 0x312a0000
add byte [eax], al
xchg ebp, eax
xor dword [eax], eax
add bl, al
xor dword [eax], eax
add byte [ebp + 0x33], dl
add byte [eax], al
jnp 0x46c0bd
add byte [eax], al
fidiv word [ebx]
add byte [eax], al
xor eax, dword [eax]
add byte [ebx + 0x34], bl
add byte [eax], al
jg 0x46c0ce
add byte [eax], al
fbstp tbyte [eax + eax]
add bh, dh
xor al, 0
add byte [ebp - 0x77], dl
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov ebx, ecx
mov esi, esp
mov ecx, esi
push dword [ebp + 8]
call fcn.0046c11b
pop eax
mov eax, dword [esi]
pop edx
add byte [eax], al
add byte [eax - 0x75], bl
push es
xor eax, 7
or eax, dword [esi + 4]
jne 0x46c0f9
movsd xmm1, qword [esp + 0x18]
adc byte [esp + 0x18], cl
movsd xmm0, qword [esp + 0x20]
movsd xmm2, qword [esp + 8]
movsd qword [ebx + 0x10], xmm1
movsd xmm1, qword [esp + 0x10]
movsd qword [ebx + 0x18], xmm0
movsd qword [ebx], xmm2
movsd qword [ebx + 8], xmm1
jmp 0x46c113
push 0x12
pop ecx
lea eax, [esp + 0x48]
mov esi, esp
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
call fcn.0046c288
mov dword [ebx], 8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret