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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x470
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
lea esi, [esp + 0x110]
mov ecx, esi
mov edx, ebx
push 0x1000
push 0xb
push 0x47cbeb
call fcn.00411aae
add esp, 0xc
mov edx, dword [esi]
movzx ecx, word [esi + 4]
cmp edx, 0x80000000
jne 0x412531
lea esi, [esp + 0x110]
mov word [esp + 8], cx
mov edx, ebx
mov ecx, esi
push 1
push 4
push 0x47cbf6
call fcn.00411aae
add esp, 0xc
mov edx, dword [esi]
movzx ecx, word [esi + 4]
cmp edx, 0x80000000
jne 0x412531
mov edx, ebx
lea esi, [esp + 0x110]
mov word [esp + 0x14], cx
mov ecx, esi
push 0x12c
push 7
push 0x47cbfa
call fcn.00411aae
add esp, 0xc
mov edx, dword [esi]
movzx eax, word [esi + 4]
cmp edx, 0x80000000
jne 0x412562
cmp dword [ebx + 0x20], 0
je 0x412579
mov edi, dword [ebx + 0x1c]
lea esi, [esp + 0x110]
mov word [esp + 0x2c], ax
mov ecx, esi
mov edx, dword [edi + 4]
push dword [edi + 8]
call fcn.0041d070
pop eax
cmp word [esi], 2
jne 0x41258f
mov edx, dword [edi + 4]
lea esi, [esp + 0x1f0]
mov ecx, esi
push dword [edi + 8]
call fcn.0041b116
pop eax
mov ecx, esi
call fcn.0041b05f
mov dword [esp + 0x30], eax
mov dword [esp + 0x54], edx
mov word [esp + 0x28], 2
jmp 0x41263b
movzx eax, word [esp + 0x116]
mov esi, dword [esp + 0x118]
movzx ebx, cx
shl eax, 0x10
or ebx, eax
mov dword [edi], edx
mov dword [edi + 4], ebx
mov dword [edi + 8], esi
mov ecx, dword [ebp + 0x10]
call fcn.00403a62
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx ebx, word [esp + 0x116]
mov esi, dword [esp + 0x118]
movzx eax, ax
shl ebx, 0x10
jmp 0x412546
lea ecx, [esp + 0xbc]
mov edx, 0x47cc01
push 0x1e
call fcn.0041afd7
pop eax
jmp 0x4125e8
movsd xmm0, qword [esp + 0x110]
movsd xmm1, qword [esp + 0x118]
movsd xmm3, qword [esp + 0x128]
movsd xmm2, qword [esp + 0x120]
mov edi, dword [ebp + 8]
movsd qword [esp + 0xb8], xmm0
movsd qword [esp + 0xd0], xmm3
movsd qword [esp + 0xc8], xmm2
movsd qword [esp + 0xc0], xmm1
movzx eax, word [esp + 0xb8]
cmp ax, 3
jne 0x412602
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
jmp 0x412548
mov ecx, dword [esp + 0xbc]
movzx esi, word [esp + 0xba]
mov edx, dword [esp + 0xc0]
mov word [esp + 0x28], ax
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xc4]
mov word [esp + 0xa2], si
mov dword [esp + 0x54], edx
mov dword [esp + 0x254], ecx
lea esi, [esp + 0xb8]
lea edi, [esp + 0x178]
mov edx, ebx
movsd xmm0, qword [esi + 0x10]
movsd xmm1, qword [esi + 0x18]
mov ecx, edi
movsd qword [esp + 0x1e8], xmm1
movsd qword [esp + 0x1e0], xmm0
push 6
push 0x47cc1f
call fcn.00424ff4
pop eax
pop ecx
mov ecx, esi
mov edx, 0x47cc25
push 0x14
call fcn.0041afd7
pop eax
mov eax, dword [edi]
cmp eax, 0x80000000
jne 0x4126ac
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xbc]
mov esi, dword [esp + 0xc0]
mov edi, dword [ebp + 8]
jmp 0x412548
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
mov edi, dword [esp + 0x17c]
mov esi, dword [esp + 0x180]
mov dword [esp + 0x16c], eax
call fcn.0041ae6b
mov ecx, edi
mov edx, esi
call fcn.00438586
test eax, eax
mov dword [esp + 0x74], edi
je 0x412738
mov edi, edx
lea esi, [esp + 0x178]
mov edx, eax
mov ecx, esi
push edi
call fcn.0041b116
pop eax
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov dword [esp + 0xc3], eax
movsd qword [esp + 0xbb], xmm0
xor eax, eax
movsd xmm0, qword [esp + 0xb8]
movsd xmm1, qword [esp + 0xbf]
movsd qword [esp + 0x1f0], xmm0
movsd qword [esp + 0x1f7], xmm1
jmp 0x4127b2
lea ecx, [esp + 0xb8]
mov edx, edi
push esi
call fcn.0041ceff
pop eax
lea eax, [esp + 0xb8]
cmp byte [eax], 2
jne 0x41277e
lea edi, [esp + 0x114]
mov edx, 0x47cc51
mov ecx, edi
push 0x13
call fcn.0041afd7
pop eax
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov esi, dword [edi + 8]
mov edi, dword [ebp + 8]
mov dword [esp + 4], eax
jmp 0x412cc1
mov al, byte [esp + 0xc8]
movsd xmm0, qword [esp + 0xb8]
movsd xmm1, qword [esp + 0xc0]
mov byte [esp + 0x200], al
mov al, 1
movsd qword [esp + 0x1f8], xmm1
movsd qword [esp + 0x1f0], xmm0
movsd xmm0, qword [esp + 0x1f0]
mov cl, byte [esp + 0x200]
movsd xmm1, qword [esp + 0x1f8]
movsd qword [esp + 0x111], xmm0
mov byte [esp + 0x121], cl
movsd qword [esp + 0x119], xmm1
movzx ecx, word [esp + 0x111]
mov edx, dword [esp + 0x118]
mov esi, dword [esp + 0x11c]
mov edi, dword [esp + 0x120]
mov word [esp + 0xa5], cx
mov cl, byte [esp + 0x113]
mov byte [esp + 0xa7], cl
mov ecx, dword [esp + 0x114]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], esi
lea esi, [esp + 0x38]
mov byte [esp + 0xa4], al
mov dword [esp + 0xb4], edi
mov edx, ebx
mov ecx, esi
push 5
push 0x47cc39
call fcn.0042386f
pop eax
pop ecx
mov eax, dword [esi]
cmp eax, 0x80000002
jge 0x412868
push 2
pop ebx
jmp 0x4129a5
mov edx, dword [esp + 0x3c]
lea ebx, [esp + 0x110]
mov dword [esp + 0x24], eax
mov ecx, ebx
mov dword [esp + 0xc], edx
push 3
push 0x47d0e7
push dword [esp + 0x48]
call fcn.00404bdf
add esp, 0xc
mov ecx, ebx
mov dword [ebx + 0x50], 2
call fcn.0040fed5
mov ecx, ebx
mov esi, eax
mov edi, edx
call fcn.0040fed5
test esi, esi
je 0x41292a
mov ebx, eax
test eax, eax
je 0x4128d7
mov dword [esp + 4], edx
mov ecx, esi
mov edx, edi
push 4
push 0x47d0ea
call fcn.00404f7a
pop ecx
pop edx
test al, al
je 0x412b87
mov edi, dword [esp + 4]
mov esi, ebx
lea ebx, [esp + 0x1f0]
mov edx, esi
mov ecx, ebx
push edi
call fcn.004049b1
pop eax
mov ecx, dword [ebx]
movsd xmm0, qword [ebx + 4]
mov eax, dword [ebx + 0xc]
cmp ecx, 0x80000000
movsd qword [esp + 0x78], xmm0
mov dword [esp + 0x80], eax
jne 0x412943
movsd xmm0, qword [esp + 0x78]
mov eax, dword [esp + 0x80]
movsd qword [esp + 0xbc], xmm0
mov dword [esp + 0xc4], eax
jmp 0x412c8c
lea ecx, [esp + 0xbc]
mov edx, str.invalid_proxy_configF_
push 0x14
call fcn.0041afd7
pop eax
jmp 0x412c8c
mov dword [esp + 0x10], ecx
lea esi, [esp + 0x200]
lea eax, [esp + 0xcc]
push 9
pop ecx
mov edi, eax
xor ebx, ebx
rep movsd dword es:[edi], dword [esi]
movsd xmm0, qword [esp + 0x78]
mov ecx, dword [esp + 0x80]
movsd qword [eax - 0xc], xmm0
mov dword [eax - 4], ecx
lea esi, [esp + 0xc8]
mov eax, dword [esi - 8]
mov ecx, dword [esi - 4]
mov dword [esp + 4], eax
mov dword [esp + 0x20], ecx
push 0xa
pop ecx
lea edi, [esp + 0x178]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
call fcn.0041ae6b
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x290]
push 0xa
pop ecx
lea esi, [esp + 0x178]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [eax - 0xc], edx
mov ecx, dword [esp + 4]
mov dword [eax - 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax - 4], ecx
mov dword [eax - 0x10], ebx
mov eax, 0x47c8a7
mov dword [esp + 0x98], eax
push 4
pop edi
mov ecx, 0x482501
mov dword [esp + 0x9c], edi
mov dword [esp + 0x18], ecx
push 3
pop ecx
mov ebx, dword [ebp + 0x10]
lea esi, [esp + 0x110]
mov dword [esp + 0x1c], ecx
mov ecx, esi
mov edx, ebx
push edi
push eax
call fcn.00424ff4
pop eax
pop ecx
lea edi, [esp + 0xc4]
mov edx, ebx
mov ecx, edi
push 3
pop eax
push eax
mov eax, 0x482501
push eax
call fcn.00424ff4
pop eax
pop ecx
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
movsd qword [edi - 0xc], xmm0
mov dword [edi - 4], eax
cmp dword [edi - 0xc], 0x80000000
mov eax, dword [edi]
jne 0x412a92
cmp eax, 0x80000000
jne 0x412aa3
lea eax, [esp + 0x98]
lea ecx, [esp + 0x58]
mov esi, fcn.0041d54a
lea edx, [esp + 0x18]
mov dword [ecx], eax
mov dword [ecx + 4], esi
mov dword [ecx + 8], edx
lea edx, [esp + 0x110]
mov dword [ecx + 0xc], esi
lea esi, [esp + 0x274]
mov dword [edx], str.require______
mov dword [edx + 4], 3
and dword [edx + 0x10], 0
mov dword [edx + 8], ecx
mov dword [edx + 0xc], 2
jmp 0x412ae0
cmp eax, 0x80000000
jne 0x412b49
lea eax, [esp + 0x18]
jmp 0x412aaa
lea eax, [esp + 0x98]
lea edx, [esp + 0x110]
lea ecx, [esp + 0x274]
lea esi, [esp + 0x58]
mov dword [edx], str.___is_invalid.
mov dword [edx + 4], 2
and dword [edx + 0x10], 0
mov dword [ecx], eax
mov dword [edx + 8], ecx
mov dword [ecx + 4], fcn.0041d54a
mov dword [edx + 0xc], 1
mov ecx, esi
call fcn.0040538a
lea ecx, [esp + 0x3c]
push 0x27
pop edx
push esi
call fcn.004251a2
pop eax
lea ecx, [esp + 0xb8]
call fcn.00403312
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
lea edi, [esp + 0x1f4]
lea edx, [esp + 0x110]
mov ecx, edi
mov dword [edx + 4], esi
mov dword [edx], ebx
call fcn.00402e3c
mov ecx, ebx
mov edx, esi
call fcn.00425168
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov esi, dword [edi + 8]
lea ecx, [esp + 0x280]
mov dword [esp + 4], eax
call fcn.00403fd7
jmp 0x412cb2
mov edx, dword [esp + 0xbc]
lea esi, [esp + 0x110]
mov ecx, esi
push dword [esp + 0xc0]
call fcn.00411f4b
pop eax
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
cmp edx, 0x80000000
jne 0x412bfa
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
jmp 0x412af5
mov ecx, esi
mov edx, edi
push 6
push 0x47cf2b
call fcn.00404f7a
pop ecx
pop edx
test al, al
je 0x412c4d
lea esi, [esp + 0x1f0]
mov edx, ebx
mov ecx, esi
push dword [esp + 4]
call fcn.004049b1
pop eax
mov ecx, dword [esi]
movsd xmm0, qword [esi + 4]
mov eax, dword [esi + 0xc]
cmp ecx, 0x80000000
movsd qword [esp + 0x78], xmm0
mov dword [esp + 0x80], eax
je 0x412908
mov dword [esp + 0x10], ecx
lea esi, [esp + 0x200]
lea eax, [esp + 0xcc]
push 9
pop ecx
mov edi, eax
xor ebx, ebx
rep movsd dword es:[edi], dword [esi]
inc ebx
jmp 0x41295e
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0xc8]
lea esi, [esp + 0x110]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], eax
mov ecx, esi
push dword [esp + 0xcc]
call fcn.00412093
pop eax
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov esi, dword [esi + 8]
cmp edi, 0x80000000
jne 0x412cda
lea ecx, [esp + 0x58]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], esi
call fcn.00403f5e
jmp 0x412af5
lea eax, [esp + 0x58]
lea ecx, [esp + 0x78]
lea edx, [esp + 0x1f0]
mov dword [eax], esi
mov dword [ecx], eax
mov dword [eax + 4], edi
xor eax, eax
mov dword [edx], 0x47d108
mov dword [ecx + 4], fcn.0041d54a
inc eax
mov dword [edx + 4], eax
and dword [edx + 0x10], 0
mov dword [edx + 8], ecx
lea ecx, [esp + 0xbc]
mov dword [edx + 0xc], eax
call fcn.0040538a
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
mov dword [esp + 4], eax
call fcn.0041ae6b
lea ecx, [esp + 0xa4]
call fcn.0042eecc
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x74]
call fcn.0041ae6b
mov edx, dword [esp + 4]
jmp 0x412548
mov ecx, dword [esp + 0x60]
movsd xmm0, qword [esp + 0x58]
mov dword [esp + 4], eax
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0xb8]
movsd qword [esp + 0x38], xmm0
call fcn.00403312
mov eax, dword [esp + 0x38]
cmp eax, 0x80000000
je 0x412b01
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x24], esi
lea esi, [esp + 0x110]
mov dword [esp + 0x25c], eax
mov dword [esp + 0x264], edx
mov dword [esp + 0x260], ecx
mov ecx, esi
mov edx, ebx
call fcn.004142f4
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov esi, dword [esi + 8]
cmp eax, 0x80000000
jne 0x412d69
mov edx, dword [esp + 4]
mov ecx, edi
call fcn.0041ae6b
lea ecx, [esp + 0x25c]
call fcn.00403f5e
jmp 0x412b09
lea ecx, [esp + 0x78]
mov dword [esp + 0x268], eax
mov dword [esp + 0x26c], ebx
mov dword [esp + 0x270], esi
call fcn.0040572e
lea esi, [esp + 0x84]
mov ecx, esi
call fcn.004056f8
call fcn.00440408
mov ecx, dword [ebp + 0x10]
mov ebx, eax
mov edx, 0x47cad7
push 0xb
call fcn.00424fb6
pop ecx
test al, al
mov byte [esp + 0xc], al
mov dword [esp + 0x20], ebx
je 0x412e46
push 8
pop ecx
push 4
pop edx
call fcn.004056e6
mov edx, dword [esi + 8]
lea ecx, [esp + 0x110]
movsd xmm0, qword [esi]
mov dword [esp + 0x38], edi
lea esi, [esp + 0x38]
mov dword [ecx + 0x14], edx
mov edx, dword [esp + 0x80]
movsd qword [ecx + 0xc], xmm0
movsd xmm0, qword [esp + 0x78]
movsd xmm1, qword [ecx + 0x10]
mov dword [ecx + 8], edx
xor edx, edx
movsd xmm2, qword [ecx + 8]
inc edx
mov dword [eax + 4], edx
mov dword [eax], edx
lea edx, [esp + 0xb8]
movsd qword [edx], xmm0
movsd qword [edx + 0x10], xmm1
movsd qword [edx + 8], xmm2
mov dword [edx + 0x18], eax
mov eax, dword [esp + 4]
mov dword [edx + 0x1c], 0x47cb48
mov dword [edx + 0x20], ebx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x25c]
push esi
jmp 0x412f3e
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
lea ebx, [esp + 0x110]
mov dword [ebx + 0x14], eax
movsd qword [ebx + 0xc], xmm0
push 0x14
pop ecx
push 4
pop edx
call fcn.004056e6
mov esi, eax
xor eax, eax
movsd xmm0, qword [esp + 0x78]
lea ecx, [esp + 0x58]
movsd xmm2, qword [esp + 0x268]
inc eax
mov dword [ecx], edi
mov edi, ecx
mov dword [esi], eax
mov dword [esi + 4], eax
mov eax, dword [esp + 0x270]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [ebx + 0x10]
movsd qword [esi + 8], xmm2
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x80]
movsd qword [esp + 0x48], xmm0
mov dword [ebx + 8], eax
mov eax, dword [esp + 4]
movsd xmm0, qword [ebx + 8]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x24]
movsd qword [esp + 0x40], xmm0
movsd xmm1, qword [esp + 0x44]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x4c]
movsd qword [ebx + 0xc], xmm1
mov dword [ebx + 0x14], eax
push 0x1c
pop ecx
push 4
pop edx
call fcn.004056e6
xor ecx, ecx
movsd xmm0, qword [esp + 0x38]
lea edx, [esp + 0xb8]
movsd xmm1, qword [ebx + 0x10]
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], esi
and dword [eax + 0xc], 0
movsd qword [edx], xmm0
movsd qword [edx + 0x10], xmm1
mov dword [ebx + 8], ecx
mov ecx, ebx
movsd xmm0, qword [ebx + 8]
movsd qword [edx + 8], xmm0
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 0x1c], 0x482770
mov dword [edx + 0x20], eax
lea eax, [esp + 0x25c]
push edi
push eax
call fcn.0044041f
pop eax
pop ecx
cmp dword [esp + 0x110], 2
je 0x4141ed
push 0x16
pop ecx
lea ebx, [esp + 0xb8]
lea esi, [esp + 0x110]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push 8
pop ecx
push 4
pop edx
call fcn.004056e6
mov ecx, dword [ebx + 0x2c]
xor edx, edx
mov edi, eax
inc edx
mov dword [eax + 4], edx
mov dword [eax], edx
lock dec dword [ecx]
jne 0x412f95
lea ecx, [esp + 0xe4]
call fcn.00430634
xor edx, edx
inc edx
movzx eax, word [esp + 0x110]
mov cl, byte [esp + 0x112]
lea esi, [esp + 0xc4]
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], 0x4827e0
mov byte [esi + 0x28], 0
mov word [esi + 0x29], ax
mov byte [esi + 0x2b], cl
mov dword [esi - 0xc], 1
mov dword [esi - 8], 0x5b4
mov ebx, dword [esi - 4]
push 0x13
pop ecx
cmp byte [esp + 0xc], 0
lea edi, [esp + 0x178]
rep movsd dword es:[edi], dword [esi]
je 0x412ff3
lea ecx, [esp + 0x268]
call fcn.00403bcc
xor edx, edx
inc edx
lea eax, [esp + 0x1fc]
mov ecx, 0x5b4
mov dword [eax - 0xc], edx
mov dword [eax - 8], ecx
mov dword [eax - 4], ebx
push 0x13
pop ecx
lea esi, [esp + 0x178]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x200]
mov eax, dword [eax]
mov dword [esp + 4], eax
push 0x12
pop ecx
lea edi, [esp + 0x2f0]
rep movsd dword es:[edi], dword [esi]
push 0x60
pop ecx
mov esi, edx
push 4
pop edx
mov dword [esp + 0x24], edx
call fcn.004056e6
mov ecx, 0x5b4
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
lea edi, [eax + 0x18]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 4]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ecx
push 0x12
pop ecx
lea esi, [esp + 0x2f0]
mov edx, 0x47cc3e
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x250], eax
mov dword [esp + 0x258], eax
mov ecx, edi
push 9
call fcn.00424fb6
pop ecx
mov byte [esp + 0x37], al
mov ecx, edi
mov edx, 0x47cc47
push 0xa
call fcn.00424fb6
pop ecx
mov byte [esp + 0x36], al
push 7
pop esi
mov ecx, edi
mov edx, str.enhance_key__is_required_cert__is_required_key__and__cert__are_requiredenhance_require__roots__for_validationcertificate_is_invalidbuffer_sizeidletimeout_exchange__address_is_requireddomain_domain__is_requiredproxymultiplexcompatibleinvalid_domain_nameDexchange_domain_nameNameBnetwork_buffer_size__default_4096_bytesTchannel_timeout__default_300Pconnect_exchange_via_proxyEenable_security_over_client_streamMenable_multiplex_streamdisable_network_read_write_waitIidle_channel_count1_E__exchange_failed:_K
push esi
call fcn.00424fb6
pop ecx
mov byte [esp + 0x35], al
mov ecx, edi
mov edx, str.enhance_key__is_required_cert__is_required_key__and__cert__are_requiredenhance_require__roots__for_validationcertificate_is_invalidbuffer_sizeidletimeout_exchange__address_is_requireddomain_domain__is_requiredproxymultiplexcompatibleinvalid_domain_nameDexchange_domain_nameNameBnetwork_buffer_size__default_4096_bytesTchannel_timeout__default_300Pconnect_exchange_via_proxyEenable_security_over_client_streamMenable_multiplex_streamdisable_network_read_write_waitIidle_channel_count1_E__exchange_failed:_K
push esi
call fcn.00424fb6
pop ecx
test al, al
je 0x4130f4
lea esi, [esp + 0x110]
mov edx, edi
mov ecx, esi
call fcn.004142f4
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
cmp edx, 0x80000000
jne 0x413101
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
jmp 0x4131d8
mov dword [esp + 0x10], 0
jmp 0x41322c
test ecx, ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 4], ecx
je 0x413183
mov esi, dword [ebp + 0x10]
lea edi, [esp + 0xb8]
mov ecx, edi
mov edx, esi
push 4
push 0x47c8a7
call fcn.00424ff4
pop eax
pop ecx
lea ebx, [esp + 0x11c]
mov edx, esi
mov ecx, ebx
push 3
push 0x482501
call fcn.00424ff4
pop eax
pop ecx
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
movsd qword [ebx - 0xc], xmm0
mov dword [ebx - 4], eax
cmp dword [ebx - 0xc], 0x80000000
mov eax, dword [ebx]
jne 0x41319a
lea ecx, [esp + 0x18]
push 0x27
pop edx
cmp eax, 0x80000000
jne 0x4131b5
push 0x1d
push 0x47cb92
jmp 0x4131bc
lea ecx, [esp + 0x18]
push 0x27
pop edx
push 0x26
push 0x47cbaf
call fcn.0042ef24
pop eax
pop ecx
jmp 0x4131cf
cmp eax, 0x80000000
jne 0x413b36
lea ecx, [esp + 0x18]
push 0x27
pop edx
push 0x11
push 0x47cb6f
jmp 0x4131bc
push 0x12
push 0x47cb80
call fcn.0042ef24
pop eax
pop ecx
lea ecx, [esp + 0x110]
call fcn.00403312
lea ecx, [esp + 0x58]
call fcn.00403bcc
cmp byte [esp + 0x18], 4
jne 0x4131e9
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
jmp 0x41322c
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ebx, [esp + 0x274]
lea edx, [esp + 0x110]
mov ecx, ebx
mov dword [edx + 4], edi
mov dword [edx], esi
call fcn.00402e3c
mov ecx, esi
mov edx, edi
call fcn.00425168
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, 0x80000000
mov dword [esp + 0x10], ecx
mov dword [esp + 4], eax
jne 0x4134b1
mov eax, dword [esp + 0xb4]
movsd xmm0, qword [esp + 0x1e0]
movsd xmm1, qword [esp + 0x1e8]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x288]
mov dword [esp + 0x1d8], eax
mov eax, dword [esp + 0x280]
movsd qword [esp + 0x2b8], xmm0
movsd qword [esp + 0x2c0], xmm1
movsd xmm0, qword [esp + 0xa4]
movsd xmm1, qword [esp + 0xac]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x284]
movsd qword [esp + 0x1c8], xmm0
movsd qword [esp + 0x1d0], xmm1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0xc], eax
push 0xa
pop ecx
lea edi, [esp + 0x2c8]
lea esi, [esp + 0x290]
rep movsd dword es:[edi], dword [esi]
mov cl, byte [esp + 0x177]
movzx eax, word [esp + 0x175]
mov byte [esp + 0x6a], cl
mov ecx, dword [esp + 0x16c]
mov word [esp + 0x68], ax
call fcn.0041ae6b
mov edx, dword [esp + 0x20]
cmp edx, 3
jne 0x4132fe
mov edi, dword [ebp + 8]
mov edx, dword [esp + 4]
mov esi, dword [esp + 0xc]
jmp 0x412548
lea eax, [esp + 0x358]
push 0xa
pop ecx
lea esi, [esp + 0x2c8]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x2f0]
movsd xmm0, qword [esp + 0x2b8]
movsd xmm1, qword [esp + 0x2c0]
mov ecx, dword [esp + 0x1d8]
movsd qword [eax + 0x40], xmm1
movsd qword [eax + 0x38], xmm0
mov dword [eax + 0x58], ecx
movsd xmm0, qword [esp + 0x1c8]
movsd xmm1, qword [esp + 0x1d0]
movzx ecx, word [esp + 0x68]
movsd qword [eax + 0x48], xmm0
movsd qword [eax + 0x50], xmm1
mov word [eax + 0x6d], cx
mov cl, byte [esp + 0x6a]
mov byte [eax + 0x6f], cl
mov ecx, dword [esp + 4]
mov dword [eax - 0x10], edx
mov dword [eax - 0xc], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax - 8], ebx
mov ebx, dword [ebp + 0x10]
mov dword [eax - 4], ecx
movzx ecx, word [esp + 0x28]
mov edx, ebx
mov word [eax + 0x28], cx
movzx ecx, word [esp + 0xa2]
mov word [eax + 0x2a], cx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x254]
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x250]
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x60], ecx
movzx ecx, word [esp + 8]
mov word [eax + 0x64], cx
movzx ecx, word [esp + 0x2c]
mov word [eax + 0x66], cx
movzx ecx, word [esp + 0x14]
mov word [eax + 0x68], cx
mov cl, byte [esp + 0x37]
mov byte [eax + 0x6a], cl
mov cl, byte [esp + 0x35]
mov byte [eax + 0x6b], cl
mov cl, byte [esp + 0x36]
mov byte [eax + 0x6c], cl
mov ecx, esi
push 4
push 0x47c9c9
call fcn.0042386f
pop eax
pop ecx
mov esi, dword [esi]
mov edi, 0x80000000
cmp esi, 0x80000002
jl 0x413548
mov edx, dword [esp + 0x2f4]
lea ebx, [esp + 0x110]
mov ecx, ebx
mov dword [esp + 8], edx
push dword [esp + 0x2f8]
call fcn.00404351
pop eax
mov edi, dword [ebx]
movsd xmm0, qword [ebx + 4]
mov eax, dword [ebx + 0xc]
cmp edi, 0x80000000
movsd qword [esp + 0x178], xmm0
mov dword [esp + 0x180], eax
jne 0x4134e8
movsd xmm0, qword [esp + 0x178]
mov eax, dword [esp + 0x180]
mov edx, dword [esp + 8]
mov ecx, esi
movsd qword [esp + 0x280], xmm0
mov dword [esp + 0x288], eax
call fcn.0041ae6b
movsd xmm0, qword [esp + 0x280]
mov eax, dword [esp + 0x288]
mov edi, dword [ebp + 8]
movsd qword [esp + 0x38], xmm0
mov dword [esp + 0x40], eax
mov dword [edi + 8], eax
movsd qword [edi], xmm0
jmp 0x413c1f
mov esi, dword [esp + 0x27c]
lea ecx, [esp + 0x258]
call fcn.0040414c
lea ecx, [esp + 0x280]
call fcn.00403fd7
lea ecx, [esp + 0xa4]
call fcn.0042eecc
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x10]
jmp 0x412cc1
mov eax, dword [esp + 0x130]
movsd xmm1, qword [esp + 0x128]
movsd xmm0, qword [esp + 0x120]
mov edx, dword [esp + 8]
mov ecx, esi
mov dword [esp + 0x200], eax
movsd qword [esp + 0x1f8], xmm1
movsd xmm1, qword [esp + 0x178]
mov eax, dword [esp + 0x180]
movsd qword [esp + 0x1f0], xmm0
movsd qword [esp + 0x280], xmm1
mov dword [esp + 0x288], eax
call fcn.0041ae6b
mov ebx, dword [ebp + 0x10]
movsd xmm0, qword [esp + 0x280]
mov eax, dword [esp + 0x288]
movsd xmm1, qword [esp + 0x1f0]
movsd xmm2, qword [esp + 0x1f8]
mov ecx, dword [esp + 0x200]
lea esi, [esp + 0x78]
mov edx, ebx
mov dword [esp + 0xd8], ecx
movsd qword [esp + 0x38], xmm0
mov dword [esp + 0x40], eax
movsd qword [esp + 0xc8], xmm1
movsd qword [esp + 0xd0], xmm2
movsd qword [esp + 0xbc], xmm0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xb8], edi
mov ecx, esi
push 6
push 0x47c9e1
call fcn.00424ff4
pop eax
pop ecx
mov eax, dword [esi]
xor ebx, ebx
cmp eax, 0x80000000
mov dword [esp + 0x54], eax
je 0x413976
push 0x14
pop esi
mov edx, dword [esp + 0x7c]
lea ecx, [esp + 0x2c8]
mov eax, dword [esp + 0x80]
and dword [ecx], 0
mov dword [ecx + 4], 4
and dword [ecx + 8], 0
lea ecx, [esp + 0x110]
mov dword [esp + 4], edx
push 0x2c
push eax
call fcn.00404d72
pop eax
pop ecx
mov dword [esp + 8], 0
lea ecx, [esp + 0x110]
mov dword [esp + 0x14], esi
call fcn.00404d99
test eax, eax
je 0x413942
lea ebx, [esp + 0x1f0]
mov esi, eax
mov edi, edx
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], edx
mov ecx, ebx
push 0x2f
pop edx
push edi
push eax
call fcn.004050d6
pop eax
pop ecx
lea ecx, [esp + 0x2f0]
mov edx, ebx
call fcn.0040fde1
cmp dword [esp + 0x2f0], 0
je 0x4136f3
mov eax, dword [esp + 0x2f4]
mov edx, esi
lea ecx, [eax + 1]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
push edi
call fcn.00404f59
pop ecx
mov ebx, edx
lea ecx, [esp + 0xa4]
mov edx, eax
push ebx
call fcn.0041df6b
pop eax
cmp byte [esp + 0xa4], 0
je 0x4137a2
mov ecx, dword [esp + 0x28]
mov edx, esi
push edi
call fcn.00404f59
pop ecx
test edx, edx
jne 0x413b74
mov ecx, esi
mov edx, edi
push dword [esp + 0x2c]
call fcn.00404f8a
pop ecx
mov ecx, eax
call fcn.0042a5f3
mov edi, edx
mov esi, eax
lea ecx, [esp + 0x58]
mov edx, eax
push edi
call fcn.0041cf8f
pop eax
cmp byte [esp + 0x58], 0
je 0x413769
xor ebx, ebx
jmp 0x4137da
mov ecx, esi
mov edx, edi
call fcn.0042a5f3
mov edi, edx
mov esi, eax
lea ecx, [esp + 0x58]
mov edx, eax
push edi
call fcn.0041cf8f
pop eax
cmp byte [esp + 0x58], 0
je 0x413769
lea ecx, [esp + 0x2f0]
mov edx, esi
push edi
call fcn.0041cfe0
pop eax
cmp byte [esp + 0x2f0], 0
jne 0x413afc
lea eax, [esp + 0x2f1]
mov edx, dword [esp + 0x14]
mov ebx, 0x80
lea ecx, [esp + 0x180]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x288], xmm1
movsd qword [esp + 0x280], xmm0
jmp 0x41383a
mov eax, dword [esp + 0x59]
push 0x20
pop esi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x178], esi
mov byte [esp + 0x17c], 0
lea ecx, [esp + 0x180]
mov dword [esp + 0x28], esi
mov dword [esp + 0x17d], eax
mov dword [esp + 0x30], 0
jmp 0x41386f
mov ebx, dword [esp + 0xa8]
mov ecx, esi
mov edx, edi
push dword [esp + 0x2c]
call fcn.00404f8a
pop ecx
mov ecx, eax
call fcn.0042a5f3
mov edi, edx
mov esi, eax
lea ecx, [esp + 0x58]
mov edx, eax
push edi
call fcn.0041cf8f
pop eax
cmp byte [esp + 0x58], 0
je 0x413926
lea ecx, [esp + 0x2f0]
mov edx, esi
push edi
call fcn.0041cfe0
pop eax
cmp byte [esp + 0x2f0], 0
jne 0x413afc
lea eax, [esp + 0x2f1]
mov edx, dword [esp + 0x14]
test ebx, ebx
lea ecx, [esp + 0x180]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x288], xmm1
movsd qword [esp + 0x280], xmm0
je 0x413835
mov eax, 0x80
cmp ebx, eax
cmovae ebx, eax
jmp 0x41383a
mov ebx, 0x80
movsd xmm0, qword [esp + 0x280]
movsd xmm1, qword [esp + 0x288]
mov al, 1
mov dword [esp + 0x178], ebx
mov byte [esp + 0x17c], 1
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], eax
movsd qword [ecx + 5], xmm1
movsd qword [ecx - 3], xmm0
mov al, byte [ecx - 1]
mov esi, dword [esp + 0x180]
mov edi, dword [esp + 0x184]
mov ebx, dword [esp + 0x188]
mov byte [esp + 0x1e2], al
movzx eax, word [ecx - 3]
mov ecx, dword [esp + 8]
mov word [esp + 0x1e0], ax
mov eax, dword [esp + 0x18c]
cmp ecx, dword [esp + 0x2c8]
mov dword [esp + 0x2c], eax
jne 0x4138cd
lea ecx, [esp + 0x2c8]
call fcn.00405777
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [ecx + edx - 0x14], eax
mov eax, dword [esp + 0x30]
mov byte [ecx + edx - 0x10], al
movzx eax, word [esp + 0x1e0]
mov word [ecx + edx - 0xf], ax
mov al, byte [esp + 0x1e2]
mov byte [ecx + edx - 0xd], al
mov dword [ecx + edx - 0xc], esi
mov esi, dword [esp + 0x2c]
mov dword [ecx + edx - 8], edi
mov dword [ecx + edx - 4], ebx
mov dword [ecx + edx], esi
mov ecx, dword [esp + 8]
add edx, 0x18
mov esi, edx
inc ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x2d0], ecx
jmp 0x413614
mov eax, dword [esp + 0x59]
test ebx, ebx
je 0x41376d
mov esi, ebx
cmp ebx, 0x20
push 0x20
pop ecx
cmovae esi, ecx
jmp 0x413770
mov esi, dword [esp + 0x2c8]
mov edi, dword [esp + 0x2cc]
push 0xc
pop ecx
push 4
pop edx
call fcn.004056e6
mov ecx, dword [esp + 8]
mov ebx, eax
mov dword [eax], esi
mov dword [eax + 4], edi
mov edx, dword [esp + 4]
mov dword [ebx + 8], ecx
mov ecx, dword [esp + 0x54]
call fcn.0041ae6b
mov dword [esp + 8], 0x47c83c
lea edi, [esp + 0x448]
push 9
pop ecx
lea esi, [esp + 0xb8]
rep movsd dword es:[edi], dword [esi]
push 0x20
pop ecx
lea eax, [esp + 0x3c8]
lea esi, [esp + 0x348]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
push 4
pop edx
mov ecx, 0xac
call fcn.004056e6
mov edi, eax
push 0xa4
push esi
push eax
call fcn.0046e6e0
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [edi + 0xa4], ebx
xor esi, esi
mov dword [esp + 0x30], edi
mov dword [edi + 0xa8], eax
movzx eax, word [edi + 0x78]
mov word [esp + 0x28], ax
cmp si, word [esp + 0x28]
je 0x413aea
inc esi
mov dword [esp + 0x14], esi
call fcn.00454e0e
mov edi, dword [0x48f024]
mov esi, dword [0x48f020]
mov dword [esp + 8], eax
mov dword [esp + 0x3c8], eax
mov ebx, esi
mov ecx, edi
mov eax, esi
mov edx, edi
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x48f020]
mov esi, eax
mov edi, edx
jne 0x413a11
mov eax, dword [esp + 8]
lock inc dword [eax]
jle 0x4141ed
mov ecx, eax
add ecx, 0x38
mov dword [esp + 0x2c], ecx
mov ecx, 0x300
push 0x40
pop edx
call fcn.004056e6
mov ebx, eax
mov dword [eax], 0xcc
and dword [eax + 4], 0
mov dword [eax + 8], 0x47c708
and dword [eax + 0x14], 0
and dword [eax + 0x10], 0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
mov edx, ebx
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x24], edi
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x41], 0
and dword [ebx + 0x2f0], 0
and dword [ebx + 0x2f4], 0
and dword [ebx + 0x2f8], 0
push ebx
call fcn.0040e56b
pop ecx
test eax, eax
lea esi, [esp + 0x3c8]
je 0x413abc
mov ecx, esi
mov edx, eax
call fcn.00457a39
mov ecx, esi
call fcn.00404233
mov eax, 0xcc
mov ecx, 0x84
lock cmpxchg dword [ebx], ecx
mov esi, dword [esp + 0x14]
je 0x4139e5
mov eax, dword [ebx + 8]
push ebx
call dword [eax + 0x10]
add esp, 4
jmp 0x4139e5
mov edi, dword [ebp + 8]
mov byte [edi + 4], 1
mov dword [edi], 0x80000000
jmp 0x412550
lea edx, [esp + 0x1f0]
lea eax, [esp + 0x1c8]
mov dword [edx], 0x47d354
mov dword [edx + 4], 2
and dword [edx + 0x10], 0
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xa4]
mov dword [esp + 0xa8], fcn.0041d54a
jmp 0x413bac
mov edx, dword [esp + 0x114]
lea edi, [esp + 0xb8]
mov ecx, edi
push dword [esp + 0x118]
call fcn.00411f4b
pop eax
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
cmp edx, 0x80000000
jne 0x413c30
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
jmp 0x4131c3
lea edx, [esp + 0x1f0]
lea eax, [esp + 0x1c8]
mov dword [edx], 0x47d330
mov dword [edx + 4], 2
and dword [edx + 0x10], 0
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x2f4], fcn.0041d54a
lea eax, [esp + 0x2f0]
lea ecx, [esp + 0x180]
mov dword [edx + 8], eax
mov dword [edx + 0xc], 1
call fcn.0040538a
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x180]
mov ebx, dword [esp + 0x184]
mov dword [esp + 8], eax
call fcn.00403f7b
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 4]
call fcn.0041ae6b
cmp esi, 0x80000000
je 0x41397e
mov edi, dword [ebp + 8]
mov eax, dword [esp + 8]
lea ecx, [esp + 0xb8]
mov dword [edi], esi
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
call fcn.00403f93
lea ecx, [esp + 0x348]
call fcn.00403d86
jmp 0x412550
mov dword [esp + 0x1f0], edx
mov edx, dword [esp + 0x120]
lea edi, [esp + 0xb8]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1f4], eax
mov ecx, edi
push dword [esp + 0x124]
call fcn.00412093
pop eax
mov ecx, dword [edi]
mov eax, dword [edi + 4]
cmp ecx, 0x80000000
mov dword [esp + 0x168], ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
jne 0x413ca2
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x18], eax
call fcn.00403f5e
jmp 0x4131c3
lea edi, [esp + 0x1f0]
lea ecx, [esp + 0x110]
mov eax, dword [edi + 8]
movsd xmm0, qword [edi]
mov dword [esp + 0x80], eax
movsd qword [esp + 0x78], xmm0
call fcn.00403312
lea ecx, [esp + 0x178]
call fcn.0040572e
lea ecx, [esp + 0x184]
call fcn.004056f8
mov esi, dword [esp + 4]
mov ecx, edi
mov edx, esi
call fcn.0042ec82
mov eax, dword [edi]
mov edx, dword [edi + 8]
sub eax, edx
cmp eax, esi
jae 0x413d25
lea ecx, [esp + 0x1f0]
push dword [esp + 4]
call fcn.004237c4
pop ecx
cmp eax, 0x80000001
jne 0x4141ed
mov eax, dword [esp + 0x1f4]
mov edx, dword [esp + 0x1f8]
jmp 0x413d2c
mov eax, dword [esp + 0x1f4]
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
imul ebx, edx, 0xc
add ebx, eax
mov eax, esi
add edi, 8
add eax, edx
mov dword [esp + 0x94], eax
mov edx, dword [edi - 4]
lea ecx, [esp + 0x110]
push dword [edi]
call fcn.0041b116
pop eax
mov eax, dword [esp + 0x118]
add edi, 0x28
mov dword [ebx + 8], eax
movsd xmm0, qword [esp + 0x110]
movsd qword [ebx], xmm0
add ebx, 0xc
dec esi
jne 0x413d47
movsd xmm0, qword [esp + 0x1f0]
mov eax, dword [esp + 0x94]
lea edi, [esp + 0x110]
movsd qword [esp + 0x110], xmm0
mov dword [esp + 0x118], eax
push 0x2c
pop ecx
push 4
pop edx
call fcn.004056e6
mov ebx, eax
xor eax, eax
movsd xmm0, qword [esp + 0x110]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x118]
movsd qword [ebx + 0x14], xmm0
movsd xmm0, qword [esp + 0x178]
mov dword [ebx + 0x1c], eax
lea eax, [esp + 0x184]
movsd qword [esp + 0xb8], xmm0
and dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 8
and dword [ebx + 0x28], 0
movsd xmm1, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x180]
movsd qword [esp + 0x11c], xmm1
movsd xmm1, qword [esp + 0x120]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x20]
movsd xmm0, qword [esp + 0x118]
movsd qword [esp + 0xc8], xmm1
movsd qword [esp + 0xc0], xmm0
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], 0x47c7d0
mov dword [esp + 0xd8], eax
call fcn.004406b9
test eax, eax
je 0x414112
mov esi, dword [esp + 0x80]
movsd xmm0, qword [esp + 0x78]
lea ecx, [esp + 0x110]
mov dword [ecx + 8], esi
movsd qword [ecx], xmm0
mov dword [ecx + 0x24], eax
mov eax, 0x80000000
mov dword [ecx + 0x28], edx
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x18], eax
call fcn.004409e5
mov esi, eax
mov eax, dword [esp + 0xb8]
movsd xmm0, qword [esp + 0xc4]
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0xbc]
movsd qword [esp + 0x38], xmm0
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x40], eax
push 0xc
pop ecx
push 4
pop edx
call fcn.004056e6
mov ecx, eax
xor eax, eax
inc eax
mov dword [esp + 0x6c], ecx
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], esi
lea esi, [esp + 0x338]
mov ecx, esi
call fcn.00430e69
mov eax, dword [esi + 8]
mov dword [esp + 4], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov edi, dword [esi + 4]
lea esi, [esp + 0x110]
push 0x18
pop edx
mov ecx, esi
push 0x100
call fcn.004312b3
pop eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x18], eax
push 4
pop ecx
mov edx, 0xc00
call fcn.0040ecb7
test eax, eax
je 0x4141ed
movsd xmm1, qword [esp + 0x120]
movsd xmm0, qword [esp + 0x128]
movsd xmm2, qword [esp + 0x110]
mov edi, eax
movsd qword [esp + 0x200], xmm1
movsd xmm1, qword [esp + 0x118]
movsd qword [esp + 0x208], xmm0
movsd qword [esp + 0x1f0], xmm2
movsd qword [esp + 0x1f8], xmm1
push 0x40
pop ecx
push 8
pop edx
call fcn.004056e6
movsd xmm1, qword [esp + 0x1f8]
mov esi, eax
xor eax, eax
movsd xmm0, qword [esp + 0x1f0]
movsd xmm2, qword [esp + 0x200]
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
and dword [esi + 8], 0
mov dword [esi + 0x10], 0x100
mov dword [esi + 0x14], edi
and dword [esi + 0x18], 0
and dword [esi + 0x1c], 0
movsd qword [esi + 0x28], xmm1
movsd xmm1, qword [esp + 0x208]
movsd qword [esi + 0x20], xmm0
movsd qword [esi + 0x30], xmm2
movsd qword [esi + 0x38], xmm1
push 8
pop ecx
push 4
pop edx
call fcn.004056e6
mov edi, eax
xor eax, eax
inc eax
mov dword [edi + 4], eax
mov dword [edi], eax
call fcn.00440a07
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.0041ae6b
push 0x6c
pop ecx
push 4
pop edx
call fcn.004056e6
xor ecx, ecx
movsd xmm0, qword [esp + 0x38]
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24c]
mov dword [eax + 0xc], 0x5b4
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x248]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x94]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x40]
movsd qword [eax + 0x1c], xmm0
mov dword [eax + 0x24], ecx
and dword [eax + 0x28], 0
push 4
pop edx
mov dword [eax + 0x2c], edx
and dword [eax + 0x30], 0
mov dword [eax + 0x34], esi
mov dword [eax + 0x38], 0x48293c
mov dword [eax + 0x3c], edi
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 4]
mov esi, dword [esp + 0x20]
mov dword [eax + 0x40], 0x482958
mov dword [esp + 0x1c], eax
mov byte [esp + 0x18], 4
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], 0x48292c
mov dword [eax + 0x4c], ebx
mov dword [eax + 0x50], 0x47c7d0
mov dword [eax + 0x54], edi
mov dword [eax + 0x58], 0x4827a4
mov dword [eax + 0x5c], esi
and dword [eax + 0x60], 0
mov dword [eax + 0x64], edx
and word [eax + 0x68], 0
jmp 0x4131d8
lea esi, [esp + 0x114]
lea ebx, [esp + 0xd0]
mov edx, str.invalid_private_key
mov ecx, esi
push 0x13
call fcn.0041afd7
pop eax
mov ecx, dword [esi]
mov al, byte [esi - 1]
mov edx, dword [esi + 4]
mov dword [esp + 0xc], ecx
mov ecx, dword [esi + 8]
mov byte [esp + 0x9a], al
movzx eax, word [esi - 3]
mov dword [esp + 4], edx
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x78]
mov word [esp + 0x98], ax
call fcn.00403f5e
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x70]
call fcn.0041ae6b
mov ecx, dword [ebx - 0x18]
mov edx, dword [ebx - 0x14]
call fcn.00430872
mov ecx, dword [ebx - 0xc]
mov edx, dword [ebx - 8]
call fcn.00430872
mov ecx, ebx
call fcn.004308f2
movzx eax, word [esp + 0x98]
mov cl, byte [esp + 0x9a]
mov edx, dword [esp + 0xc]
mov byte [esi - 4], 0xd
mov word [esi - 3], ax
mov byte [esi - 1], cl
mov dword [esi], edx
mov edx, dword [esp + 0x20]
mov byte [esp + 0x174], cl
mov word [esp + 0x172], ax
lea ecx, [esp + 0x18]
mov dword [esi + 8], edx
mov edx, dword [esp + 4]
mov dword [esi + 4], edx
push 0x27
pop edx
push 0x16
push 0x47cbd5
call fcn.0042ef24
pop eax
pop ecx
push edi
call fcn.00403a03
pop eax
jmp 0x4131d8
ud2