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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x308
mov ebx, ecx
call 0x45e12e
pop ecx
mov edi, dword [ebx + 0x108]
lea eax, [ebx + 0x108]
mov dword [esp + 0xdc], eax
test edi, edi
je 0x45e15a
mov esi, edi
mov byte [esp + 0x18], 1
mov dword [esp + 0xc], 0
jmp 0x45ed35
mov eax, dword [ebx + 0xf4]
movsd xmm0, qword [ebx + 0xec]
cmp byte [ebx + 0x10f], 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0xa8], eax
movsd qword [esp + 0xa0], xmm0
je 0x45e743
mov eax, dword [0x4eb010]
cmp eax, 2
je 0x45e1de
lea edx, [0x4eb014]
lea esi, [esp + 0xe0]
mov eax, 0x4eb010
lea ecx, [esp + 0x168]
mov dword [esi], edx
lea edx, [esp + 0x1e0]
mov dword [ecx], eax
mov dword [edx], ecx
lea ecx, [esp + 0xc0]
mov dword [edx + 4], esi
mov dword [edx + 8], ecx
mov ecx, 0x4eb010
push 0x4bc374
call fcn.0042cdd2
pop eax
mov eax, dword [0x4eb014]
lock inc dword [eax]
jle 0x45f598
lea ecx, [esp + 0x20c]
lea esi, [esp + 0xe0]
mov edx, 0x4bd05c
mov dword [ecx - 0x2c], 3
mov dword [ecx - 0x28], eax
and dword [ecx], 0
mov ecx, esi
push 8
call fcn.0047b800
pop eax
cmp byte [esi + 0xc], 3
jne 0x45e23e
mov eax, dword [esp + 0xe8]
movsd xmm0, qword [esp + 0xe0]
mov dword [esp + 0x170], eax
movsd qword [esp + 0x168], xmm0
jmp 0x45e26a
lea esi, [esp + 0x168]
mov edx, 0x4bd064
mov ecx, esi
push 8
call fcn.0047b800
pop eax
lea ecx, [esp + 0xe0]
call fcn.00469101
cmp byte [esi + 0xc], 3
jne 0x45e6a2
mov esi, dword [esp + 0x170]
mov eax, dword [esp + 0x168]
mov edx, dword [esp + 0x16c]
test esi, esi
je 0x45e6b3
lea ecx, [esp + 0x68]
mov dword [esp + 0x18], edx
lea ebx, [esp + 0x168]
mov dword [ecx], 1
and dword [ecx + 4], 0
and dword [ecx + 8], 0
lea ecx, [esp + 0x30]
mov dword [ecx], 4
and dword [ecx + 4], 0
and dword [ecx + 8], 0
push 0x2c
pop edx
mov ecx, ebx
push esi
mov dword [esp + 0x14], eax
push eax
call fcn.00455646
pop eax
pop ecx
and dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], esi
mov word [ebx + 0x24], 1
push 0xa
pop ecx
lea edi, [esp + 0xe0]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
cmp byte [esp + 0x105], 0
jne 0x45e64e
mov edx, dword [esp + 0xe4]
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov ebx, dword [esp + 0xec]
mov eax, esi
sub eax, ebx
jb 0x45e3d2
cmp esi, dword [esp + 4]
ja 0x45e3d2
mov edi, ecx
movzx ecx, byte [esp + ecx + 0xf7]
mov esi, edx
add edx, ebx
cmp eax, 8
jae 0x45e34f
push eax
call fcn.0041f978
jmp 0x45e355
push eax
call fcn.0040e170
pop ecx
cmp eax, 1
jne 0x45e3c5
lea eax, [edx + ebx + 1]
mov edx, esi
mov esi, dword [esp + 8]
mov ecx, edi
mov ebx, eax
mov dword [esp + 0xec], eax
sub ebx, edi
jb 0x45e319
cmp eax, dword [esp + 4]
ja 0x45e319
add edx, ebx
mov esi, ecx
xor ecx, ecx
mov edi, edx
mov edx, esi
push 0x4e7420
push 4
lea eax, [esp + 0x100]
push eax
call fcn.004087cb
add esp, 0xc
mov dword [esp + 4], eax
mov eax, edx
mov ecx, edi
mov edx, esi
push eax
push dword [esp + 8]
call fcn.00473311
pop ecx
pop edx
test al, al
jne 0x45e62c
mov edx, dword [esp + 0xe4]
jmp 0x45e2fc
mov eax, dword [esp + 8]
mov edx, esi
mov dword [esp + 0xec], eax
cmp byte [esp + 0x105], 0
jne 0x45e64e
mov byte [esp + 0x105], 1
cmp byte [esp + 0x104], 0
je 0x45e402
mov eax, dword [esp + 0xfc]
mov ebx, dword [esp + 0x100]
jmp 0x45e418
mov eax, dword [esp + 0xfc]
mov ebx, dword [esp + 0x100]
cmp ebx, eax
je 0x45e64e
add edx, eax
sub ebx, eax
mov ecx, edx
mov edx, ebx
call fcn.00422823
test eax, eax
je 0x45e64e
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
and dword [esp + 0x80], 0
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], edx
inc eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0x4b6f74
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 0x4b6f88
push 0xfffffffffffffff0
pop edi
test edi, edi
je 0x45e4ad
mov eax, dword [esp + edi + 0xc4]
lea ecx, [esp + 0x78]
push ecx
push dword [esp + edi + 0xc4]
lea ecx, [esp + 0x170]
push ecx
call dword [eax + 0x10]
add esp, 0xc
mov dl, byte [esp + 0x168]
cmp dl, 2
jne 0x45e4b1
and dword [esp + 0x80], 0
add edi, 8
jmp 0x45e46f
mov dl, 2
jmp 0x45e4de
lea ecx, [esp + 0x168]
mov al, byte [ecx + 0x11]
movsd xmm0, qword [ecx + 1]
movsd xmm1, qword [ecx + 9]
mov byte [esp + 0x98], al
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x88], xmm0
push 0xfffffffffffffff0
pop edi
mov byte [esp + 4], dl
test edi, edi
je 0x45e516
mov ebx, dword [esp + edi + 0xc0]
mov esi, dword [esp + edi + 0xc4]
push ebx
call dword [esi]
add esp, 4
cmp dword [esi + 4], 0
je 0x45e50d
mov edx, dword [esi + 8]
mov ecx, ebx
call fcn.00407250
mov dl, byte [esp + 4]
add edi, 8
jmp 0x45e4e5
cmp dl, 2
je 0x45e570
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x7c]
jne 0x45e570
mov al, byte [esp + 0x98]
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
lea ecx, [esp + 0xc1]
mov byte [ecx + 0x10], al
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov byte [esp + 0xc0], dl
lea ecx, [esp + 0x68]
lea edx, [esp + 0xc0]
call fcn.0046912c
jmp 0x45e2e3
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov byte [esp + 0xc0], 2
lea ecx, [esp + 0x88]
mov edx, edi
push esi
call fcn.0040c210
pop eax
cmp byte [esp + 0x88], 2
jne 0x45e5e9
mov ecx, esi
call fcn.0047324e
mov ebx, eax
mov dword [esp + 4], edx
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esp + 0x38]
cmp edx, dword [esp + 0x34]
jne 0x45e5c9
lea ecx, [esp + 0x30]
call fcn.0047280c
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 4]
imul ecx, edx, 0xc
inc edx
mov dword [eax + ecx], ebx
mov dword [eax + ecx + 4], edi
mov dword [eax + ecx + 8], esi
mov dword [esp + 0x38], edx
jmp 0x45e2e3
mov al, byte [esp + 0x98]
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
lea edx, [esp + 0x168]
lea ecx, [esp + 0x68]
mov byte [edx + 0x11], al
movsd qword [edx + 9], xmm1
movsd qword [edx + 1], xmm0
mov byte [esp + 0x168], 2
call fcn.0046912c
jmp 0x45e2e3
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0xec]
add edx, ecx
sub ebx, ecx
mov dword [esp + 0xfc], eax
jmp 0x45e41c
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
movsd xmm0, qword [esp + 0x30]
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe4], ecx
movsd qword [esp + 0x170], xmm0
movsd xmm0, qword [esp + 0xe0]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x10]
movsd qword [esp + 0x168], xmm0
jmp 0x45e6b5
lea ecx, [esp + 0x168]
call fcn.00469115
xor edx, edx
xor eax, eax
inc eax
xor edi, edi
mov ecx, eax
call fcn.00452d23
lea ecx, [esp + 0x20c]
call fcn.0044b18c
movsd xmm0, qword [esp + 0x168]
movsd xmm1, qword [esp + 0x170]
mov eax, dword [esp + 0x178]
lea esi, [esp + 0x1e0]
mov dword [esi + 0x2c], edi
movsd qword [esi + 0x30], xmm0
movsd qword [esi + 0x38], xmm1
mov dword [esi + 0x40], eax
push 0x11
pop ecx
lea edi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0xa8]
cmp edx, dword [esp + 0xa4]
jne 0x45e725
lea esi, [esp + 0xa0]
mov ecx, esi
call fcn.00469079
mov edx, dword [esi + 8]
imul edi, edx, 0x44
add edi, dword [esp + 0xa0]
push 0x11
pop ecx
lea esi, [esp + 0xe0]
inc edx
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xa8], edx
push 0x14
pop ecx
push 4
pop edx
call fcn.0048295c
xor esi, esi
inc esi
mov dword [eax], esi
mov dword [eax + 4], esi
movsd xmm0, qword [esp + 0xa0]
movsd qword [eax + 8], xmm0
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0x10], ecx
mov dword [esp + 0x5c], eax
cmp byte [ebx + 0x11b], 0
jne 0x45f59c
push 8
pop ecx
push 4
pop edx
call fcn.0048295c
mov dword [eax + 4], esi
mov dword [eax], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x60], eax
mov edi, eax
mov dword [esp + 0x64], 0x4bc5f4
mov esi, dword [ebx + 0xd8]
test esi, esi
setne al
mov dword [esp + 0xc], eax
je 0x45e7d4
mov edi, esi
mov esi, dword [ebx + 0xdc]
lea ecx, [esp + 0x60]
call fcn.0044b31e
lea eax, [esp + 0x60]
mov dword [esp + 4], esi
mov dword [eax], edi
mov dword [eax + 4], esi
mov esi, edi
jmp 0x45e7dc
mov dword [esp + 4], 0x4bc5f4
mov ecx, dword [ebx + 0xc4]
lea eax, [ebx + 0xb8]
mov dword [esp + 0x1c0], eax
test ecx, ecx
mov dword [esp + 0x1c8], ecx
sete byte [esp + 0x18]
je 0x45e8c1
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esp + 0x1f0], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x1f8], xmm0
movsd qword [esp + 0x1e0], xmm2
movsd qword [esp + 0x1e8], xmm1
push 0x28
pop ecx
push 8
pop edx
call fcn.0048295c
mov ebx, eax
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
movsd xmm0, qword [esp + 0x1e0]
movsd xmm1, qword [esp + 0x1e8]
movsd qword [ebx + 8], xmm0
movsd qword [ebx + 0x10], xmm1
movsd xmm0, qword [esp + 0x1f0]
movsd qword [ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x1f8]
movsd qword [ebx + 0x20], xmm0
push 0x14
pop ecx
push 4
pop edx
call fcn.0048295c
mov edx, dword [esp + 4]
xor ecx, ecx
mov dword [esp + 4], 0x4bc604
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov edi, eax
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0x4bc604
mov dword [esp + 0x1cc], esi
lock inc dword [edi]
jle 0x45f598
lea eax, [ebx + 0xd8]
mov dword [esp + 0x1c4], eax
push 0x68
pop ecx
push 8
pop edx
call fcn.0048295c
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, 0x3b9aca00
and dword [eax + 8], 0
and dword [eax + 0x10], 0
mov dword [eax + 0x20], ecx
and dword [eax + 0x2c], 0
and dword [eax + 0x28], 0
mov dword [eax + 0x30], 0x11e1a300
mov dword [eax + 0x40], ecx
lea ecx, [esp + 0x1d4]
mov word [eax + 0x48], 1
mov byte [eax + 0x4e], 0
and word [eax + 0x5f], 0
mov dword [ecx], eax
mov eax, dword [esp + 4]
mov dword [ecx + 4], edi
mov edi, dword [ebx + 0x5c]
mov esi, dword [ebx + 0x60]
mov dword [ecx + 8], eax
mov eax, dword [ebx + 0x58]
mov dword [esp + 4], eax
call fcn.0045164e
mov ecx, dword [esp + 4]
mov dword [eax + 0x14], edi
xor edx, edx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x18], esi
lea ecx, [esp + 0x1e8]
mov al, byte [ebx + 0x10c]
and dword [ecx - 8], 0
mov word [ecx + 0x10], 0x501
mov dword [ecx], 4
and dword [ecx + 8], 0
and dword [ecx + 4], 0
and word [ecx + 0xc], 0
mov edi, dword [ebx + 0xfc]
xor al, 1
mov dword [esp + 8], edi
mov edi, dword [ebx + 0x100]
mov byte [ecx + 0xc], al
mov al, byte [ebx + 0x10d]
mov byte [ecx + 0xe], al
mov al, byte [ebx + 0x111]
xor al, 1
mov byte [ecx + 0xf], al
mov eax, dword [ebx + 0xf8]
lea esi, [eax + edi*4]
shl edi, 2
mov ebx, eax
mov dword [esp + 4], eax
mov dword [esp + 0x10], esi
push 4
pop eax
test edi, edi
je 0x45e9fe
mov esi, dword [ebx]
cmp edx, dword [esp + 0x1ec]
jne 0x45e9eb
lea ecx, [esp + 0x1e8]
call fcn.0042c922
mov eax, dword [esp + 0x1e8]
mov edx, dword [esp + 0x1f0]
mov dword [eax + edx*4], esi
inc edx
add ebx, 4
add edi, 0xfffffffc
mov dword [esp + 0x1f0], edx
jmp 0x45e9c2
mov edx, dword [esp + 0x10]
mov ecx, ebx
sub edx, ebx
shr edx, 2
call fcn.0045c8bc
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
call fcn.0045c8a8
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
mov al, byte [ebx + 0x12f]
cmp al, 4
je 0x45ea45
movzx ecx, al
call fcn.004689f5
mov ecx, str.invalid_minimum_TLS_version_for_backendinvalid_maximum_TLS_version_for_backendClient::new__valid_request_parts
cmp al, 5
je 0x45ea60
mov byte [esp + 0x1f8], al
mov al, byte [ebx + 0x130]
cmp al, 4
je 0x45ea8e
movzx ecx, al
call fcn.004689f5
mov ecx, 0x4bc6fb
cmp al, 5
jne 0x45ea87
push 0x27
pop edx
call fcn.00468a3f
lea ecx, [esp + 0x1e0]
mov esi, eax
call fcn.00468a00
lea ecx, [esp + 0x1d4]
call fcn.0044b0a4
jmp 0x45ed23
mov byte [esp + 0x1f9], al
mov cl, byte [esp + 0x1f4]
mov dl, byte [esp + 0x1f5]
mov esi, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1e0]
mov edi, dword [esp + 0x1f0]
mov byte [esp + 0x58], cl
mov cl, byte [esp + 0x1f6]
mov byte [esp + 0x54], dl
mov dl, byte [esp + 0x1f7]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], eax
mov byte [esp + 0x44], cl
mov cl, byte [esp + 0x1f8]
mov byte [esp + 0x50], dl
mov dl, byte [esp + 0x1f9]
mov byte [esp + 0x4c], cl
mov ecx, dword [esp + 0x1e8]
mov byte [esp + 0x48], dl
mov dword [esp + 4], ecx
lock inc dword [esi]
jle 0x45f598
lea edx, [esp + 0xe0]
mov ecx, ebx
and dword [edx + 0xc], 0
and dword [edx + 8], 0
and dword [edx], 0
mov dword [edx + 4], 0x46
call fcn.00413328
lea ecx, [esp + 0x88]
mov edx, eax
call fcn.004689a6
movzx eax, byte [ebx + 0x11e]
mov edx, dword [ebx + 0x12b]
movsd xmm0, qword [ebx + 0x123]
mov cl, byte [ebx + 0x112]
cmp dword [esp + 0x10], 0
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1bc], eax
mov eax, dword [ebx + 0x11f]
mov bl, byte [ebx + 0x11a]
mov dword [esp + 0x38], edx
movsd qword [esp + 0x30], xmm0
mov byte [esp + 0x40], cl
mov dword [esp + 0x3c], eax
je 0x45eb91
push dword [esp + 8]
call dword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov dword [esp + 0x28], eax
jmp 0x45eb99
mov dword [esp + 0x24], 0
push 0
push 0
push 0
push 0
push 2
call dword [sym.imp.crypt32.dll_CertOpenStore]
test eax, eax
mov dword [esp + 8], eax
je 0x45ec1e
shl edi, 2
mov byte [esp + 0x1f], bl
mov dword [esp + 0x1b8], esi
test edi, edi
je 0x45ec2a
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
lea ecx, [esp + 0xe0]
push dword [eax]
call fcn.004729a9
pop eax
cmp byte [esp + 0xe0], 4
jne 0x45ebf6
mov esi, dword [esp + 0xe4]
and ebx, 0xffffff00
or ebx, 4
jmp 0x45ec04
mov ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0xe4]
cmp bl, 4
jne 0x45ec9c
add dword [esp + 4], 4
push esi
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
add edi, 0xfffffffc
jmp 0x45ebbf
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x45eca5
mov eax, dword [esp + 0x1dc]
movsd xmm0, qword [esp + 0x1d4]
movsd xmm1, qword [esp + 0x90]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x98]
movsd qword [esp + 0x78], xmm0
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0xc8], xmm1
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x1bc]
movsd qword [esp + 0xc0], xmm0
cmp eax, 2
je 0x45edc6
mov edi, dword [esp + 0x24]
test eax, eax
jne 0x45edd6
mov bl, 1
jmp 0x45edcc
mov ecx, dword [esp + 8]
call fcn.00472997
cmp dword [esp + 0x10], 0
mov eax, dword [esp + 0x28]
je 0x45ecb7
push eax
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
xor edi, edi
cmp bl, 4
je 0x45ecc9
mov ecx, ebx
mov edx, esi
call fcn.0044e498
mov edi, eax
push 0x54
pop ecx
push 4
pop edx
call fcn.0048295c
mov dword [eax], 2
and word [eax + 0x48], 0
lea ecx, [esp + 0x88]
mov dword [eax + 0x4c], edi
mov esi, eax
mov dword [eax + 0x50], 0x4b87e0
call fcn.0043c900
lea ecx, [esp + 0x1d0]
call fcn.0044b0cd
lea ecx, [esp + 0x1e0]
call fcn.00468a00
lea ecx, [esp + 0x1d4]
call fcn.0044b0a4
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x60]
call fcn.0044b31e
lea ecx, [esp + 0x5c]
call fcn.0044b0cd
mov ecx, ebx
call fcn.0042e9bf
test edi, edi
je 0x45ed63
lea ecx, [ebx + 0xec]
call fcn.0044b0fc
lea ecx, [ebx + 0xe0]
call fcn.0045c772
lea ecx, [ebx + 0xf8]
call fcn.0045c79b
jmp 0x45ed84
lea ecx, [ebx + 0xe0]
call fcn.0045c772
cmp dword [ebx + 0x108], 0
je 0x45ed84
push dword [esp + 0xdc]
call fcn.0042f700
pop eax
cmp byte [esp + 0x18], 0
je 0x45ed96
lea ecx, [ebx + 0xb8]
call fcn.0045c7c6
cmp dword [ebx + 0xd8], 0
mov ecx, dword [esp + 0xc]
sete al
or cl, al
xor edi, edi
inc edi
test cl, cl
jne 0x45edba
add ebx, 0xd8
mov ecx, ebx
call fcn.0044b31e
mov eax, edi
mov edx, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 0x24]
xor ebx, ebx
mov dword [esp + 4], 0
jmp 0x45edf8
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x30]
xor ebx, ebx
mov dword [esp + 0xe8], eax
mov al, 1
movsd qword [esp + 0xe0], xmm0
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
movsd xmm0, qword [esp + 0xe0]
lea esi, [esp + 0x78]
mov ecx, esi
mov dword [esp + 0xb8], eax
movsd qword [esp + 0xb0], xmm0
call fcn.0045164e
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 4]
mov byte [eax + 0x41], bl
mov dword [eax + 0x42], ecx
mov byte [eax + 0x46], dl
mov dword [eax + 0x47], ecx
movsd xmm0, qword [esp + 0xb0]
movsd qword [eax + 0x4b], xmm0
mov ecx, dword [esp + 0xb8]
mov dword [eax + 0x53], ecx
mov ecx, esi
call fcn.0045164e
xor ebx, ebx
lea ecx, [esp + 0x1e0]
mov byte [eax + 0x40], bl
movsd xmm0, qword [esi]
mov eax, dword [esi + 8]
movsd xmm1, qword [esp + 0xc8]
movsd qword [esp + 0x68], xmm0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xd0]
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 0xec], xmm1
mov dword [esp + 0xf4], eax
movsd qword [esp + 0xe4], xmm0
movsd xmm0, qword [esp + 0xf0]
movsd xmm2, qword [esp + 0xe8]
movsd xmm1, qword [esp + 0xe0]
movsd qword [esp + 0x1a4], xmm0
movsd qword [esp + 0x19c], xmm2
movsd qword [esp + 0x194], xmm1
call fcn.00468a00
mov eax, dword [esp + 8]
movsd xmm0, qword [esp + 0x68]
mov esi, dword [esp + 0x1b8]
mov dl, byte [esp + 0x1f]
mov cl, byte [esp + 0x40]
mov dword [esp + 0x170], eax
mov al, byte [esp + 0x44]
mov byte [esp + 0x174], al
mov al, byte [esp + 0x54]
mov byte [esp + 0x175], al
mov al, byte [esp + 0x58]
mov byte [esp + 0x176], al
mov al, byte [esp + 0x50]
mov byte [esp + 0x177], al
mov al, byte [esp + 0x4c]
mov byte [esp + 0x178], al
mov al, byte [esp + 0x48]
mov byte [esp + 0x179], al
mov eax, dword [esp + 0x70]
movsd qword [esp + 0x17c], xmm0
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x168], edi
mov dword [esp + 0x16c], eax
mov dword [esp + 0x1ac], esi
mov byte [esp + 0x1b1], dl
mov byte [esp + 0x1b2], cl
lea ecx, [esp + 0x60]
call fcn.0044b31e
mov edi, dword [esp + 0x14]
mov word [esp + 0x160], 0x101
mov byte [esp + 0x162], bl
and dword [esp + 0xe0], 0
and dword [esp + 0xe8], 0
and dword [esp + 0xf0], 0
and dword [esp + 0xfc], 0
mov dword [esp + 0xf8], 0x14
and dword [esp + 0x100], 0
mov dword [esp + 0x110], 0x3b9aca00
mov dword [esp + 0x118], 0x500000
mov dword [esp + 0x11c], 0x200000
mov dword [esp + 0x120], 0x4000
mov dword [esp + 0x124], 0x100000
and word [esp + 0x128], 0
and dword [esp + 0x130], 0
and dword [esp + 0x13c], 0
and dword [esp + 0x138], 0
mov word [esp + 0x140], 0x200
and dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0x5a
and dword [esp + 0x150], 0
or dword [esp + 0x158], 0xffffffff
mov ecx, dword [edi + 0x5c]
mov eax, dword [edi + 0x58]
cmp byte [edi + 0x11d], 1
mov edx, dword [edi + 0x60]
mov dword [esp + 0x18c], ecx
mov cl, byte [edi + 0x10e]
mov dword [esp + 0x188], eax
mov dword [esp + 0x190], edx
mov byte [esp + 0x1b0], cl
jne 0x45f08f
mov byte [esp + 0x162], 1
cmp dword [edi + 0x40], 0
je 0x45f0a7
mov eax, dword [edi + 0x44]
mov byte [esp + 0x128], 0
mov dword [esp + 0x11c], eax
cmp dword [edi + 0x48], 0
je 0x45f0bf
mov eax, dword [edi + 0x4c]
mov byte [esp + 0x128], 0
mov dword [esp + 0x118], eax
cmp byte [edi + 0x118], 0
je 0x45f0e3
mov eax, 0xffff
mov byte [esp + 0x128], 1
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
cmp dword [edi + 0x50], 0
je 0x45f0f3
mov eax, dword [edi + 0x54]
mov dword [esp + 0x120], eax
mov eax, dword [edi + 0xa0]
cmp eax, 0x3b9aca00
je 0x45f121
mov ecx, dword [edi + 0x98]
mov edx, dword [edi + 0x9c]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], eax
mov eax, dword [edi + 0xb0]
cmp eax, 0x3b9aca00
je 0x45f14f
mov ecx, dword [edi + 0xa8]
mov edx, dword [edi + 0xac]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], eax
cmp byte [edi + 0x119], 0
je 0x45f160
mov byte [esp + 0x129], 1
mov eax, dword [edi + 0x68]
mov edx, dword [edi + 0x6c]
mov ecx, dword [edi + 0x70]
mov esi, dword [edi + 0x7c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x148], eax
mov eax, dword [edi + 0x104]
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], ecx
mov edi, dword [edi + 0x78]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x17c]
mov dword [esp + 0x20], edx
mov dword [esp + 4], eax
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x80]
call fcn.0045164e
mov dword [eax + 0x34], esi
mov dword [eax + 0x30], edi
mov dword [eax + 0x38], ebx
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x113], 0
je 0x45f1d5
mov byte [esp + 0x138], 1
cmp byte [eax + 0x114], 0
mov ecx, dword [esp + 0x2c]
je 0x45f1ea
mov byte [esp + 0x13e], 1
cmp byte [eax + 0x115], 0
je 0x45f1fb
mov byte [esp + 0x13a], 1
cmp byte [eax + 0x116], 0
je 0x45f20c
mov byte [esp + 0x13d], 1
cmp byte [eax + 0x117], 0
je 0x45f21d
mov byte [esp + 0x139], 1
mov eax, dword [esp + 0x5c]
lea esi, [esp + 0x160]
mov edi, dword [eax + 8]
imul ebx, dword [eax + 0x10], 0x44
mov dword [esp + 8], eax
test ebx, ebx
je 0x45f277
mov eax, dword [edi]
mov eax, dword [eax*4 + 0x45f5d4]
add eax, ecx
jmp eax
mov dl, byte [esi + 2]
movzx eax, word [esi]
lea ecx, [esp + 0x220]
mov byte [ecx + 0xbe], dl
lea edx, [esp + 0xe0]
mov word [ecx + 0xbc], ax
call fcn.0045bfd9
cmp dword [esp + 4], 0
je 0x45f43a
call fcn.00481930
test eax, eax
je 0x45f5ad
mov edx, dword [eax]
mov ecx, dword [eax + 8]
xor esi, esi
inc esi
mov dword [esp + 0x10], ecx
mov ecx, edx
mov dword [esp + 0x24], edx
mov edx, dword [eax + 0xc]
add ecx, esi
lea esi, [esp + 0xc0]
mov dword [eax], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
adc ecx, 0
mov dword [eax + 4], ecx
mov ecx, esi
call fcn.004836da
lea edi, [esp + 0x2f0]
mov edx, esi
mov ecx, edi
call fcn.004512e7
mov eax, dword [edi + 8]
lea esi, [esp + 0xc0]
mov ecx, esi
mov dword [esp + 0x58], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x54], eax
mov eax, dword [edi]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x4c], eax
call fcn.004836da
lea edi, [esp + 0x2e0]
mov edx, esi
mov ecx, edi
call fcn.004512e7
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x134]
xor ecx, ecx
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x44], eax
mov eax, dword [edi]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x3c], eax
call fcn.0045aca0
mov esi, eax
mov edi, edx
push 8
pop edx
mov ecx, 0x90
call fcn.0048295c
xor ecx, ecx
mov edx, dword [esp + 0x28]
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x20]
and dword [eax + 8], 0
mov byte [eax + 0xc], 0
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, 0x4c0430
mov dword [eax + 0x20], ecx
and dword [eax + 0x24], 0
and dword [eax + 0x28], 0
and dword [eax + 0x2c], 0
mov dword [eax + 0x34], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 0x30], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x3c], edx
mov edx, dword [esp + 0x10]
mov dword [eax + 0x38], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x40], ecx
and dword [eax + 0x44], 0
and dword [eax + 0x48], 0
and dword [eax + 0x4c], 0
mov dword [eax + 0x54], edx
mov edx, dword [esp + 0x50]
mov dword [eax + 0x50], edx
mov edx, dword [esp + 0x54]
mov dword [eax + 0x5c], edx
mov edx, dword [esp + 0x58]
mov dword [eax + 0x58], edx
mov dword [eax + 0x60], ecx
mov ecx, dword [esp + 0x3c]
and dword [eax + 0x64], 0
and dword [eax + 0x68], 0
and dword [eax + 0x6c], 0
mov edx, dword [esp + 4]
mov dword [eax + 0x74], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x70], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x7c], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x78], ecx
mov dword [eax + 0x80], esi
mov dword [eax + 0x84], edi
mov dword [eax + 0x88], edx
and dword [eax + 0x8c], 0
jmp 0x45f43c
xor eax, eax
lea edx, [esp + 0x288]
push 0x14
pop ecx
lea esi, [esp + 0x168]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0x50], eax
push 0x10
pop ecx
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x1e0]
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 0xe8]
movsd xmm0, qword [edx + 0xe0]
mov edi, dword [edx + 0x90]
mov dword [esp + 0xcc], eax
mov al, byte [edx + 0x110]
movsd qword [esp + 0xc4], xmm0
mov byte [esp + 4], al
mov eax, dword [edx + 0x88]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x8c]
mov dword [esp + 0x20], eax
mov al, byte [edx + 0x11c]
mov byte [esp + 0xc], al
push 8
pop edx
mov ecx, 0x130
call fcn.0048295c
mov esi, eax
xor eax, eax
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
lea eax, [esi + 8]
push pe_nt_image_headers32
lea ecx, [esp + 0x1e4]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 4]
mov cl, byte [esp + 0xc]
test ebx, ebx
mov dword [esi + 0x10c], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 0x108], eax
mov dword [esi + 0x110], edi
mov eax, dword [esp + 8]
movsd xmm0, qword [esp + 0xc0]
movsd qword [esi + 0x114], xmm0
movsd xmm0, qword [esp + 0xc8]
movsd qword [esi + 0x11c], xmm0
mov dword [esi + 0x124], eax
mov byte [esi + 0x128], dl
setne byte [esi + 0x129]
mov byte [esi + 0x12a], cl
lea ecx, [esp + 0x130]
call fcn.0046b347
mov ecx, dword [esp + 0xdc]
call fcn.0045c7b8
cmp dword [esp + 0x1c8], 0
jne 0x45f573
mov ecx, dword [esp + 0x1c0]
call fcn.0045c7c6
xor edi, edi
cmp dword [esp + 0x1cc], 0
jne 0x45edba
mov ecx, dword [esp + 0x1c4]
cmp dword [ecx], 0
jne 0x45edb5
jmp 0x45edba
ud2
mov ecx, 0x4bc6bc
mov edx, 0x4bc6c4
call fcn.004261b9
ud2
lea eax, [esp + 0xc0]
push 0x46
pop edx
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_a28077b28a02b92985b3a3faecf92813155f1ea1library_std_src_threadlocal.rs
push 0x4c041c
push 0x4a67fc
push eax
call fcn.00493e90
add esp, 0xc
ud2