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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x8b0
mov dword [esp + 0x1fc], edx
call 0x4a28e7
pop eax
mov dword [esp + 0x54], eax
movzx eax, byte [ecx + 0x154]
test eax, eax
mov dword [esp + 0x30], ecx
je 0x4a2935
cmp eax, 3
jne 0x4a3ed8
mov ecx, dword [esp + 0x30]
lea edx, [ecx + 0x150]
movzx eax, byte [ecx + 0x150]
test eax, eax
mov dword [esp + 0x28], edx
je 0x4a2963
cmp eax, 3
jne 0x4a3eea
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0x14c]
jmp 0x4a3f27
lea esi, [esp + 0x380]
push 0x138
push ecx
push esi
call fcn.004f7e80
add esp, 0xc
mov edi, dword [esi + 0x108]
test edi, edi
je 0x4a2970
mov byte [esp + 0xc], 1
xor ebx, ebx
mov esi, edi
jmp 0x4a350c
mov esi, dword [ecx + 0x148]
mov eax, ecx
jmp 0x4a5412
mov eax, dword [esp + 0x474]
mov dword [esp + 0xe8], eax
movsd xmm0, qword [esp + 0x46c]
movsd qword [esp + 0xe0], xmm0
cmp byte [esp + 0x48f], 0
mov dword [esp + 0x24], edi
je 0x4a2f1b
mov eax, dword [0x57e02c]
cmp eax, 2
je 0x4a29ef
mov eax, 0x57e02c
lea ecx, [esp + 0x700]
mov dword [ecx], eax
lea eax, [0x57e030]
lea esi, [esp + 0x210]
mov dword [esi], eax
lea edx, [esp + 0x540]
mov dword [edx], ecx
mov dword [edx + 4], esi
lea eax, [esp + 0x320]
mov dword [edx + 8], eax
mov ecx, 0x57e02c
push 0x53fa78
call fcn.0046bea2
pop eax
mov eax, dword [0x57e030]
mov dword [esp + 0x20], eax
lock inc dword [eax]
jle 0x4a541d
lea esi, [esp + 0x540]
mov ecx, esi
mov edx, str.NO_PROXYno_proxy_
push 8
call fcn.004cd8b0
pop eax
cmp byte [esi + 0xc], 3
jne 0x4a2a3f
mov eax, dword [esp + 0x548]
mov dword [esp + 0x218], eax
movsd xmm0, qword [esp + 0x540]
movsd qword [esp + 0x210], xmm0
jmp 0x4a2a6b
lea esi, [esp + 0x210]
mov ecx, esi
mov edx, 0x53ef98
push 8
call fcn.004cd8b0
pop eax
lea ecx, [esp + 0x540]
call fcn.0044fc30
cmp byte [esi + 0xc], 3
jne 0x4a2e3b
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 0x218]
test esi, esi
je 0x4a2e37
lea ecx, [esp + 0x70]
mov dword [ecx], 1
and dword [ecx + 4], 0
and dword [ecx + 8], 0
lea ecx, [esp + 0x90]
mov dword [ecx], 4
and dword [ecx + 4], 0
and dword [ecx + 8], 0
lea edi, [esp + 0x210]
push 0x2c
pop edx
mov ecx, edi
push esi
mov dword [esp + 0x38], eax
push eax
call fcn.004045d4
pop eax
pop ecx
and dword [edi + 0x1c], 0
mov dword [edi + 0x20], esi
mov word [edi + 0x24], 1
movsd xmm0, qword [edi + 0x20]
lea eax, [esp + 0x558]
movsd qword [eax + 8], xmm0
movups xmm0, xmmword [edi + 0x10]
movaps xmmword [eax - 8], xmm0
movups xmm0, xmmword [edi]
movaps xmmword [eax - 0x18], xmm0
push 4
pop eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
cmp byte [esp + 0x565], 0
jne 0x4a2e17
mov eax, dword [esp + 0x544]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x548]
mov dword [esp], eax
mov eax, dword [esp + 0x550]
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x554]
mov esi, dword [esp + 0x54c]
mov edi, dword [esp + 8]
mov eax, edi
sub eax, esi
jb 0x4a2bd3
cmp edi, dword [esp]
ja 0x4a2bd3
mov ecx, dword [esp + 4]
lea edx, [ecx + esi]
movzx ecx, byte [esp + ebx + 0x557]
cmp eax, 8
jae 0x4a2b73
push eax
call fcn.0047e386
jmp 0x4a2b79
push eax
call fcn.00426860
pop ecx
cmp eax, 1
jne 0x4a2bcc
add esi, edx
inc esi
mov dword [esp + 0x54c], esi
mov edi, esi
sub edi, ebx
jb 0x4a2b44
cmp esi, dword [esp]
ja 0x4a2b44
cmp ebx, 5
jae 0x4a3ec4
mov eax, dword [esp + 4]
lea ecx, [eax + edi]
mov edx, ebx
push ebx
lea eax, [esp + 0x55c]
push eax
call fcn.004c55f1
pop ecx
pop edx
test al, al
je 0x4a2b44
mov eax, dword [esp + 0x55c]
sub edi, eax
mov dword [esp + 0x55c], esi
jmp 0x4a2c0d
mov dword [esp + 0x54c], edi
mov byte [esp + 0x565], 1
cmp byte [esp + 0x564], 0
je 0x4a2bf5
mov eax, dword [esp + 0x55c]
mov edi, dword [esp + 0x560]
jmp 0x4a2c0b
mov eax, dword [esp + 0x55c]
mov edi, dword [esp + 0x560]
cmp edi, eax
je 0x4a2e17
sub edi, eax
mov ecx, dword [esp + 4]
add ecx, eax
mov edx, edi
call fcn.004ba9e5
test eax, eax
je 0x4a2e17
mov dword [esp + 8], eax
mov dword [esp + 0x2f0], eax
mov dword [esp + 4], edx
mov dword [esp + 0x2f4], edx
and dword [esp + 0x2f8], 0
xor eax, eax
inc eax
mov dword [esp + 0x100], eax
mov dword [esp + fcn.00403440], 0x538ef0
mov dword [esp + 0x108], eax
mov dword [esp + fcn.00403440], 0x538f04
xor esi, esi
lea edi, [esp + 0x210]
cmp esi, 2
je 0x4a2ca9
mov eax, dword [esp + esi*8 + 0x104]
lea ecx, [esp + 0x2f0]
push ecx
push dword [esp + esi*8 + 0x104]
push edi
call dword [eax + 0x10]
add esp, 0xc
mov cl, byte [esp + 0x210]
cmp cl, 2
jne 0x4a2cad
inc esi
and dword [esp + 0x2f8], 0
jmp 0x4a2c70
mov cl, 2
jmp 0x4a2cc3
mov al, byte [edi + 0x11]
mov byte [esp + 0x330], al
movups xmm0, xmmword [edi + 1]
movaps xmmword [esp + 0x320], xmm0
xor edi, edi
mov byte [esp], cl
cmp edi, 2
je 0x4a2cf7
mov esi, dword [esp + edi*8 + 0x100]
mov ebx, dword [esp + edi*8 + 0x104]
push esi
call dword [ebx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x4a2cf1
mov edx, dword [ebx + 8]
mov ecx, esi
call fcn.004155d0
inc edi
mov cl, byte [esp]
jmp 0x4a2cc8
cmp cl, 2
je 0x4a2d53
mov eax, dword [esp + 0x2f8]
cmp eax, dword [esp + 0x2f4]
jne 0x4a2d53
mov al, byte [esp + 0x330]
movaps xmm0, xmmword [esp + 0x320]
movaps xmmword [esp + 0x1b0], xmm0
mov byte [esp + 0x1c0], al
mov byte [esp + 0x700], cl
lea ecx, [esp + 0x701]
mov byte [ecx + 0x10], al
movups xmmword [ecx], xmm0
lea ecx, [esp + 0x70]
lea edx, [esp + 0x700]
call fcn.0047e3aa
jmp 0x4a2b08
mov byte [esp + 0x700], 2
lea ecx, [esp + 0x320]
mov ebx, dword [esp + 8]
mov edx, ebx
mov edi, dword [esp + 4]
push edi
call fcn.00424c60
pop eax
cmp byte [esp + 0x320], 2
jne 0x4a2de4
mov ecx, edi
call fcn.004ba184
mov esi, eax
mov dword [esp], edx
push edi
push ebx
push eax
call fcn.004f7e80
add esp, 0xc
mov edx, dword [esp + 0x98]
cmp edx, dword [esp + 0x94]
jne 0x4a2db7
lea ecx, [esp + 0x90]
call fcn.004ba1ed
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
imul eax, edx, 0xc
mov dword [ecx + eax], esi
mov esi, dword [esp]
mov dword [ecx + eax + 4], esi
mov dword [esp + 0x10], ecx
mov dword [ecx + eax + 8], edi
inc edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x98], edx
jmp 0x4a2b08
mov al, byte [esp + 0x330]
lea edx, [esp + 0x210]
mov byte [edx + 0x11], al
movups xmm0, xmmword [esp + 0x320]
movups xmmword [edx + 1], xmm0
mov byte [esp + 0x210], 2
lea ecx, [esp + 0x70]
call fcn.0047e3aa
jmp 0x4a2b08
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
jmp 0x4a2e54
xor edi, edi
jmp 0x4a2e54
lea ecx, [esp + 0x210]
call fcn.0047e36f
xor edi, edi
xor eax, eax
inc eax
mov dword [esp + 0x18], 0
mov ecx, eax
mov edx, dword [esp + 0x18]
call fcn.0043e571
mov eax, dword [esp + 0x560]
mov dword [esp + 0x230], eax
movups xmm0, xmmword [esp + 0x540]
movups xmm1, xmmword [esp + 0x550]
movaps xmmword [esp + 0x220], xmm1
movaps xmmword [esp + 0x210], xmm0
mov edx, dword [esp + 0xe8]
cmp edx, dword [esp + 0xe4]
jne 0x4a2eae
lea esi, [esp + 0xe0]
mov ecx, esi
call fcn.0048db32
mov edx, dword [esi + 8]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0xe0]
imul ecx, edx, 0x44
mov dword [eax + ecx], 3
mov dword [eax + ecx + 4], esi
movaps xmm0, xmmword [esp + 0x210]
movaps xmm1, xmmword [esp + 0x220]
movups xmmword [eax + ecx + 8], xmm0
movups xmmword [eax + ecx + 0x18], xmm1
mov esi, dword [esp + 0x230]
mov dword [eax + ecx + 0x28], esi
mov dword [eax + ecx + 0x2c], edi
mov dword [eax + ecx + 0x30], ebx
mov esi, dword [esp + 4]
mov dword [eax + ecx + 0x34], esi
mov esi, dword [esp + 0x10]
mov dword [eax + ecx + 0x38], esi
mov esi, dword [esp]
mov dword [eax + ecx + 0x3c], esi
mov esi, dword [esp + 0xc]
mov dword [eax + ecx + 0x40], esi
inc edx
mov dword [esp + 0xe8], edx
push 0x14
pop ecx
push 4
pop edx
call fcn.0043e582
xor esi, esi
inc esi
mov dword [eax], esi
mov dword [eax + 4], esi
movsd xmm0, qword [esp + 0xe0]
movsd qword [eax + 8], xmm0
mov ecx, dword [esp + 0xe8]
mov dword [eax + 0x10], ecx
mov dword [esp + 0x200], eax
cmp byte [esp + 0x49b], 0
jne 0x4a3efc
push 8
pop ecx
push 4
pop edx
call fcn.0043e582
mov dword [eax + 4], esi
mov dword [esp + 0x18], esi
mov dword [eax], esi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0x53fc28
mov esi, dword [esp + 0x458]
test esi, esi
setne bl
je 0x4a2fb5
mov edi, dword [esp + 0x45c]
lea ecx, [esp + 0xc0]
call fcn.00481b89
lea eax, [esp + 0xc0]
mov dword [eax], esi
mov dword [esp], edi
mov dword [eax + 4], edi
mov edi, esi
jmp 0x4a2fbe
mov edi, eax
mov dword [esp], fcn.00403440
mov dword [esp + 0x20], ebx
lea eax, [esp + 0x438]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x44], ecx
test ecx, ecx
sete byte [esp + 0xc]
je 0x4a3057
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movaps xmmword [esp + 0x550], xmm1
movaps xmmword [esp + 0x540], xmm0
push 0x28
pop ecx
push 8
pop edx
call fcn.0049a4ee
mov ebx, eax
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
movaps xmm0, xmmword [esp + 0x540]
movaps xmm1, xmmword [esp + 0x550]
movups xmmword [ebx + 8], xmm0
movups xmmword [ebx + 0x18], xmm1
push 0x14
pop ecx
push 4
pop edx
call fcn.0043e582
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov ecx, dword [esp]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0x53fc38
mov ebx, 0x53fc38
mov edi, eax
jmp 0x4a305a
mov ebx, dword [esp]
mov dword [esp + 0x34], esi
lock inc dword [edi]
jle 0x4a541d
lea esi, [esp + 0x458]
push 0x68
pop ecx
push 8
pop edx
call fcn.0049a4ee
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
and dword [eax + 8], 0
and dword [eax + 0x10], 0
mov ecx, 0x3b9aca00
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
mov word [eax + 0x48], 1
mov byte [eax + 0x4e], 0
and word [eax + 0x5f], 0
lea ecx, [esp + 0x190]
mov dword [ecx], eax
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
mov eax, dword [esi - 0x7c]
mov dword [esp], eax
mov edi, dword [esi - 0x80]
mov ebx, dword [esi - 0x78]
call fcn.004a77fb
mov ecx, dword [esp]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x10], edi
mov dword [eax + 0x18], ebx
lea ecx, [esp + 0x548]
and dword [ecx - 8], 0
mov word [ecx + 0x10], 0x501
mov dword [ecx], 4
and word [ecx + 0xc], 0
and dword [ecx + 8], 0
and dword [ecx + 4], 0
mov al, byte [esi + 0x34]
xor al, 1
mov byte [ecx + 0xc], al
mov al, byte [esi + 0x35]
mov byte [ecx + 0xe], al
mov al, byte [esi + 0x39]
xor al, 1
mov byte [ecx + 0xf], al
mov ecx, dword [esi + 0x20]
mov edi, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov dword [esp + 8], eax
mov edx, ecx
lea eax, [ecx + edi*4]
mov dword [esp + 0x10], eax
shl edi, 2
mov dword [esp], edi
xor ebx, ebx
xor edi, edi
push 4
pop eax
mov dword [esp + 4], ecx
lea ecx, [edx + ebx]
cmp dword [esp], ebx
je 0x4a3182
mov esi, dword [ecx]
cmp edi, dword [esp + 0x54c]
jne 0x4a3172
lea ecx, [esp + 0x548]
mov edx, edi
call fcn.0046bda3
mov edx, dword [esp + 4]
mov eax, dword [esp + 0x548]
mov edi, dword [esp + 0x550]
mov dword [eax + edi*4], esi
inc edi
mov dword [esp + 0x550], edi
add ebx, 4
jmp 0x4a313f
mov eax, dword [esp + 0x10]
sub eax, ecx
shr eax, 2
mov esi, edx
mov edx, eax
call fcn.0046be3b
mov ecx, esi
mov edx, dword [esp + 8]
call fcn.004e4040
mov al, byte [esp + 0x4af]
cmp al, 4
je 0x4a31c2
movzx ecx, al
call fcn.00499e01
mov ecx, str.invalid_minimum_TLS_version_for_backendinvalid_maximum_TLS_version_for_backendvalid_request_parts
cmp al, 5
je 0x4a31de
mov byte [esp + 0x558], al
mov al, byte [esp + 0x4b0]
cmp al, 4
je 0x4a3235
movzx ecx, al
call fcn.00499e01
mov ecx, 0x53fcef
cmp al, 5
jne 0x4a322e
push 0x27
pop edx
call fcn.00499d08
mov esi, eax
cmp dword [esp + 0x540], 0
je 0x4a31ff
push dword [esp + 0x544]
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov ebx, dword [esp + 0x548]
mov ecx, ebx
mov edx, edi
call fcn.0046be3b
mov edx, dword [esp + 0x54c]
mov ecx, ebx
call fcn.00444c66
lea ecx, [esp + 0x190]
call fcn.0048d97b
jmp 0x4a34ec
mov byte [esp + 0x559], al
mov edi, dword [esp + 0x540]
mov eax, dword [esp + 0x544]
mov dword [esp + 4], eax
mov al, byte [esp + 0x554]
mov byte [esp + 0x38], al
mov al, byte [esp + 0x555]
mov byte [esp + 0x50], al
mov al, byte [esp + 0x556]
mov byte [esp + 0x48], al
mov al, byte [esp + 0x557]
mov byte [esp + 0x28], al
mov al, byte [esp + 0x558]
mov byte [esp + 0x1c], al
mov al, byte [esp + 0x559]
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x548]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x550]
mov dword [esp], eax
mov ebx, dword [esp + 0x200]
lock inc dword [ebx]
jle 0x4a541d
movups xmm0, xmmword [0x53fcb8]
lea edx, [esp + 0x210]
movaps xmmword [edx], xmm0
lea esi, [esp + 0x380]
mov ecx, esi
call fcn.00431c37
lea ecx, [esp + 0x1b0]
mov edx, eax
call fcn.0047a34e
movzx eax, byte [esi + 0x11e]
mov dword [esp + 0x58], eax
movsd xmm0, qword [esi + 0x123]
mov eax, dword [esi + 0x12b]
mov dword [esp + 0x98], eax
mov al, byte [esi + 0x112]
mov byte [esp + 0x4c], al
mov al, byte [esi + 0x11a]
mov byte [esp + 0x40], al
mov eax, dword [esi + 0x11f]
mov dword [esp + 0x5c], eax
movsd qword [esp + 0x90], xmm0
mov dword [esp + 0x1e0], ebx
test edi, edi
je 0x4a333d
push dword [esp + 4]
call dword [sym.imp.crypt32.dll_CertDuplicateCertificateContext]
mov dword [esp + 0x3c], eax
jmp 0x4a3345
mov dword [esp + 0x18], 0
sub esp, 0x14
movaps xmm0, xmmword [0x50ccc0]
movups xmmword [esp], xmm0
and dword [esp + 0x10], 0
call dword [sym.imp.crypt32.dll_CertOpenStore]
mov dword [esp + 4], eax
test eax, eax
mov dword [esp + 0x10], edi
je 0x4a33d0
mov dword [esp + 0x14], ebx
shl dword [esp], 2
xor edi, edi
cmp dword [esp], edi
je 0x4a33de
lea ecx, [esp + 0x210]
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
push dword [eax + edi]
call fcn.004ba2b0
pop eax
cmp byte [esp + 0x210], 4
jne 0x4a33ad
mov esi, dword [esp + 0x214]
and ebx, 0xffffff00
or ebx, 4
jmp 0x4a33bb
mov ebx, dword [esp + 0x210]
mov esi, dword [esp + 0x214]
cmp bl, 4
jne 0x4a346d
push esi
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
add edi, 4
jmp 0x4a3374
xor ebx, ebx
call sub.kernel32.dll_GetLastError
mov esi, eax
jmp 0x4a3476
movzx eax, byte [esp + 0x48]
movzx ecx, byte [esp + 0x50]
shl ecx, 8
or ecx, eax
movzx eax, byte [esp + 0x38]
shl eax, 0x10
or eax, ecx
movzx edi, byte [esp + 0x28]
shl edi, 0x18
or edi, eax
movzx eax, byte [esp + 0x1c]
movzx ebx, byte [esp + 0x2c]
shl ebx, 8
or ebx, eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x2f8], eax
movsd xmm0, qword [esp + 0x190]
movsd qword [esp + 0x2f0], xmm0
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x160], eax
movups xmm0, xmmword [esp + 0x1b0]
movaps xmmword [esp + 0x150], xmm0
mov eax, dword [esp + 0x58]
cmp eax, 2
je 0x4a35e1
test eax, eax
jne 0x4a35f2
mov al, 1
mov dword [esp], eax
jmp 0x4a35e8
mov ecx, dword [esp + 4]
call fcn.004ba29e
cmp dword [esp + 0x10], 0
mov eax, dword [esp + 0x3c]
je 0x4a3488
push eax
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
xor edi, edi
cmp bl, 4
je 0x4a349a
mov ecx, ebx
mov edx, esi
call fcn.0049f11f
mov edi, eax
push 0x54
pop ecx
push 4
pop edx
call fcn.0043e582
mov esi, eax
mov dword [eax], 2
and word [eax + 0x48], 0
mov dword [eax + 0x4c], edi
mov dword [eax + 0x50], 0x540288
lea ecx, [esp + 0x1b0]
call fcn.0043f891
lea ecx, [esp + 0x1e0]
call fcn.0048d93b
lea ecx, [esp + 0x540]
call fcn.004b2c72
lea ecx, [esp + 0x190]
call fcn.0049aa70
lea ecx, [esp + 0xc0]
call fcn.00481b89
lea ecx, [esp + 0x200]
call fcn.0048d93b
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x380]
call fcn.00440252
test edi, edi
je 0x4a3542
lea ecx, [esp + 0x46c]
call fcn.00481b1d
lea ecx, [esp + 0x460]
call fcn.00481b3a
lea ecx, [esp + 0x478]
call fcn.00481b63
jmp 0x4a355c
lea edi, [esp + 0x460]
mov ecx, edi
call fcn.00481b3a
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x4a355c
call fcn.00481b96
cmp byte [esp + 0xc], 0
je 0x4a356f
lea ecx, [esp + 0x438]
call fcn.0047cdbc
cmp dword [esp + 0x458], 0
sete al
or bl, al
jne 0x4a358a
lea ecx, [esp + 0x458]
call fcn.00481b89
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x13c]
mov edx, esi
call fcn.0047b7d9
mov dword [esp + 0x380], eax
mov dword [esp + 0x384], edx
test eax, eax
je 0x4a35c9
cmp eax, 1
jne 0x4a35bd
lea ecx, [esp + 0x540]
mov dword [ecx], edx
jmp 0x4a35c4
lea ecx, [esp + 0x384]
call fcn.004a5616
mov esi, dword [esp + 0x30]
lea ecx, [esi + 0x138]
call fcn.004a5499
mov cl, 1
xor eax, eax
jmp 0x4a47e5
mov dword [esp], 0
mov dword [esp + 8], 0
jmp 0x4a361f
mov eax, dword [esp + 0x98]
mov dword [esp + 0x218], eax
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x210], xmm0
mov al, 1
mov dword [esp + 8], eax
mov dword [esp], 0
mov eax, dword [esp + 0x218]
mov dword [esp + 0x108], eax
movsd xmm0, qword [esp + 0x210]
movsd qword [esp + 0x100], xmm0
lea esi, [esp + 0x2f0]
mov ecx, esi
call fcn.004a77fb
mov ecx, dword [esp]
mov byte [eax + 0x41], cl
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x42], ecx
mov edx, dword [esp + 8]
mov byte [eax + 0x46], dl
mov dword [eax + 0x47], ecx
movsd xmm0, qword [esp + 0x100]
movsd qword [eax + 0x4b], xmm0
mov ecx, dword [esp + 0x108]
mov dword [eax + 0x53], ecx
mov ecx, esi
call fcn.004a77fb
mov cl, byte [esp + 0x40]
mov byte [eax + 0x57], cl
mov ecx, esi
call fcn.004a77fb
xor ecx, ecx
mov byte [eax + 0x40], cl
movsd xmm0, qword [esi]
movsd qword [esp + 0x70], xmm0
mov eax, dword [esi + 8]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x224], eax
movaps xmm0, xmmword [esp + 0x150]
movups xmmword [esp + 0x214], xmm0
movsd xmm0, qword [esp + 0x220]
movsd qword [esp + 0x330], xmm0
movups xmm0, xmmword [esp + 0x210]
movaps xmmword [esp + 0x320], xmm0
lea ecx, [esp + 0x540]
call fcn.004b2c72
mov eax, dword [esp + 4]
mov dword [esp + 0x708], eax
mov dword [esp + 0x710], ebx
mov dword [esp + 0x70c], edi
mov eax, dword [esp + 0x78]
mov dword [esp + 0x71c], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0x714], xmm0
movaps xmm0, xmmword [esp + 0x320]
movups xmmword [esp + 0x72c], xmm0
movsd xmm0, qword [esp + 0x330]
movsd qword [esp + 0x73c], xmm0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x744], eax
mov al, byte [esp + 0x40]
mov byte [esp + 0x749], al
mov al, byte [esp + 0x4c]
mov byte [esp + 0x74a], al
mov eax, dword [esp + 0x130]
mov dword [esp + 0x74b], eax
mov al, byte [esp + 0x134]
mov byte [esp + 0x74f], al
mov eax, dword [esp + 0x18]
mov dword [esp + 0x700], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x704], eax
lea ecx, [esp + 0xc0]
call fcn.00481b89
mov eax, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3dc]
mov edx, dword [esp + 0x3e0]
mov dword [esp + 0x724], ecx
mov dword [esp + 0x720], eax
mov dword [esp + 0x728], edx
mov al, byte [esp + 0x48e]
mov byte [esp + 0x748], al
push 0x14
pop ecx
xor edx, edx
call fcn.00441256
mov dword [esp], eax
mov esi, edx
mov edi, ecx
push 0x5a
pop ecx
xor edx, edx
call fcn.00441256
mov word [esp + 0x290], 0x101
xor ebx, ebx
mov byte [esp + 0x292], bl
and dword [esp + 0x210], 0
and dword [esp + 0x218], 0
and dword [esp + 0x220], 0
mov dword [esp + 0x22c], esi
mov esi, dword [esp]
mov dword [esp + 0x228], esi
mov dword [esp + 0x230], edi
mov dword [esp + 0x240], 0x3b9aca00
movaps xmm0, xmmword [0x50ccd0]
movups xmmword [esp + 0x248], xmm0
and word [esp + 0x258], 0
and dword [esp + 0x260], 0
and dword [esp + 0x268], 0
and dword [esp + 0x26c], 0
mov word [esp + 0x270], 0x200
mov dword [esp + 0x27c], edx
mov dword [esp + 0x278], eax
mov dword [esp + 0x280], ecx
or dword [esp + 0x288], 0xffffffff
cmp byte [esp + 0x49d], 1
jne 0x4a38b1
mov byte [esp + 0x292], 1
cmp dword [esp + 0x3c0], 0
je 0x4a38d1
mov eax, dword [esp + 0x3c4]
mov byte [esp + 0x258], 0
mov dword [esp + 0x24c], eax
cmp dword [esp + 0x3c8], 0
je 0x4a38f1
mov eax, dword [esp + 0x3cc]
mov byte [esp + 0x258], 0
mov dword [esp + 0x248], eax
cmp byte [esp + 0x498], 0
je 0x4a3916
mov byte [esp + 0x258], 1
mov eax, 0xffff
mov dword [esp + 0x248], eax
mov dword [esp + 0x24c], eax
cmp dword [esp + 0x3d0], 0
je 0x4a392e
mov eax, dword [esp + 0x3d4]
mov dword [esp + 0x250], eax
mov eax, dword [esp + 0x420]
cmp eax, 0x3b9aca00
je 0x4a395f
mov ecx, dword [esp + 0x418]
mov edx, dword [esp + 0x41c]
mov dword [esp + 0x23c], edx
mov dword [esp + 0x238], ecx
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x430]
cmp eax, 0x3b9aca00
je 0x4a3990
mov ecx, dword [esp + 0x428]
mov edx, dword [esp + 0x42c]
mov dword [esp + 0x22c], edx
mov dword [esp + 0x228], ecx
mov dword [esp + 0x230], eax
cmp byte [esp + 0x499], 0
je 0x4a39a2
mov byte [esp + 0x259], 1
mov eax, dword [esp + 0x3e8]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3f0]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x27c], ecx
mov dword [esp + 8], eax
mov dword [esp + 0x278], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x280], edx
mov eax, dword [esp + 0x484]
mov dword [esp + 4], eax
mov dword [esp + 0x288], eax
mov esi, dword [esp + 0x3f8]
mov edi, dword [esp + 0x3fc]
mov ebx, dword [esp + 0x400]
lea ecx, [esp + 0x714]
call fcn.004a77fb
mov dword [eax + 0x34], edi
mov dword [eax + 0x30], esi
mov dword [eax + 0x38], ebx
cmp byte [esp + 0x493], 0
je 0x4a3a26
mov byte [esp + 0x268], 1
cmp byte [esp + 0x494], 0
mov eax, dword [esp + 0x14]
je 0x4a3a3c
mov byte [esp + 0x26e], 1
cmp byte [esp + 0x495], 0
je 0x4a3a4e
mov byte [esp + 0x26a], 1
cmp byte [esp + 0x496], 0
je 0x4a3a60
mov byte [esp + 0x26d], 1
cmp byte [esp + 0x497], 0
je 0x4a3a72
mov byte [esp + 0x269], 1
lea esi, [esp + 0x290]
mov edi, dword [eax + 8]
imul ecx, dword [eax + 0x10], 0x44
xor ebx, ebx
mov dword [esp], ecx
cmp ecx, ebx
je 0x4a3acb
mov eax, dword [edi + ebx]
mov eax, dword [eax*4 + 0x4a5450]
add eax, dword [esp + 0x54]
jmp eax
lea ecx, [esp + 0x580]
movzx eax, word [esi]
mov word [ecx + 0xbc], ax
mov al, byte [esi + 2]
mov byte [ecx + 0xbe], al
lea edx, [esp + 0x210]
call fcn.00494da7
cmp dword [esp + 4], 0
je 0x4a3ce0
call fcn.004e0820
test eax, eax
je 0x4a3f03
mov ecx, dword [eax]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
add ecx, 1
mov dword [eax], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], ecx
adc ecx, 0
mov dword [eax + 4], ecx
lea esi, [esp + 0x320]
mov ecx, esi
call fcn.004e6532
lea edi, [esp + 0x7d0]
mov ecx, edi
mov edx, esi
call fcn.0049133b
mov eax, dword [edi]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x1c], eax
lea esi, [esp + 0x320]
mov ecx, esi
call fcn.004e6532
lea edi, [esp + 0x7c0]
mov ecx, edi
mov edx, esi
call fcn.0049133b
mov esi, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x264]
xor ecx, ecx
call fcn.0049136e
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], edx
mov edi, 0x3b9aca00
mov eax, dword [esp + 0x10]
cmp eax, 0x3b9aca00
je 0x4a3be9
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
push 0
push 0
push 0
push eax
mov dword [esp + 0x68], esi
mov esi, eax
call fcn.0048d4f2
add esp, 0x10
test al, al
cmovne edi, esi
mov esi, dword [esp + 0x58]
movups xmm0, xmmword [0x54be90]
movups xmmword [esp + 0x324], xmm0
movups xmm0, xmmword [esp + 0x320]
movaps xmmword [esp + 0x150], xmm0
mov eax, dword [esp + 0x330]
mov dword [esp + 0x160], eax
push 8
pop edx
mov ecx, 0x90
call fcn.0043e582
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
and dword [eax + 8], 0
mov byte [eax + 0xc], 0
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 8]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x18], edi
movaps xmm0, xmmword [esp + 0x150]
movups xmmword [eax + 0x1c], xmm0
mov ecx, dword [esp + 0x160]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x3c], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x38], ecx
movups xmm0, xmmword [0x54be90]
movups xmmword [eax + 0x40], xmm0
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x54], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x5c], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x58], ecx
movups xmmword [eax + 0x60], xmm0
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x74], ecx
mov dword [eax + 0x70], esi
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x7c], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x78], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x80], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0x84], ecx
mov ecx, dword [esp + 4]
mov dword [eax + 0x88], ecx
and dword [eax + 0x8c], 0
jmp 0x4a3ce2
xor eax, eax
lea edx, [esp + 0x5e8]
push 0x14
pop ecx
lea esi, [esp + 0x700]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov dword [edx + 0x50], eax
movups xmm0, xmmword [esp + 0x380]
movups xmm1, xmmword [esp + 0x390]
movaps xmmword [edx - 0xa8], xmm0
movaps xmmword [edx - 0x98], xmm1
movups xmm0, xmmword [esp + 0x3a0]
movaps xmmword [edx - 0x88], xmm0
movups xmm0, xmmword [esp + 0x3b0]
movaps xmmword [edx - 0x78], xmm0
movsd xmm0, qword [esp + 0x460]
movsd qword [esp + 0x324], xmm0
mov eax, dword [esp + 0x468]
mov dword [esp + 0x32c], eax
mov al, byte [esp + 0x490]
mov byte [esp + 4], al
mov eax, dword [esp + 0x408]
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x40c]
mov eax, dword [esp + 0x410]
mov dword [esp + 0x10], eax
mov al, byte [esp + 0x49c]
mov byte [esp + 8], al
push 8
pop edx
mov ecx, 0x130
call fcn.0043e582
mov esi, eax
xor eax, eax
inc eax
mov dword [esi], eax
mov dword [esi + 4], eax
lea eax, [esi + 8]
push 0x100
lea ecx, [esp + 0x544]
push ecx
push eax
call fcn.004f7e80
add esp, 0xc
cmp dword [esp], ebx
mov dword [esi + 0x10c], edi
mov eax, dword [esp + 0xc]
mov dword [esi + 0x108], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x110], eax
movups xmm0, xmmword [esp + 0x320]
movups xmmword [esi + 0x114], xmm0
mov eax, dword [esp + 0x14]
mov dword [esi + 0x124], eax
mov al, byte [esp + 4]
mov byte [esi + 0x128], al
setne byte [esi + 0x129]
mov al, byte [esp + 8]
mov byte [esi + 0x12a], al
lea ecx, [esp + 0x260]
call fcn.00403467
mov ecx, dword [esp + 0x488]
call fcn.00481b80
cmp dword [esp + 0x44], 0
jne 0x4a3e32
lea ecx, [esp + 0x438]
call fcn.0047cdbc
cmp dword [esp + 0x34], 0
jne 0x4a3e4f
cmp dword [esp + 0x458], 0
je 0x4a3e4f
lea ecx, [esp + 0x458]
call fcn.00481b89
mov eax, dword [esp + 0x30]
mov dword [eax + 0x140], esi
mov ecx, dword [eax + 0x13c]
xor edx, edx
call fcn.0047b7d9
mov dword [esp + 0x380], eax
mov dword [esp + 0x384], edx
test eax, eax
je 0x4a3ead
cmp eax, 1
jne 0x4a3ea1
mov eax, dword [esp + 0x30]
lea esi, [eax + 0x140]
lea ecx, [esp + 0x540]
mov dword [ecx], edx
call fcn.004a5616
mov ecx, esi
call fcn.004a548c
jmp 0x4a35c9
lea ecx, [esp + 0x384]
call fcn.004a5616
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x138]
mov dword [ecx + 0x144], eax
mov eax, ecx
jmp 0x4a53f5
push 4
pop edx
mov ecx, ebx
push 0x5702a4
call fcn.00506c60
jmp 0x4a4801
push 0x23
pop edx
mov ecx, str._async_fn__resumed_after_completionunable_to_find_any_user_specified_roots_in_the_final_cert_chainpolling_StreamFuture_twicemain.rs_src_stream_streaminto_future.rs
push 0x541fd8
jmp 0x4a4092
push 0x23
pop edx
mov ecx, str._async_fn__resumed_after_completionunable_to_find_any_user_specified_roots_in_the_final_cert_chainpolling_StreamFuture_twicemain.rs_src_stream_streaminto_future.rs
push 0x541240
jmp 0x4a4092
call fcn.00499dc9
ud2
lea eax, [esp + 0x320]
push 0x46
pop edx
mov ecx, 0x54bdcc
push 0x54be64
push 0x529b90
push eax
call fcn.00506fb0
add esp, 0xc
ud2
mov eax, dword [esp + 0x1fc]
mov edi, dword [eax]
mov ecx, edi
call fcn.0047b444
mov ebx, eax
test bl, 1
jne 0x4a47d6
mov dword [esp + 4], edi
mov eax, ebx
shr eax, 0x10
mov dword [esp + 0x14], eax
mov eax, dword [esi]
lea edi, [eax + 0x40]
mov dword [esp + 8], eax
lea edx, [eax + 0xd0]
lea esi, [esp + 0x380]
mov ecx, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], edi
push edi
call fcn.00495606
pop eax
mov ecx, dword [esi]
mov eax, ecx
and al, 7
cmp al, 3
je 0x4a3fff
cmp ecx, 4
jne 0x4a402a
mov eax, dword [esp + 8]
lea ecx, [eax + 0x80]
mov edx, dword [esp + 4]
call fcn.004e32c4
lea esi, [esp + 0x380]
mov ecx, esi
mov edx, dword [esp + 0x2c]
push dword [esp + 0x1c]
call fcn.00495606
pop eax
mov ecx, dword [esi]
mov eax, ecx
and al, 7
cmp al, 3
je 0x4a406d
cmp ecx, 4
jne 0x4a409c
xor esi, esi
mov eax, dword [esp + 8]
cmp byte [eax + 0xdc], 0
je 0x4a4804
mov eax, dword [eax + 0xe0]
xor esi, esi
cmp eax, 2
movzx eax, bh
cmovb eax, esi
push 4
pop ecx
sbb ecx, 0
mov dword [esp + 4], ecx
sbb esi, esi
jmp 0x4a40de
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xe0]
xor esi, esi
push 3
pop ecx
mov dword [esp + 4], ecx
cmp eax, 1
jbe 0x4a40dc
push 0x30
pop edx
mov ecx, str.assertion_failed:_self.inner.semaphore.is_idle__main.rs_src_syncmpscchan.rs
push 0x53ec10
jmp 0x4a4092
mov dword [esp + 4], ecx
lea edi, [esp + 0x388]
mov esi, dword [edi - 4]
lea eax, [esp + 0x540]
push 0xc0
push edi
push eax
call fcn.004f7e80
add esp, 0xc
mov eax, dword [edi + 0xc0]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 8]
lock sub dword [eax + 0xe0], 2
jae 0x4a40dc
push 7
pop ecx
int 0x29
ud2
push 3
pop eax
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xe0]
xor esi, esi
cmp eax, 1
jbe 0x4a40dc
push 0x30
pop edx
mov ecx, str.assertion_failed:_self.inner.semaphore.is_idle__main.rs_src_syncmpscchan.rs
push 0x53ec00
call fcn.00506cd0
jmp 0x4a4801
mov dword [esp + 4], ecx
lea edi, [esp + 0x388]
mov esi, dword [edi - 4]
lea eax, [esp + 0x540]
push 0xc0
push edi
push eax
call fcn.004f7e80
add esp, 0xc
mov eax, dword [edi + 0xc0]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 8]
lock sub dword [eax + 0xe0], 2
jb 0x4a5448
xor eax, eax
mov bh, al
movzx ecx, bh
movzx edx, byte [esp + 0x14]
call fcn.004e461a
mov eax, dword [esp + 4]
xor eax, 4
or eax, esi
je 0x4a47d6
mov ecx, 0xc0
lea eax, [esp + 0x540]
lea ebx, [esp + 0x210]
push ecx
push eax
push ebx
call fcn.004f7e80
add esp, 0xc
mov edi, esi
mov esi, dword [esp + 0x30]
mov byte [esi + 0x150], 1
lea eax, [esp + 0x700]
mov ecx, 0xc0
push ecx
push ebx
push eax
call fcn.004f7e80
mov ecx, dword [esp + 0x10]
add esp, 0xc
mov eax, ecx
xor eax, 3
lea ebx, [esi + 0x140]
or eax, edi
je 0x4a4810
mov esi, ebx
lea eax, [esp + 0x7e8]
mov dword [eax - 8], ecx
mov dword [eax - 4], edi
push 0xc0
lea ecx, [esp + 0x704]
push ecx
push eax
call fcn.004f7e80
add esp, 0xc
lea ecx, [esp + 0x88c]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0xd0], eax
movups xmm0, xmmword [ecx]
movaps xmmword [esp + 0xc0], xmm0
lea ebx, [esp + 0x820]
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0xf0], eax
mov eax, dword [ebx + 0x68]
mov dword [esp + 0x1a0], eax
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x28], eax
movups xmm0, xmmword [ebx]
movaps xmmword [esp + 0xe0], xmm0
movups xmm0, xmmword [ebx + 0x20]
movups xmm1, xmmword [ebx + 0x30]
movaps xmmword [esp + 0x2f0], xmm0
movaps xmmword [esp + 0x300], xmm1
movsd xmm0, qword [ebx + 0x40]
movsd qword [esp + 0x310], xmm0
movups xmm0, xmmword [ebx - 0x10]
movaps xmmword [esp + 0x180], xmm0
movups xmm0, xmmword [ebx - 0x20]
movaps xmmword [esp + 0x170], xmm0
movups xmm0, xmmword [ebx - 0x40]
movups xmm1, xmmword [ebx - 0x30]
movaps xmmword [esp + 0x160], xmm1
movaps xmmword [esp + 0x150], xmm0
movups xmm0, xmmword [ebx + 0x58]
movaps xmmword [esp + 0x190], xmm0
mov al, byte [ecx + 0x14]
mov byte [esp + 0x38], al
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x1c], eax
mov ecx, ebx
call fcn.0048c6e6
mov ecx, eax
push 4
push 0x5702d7
call fcn.00499e2d
pop ecx
pop edx
test al, al
je 0x4a4285
mov ecx, ebx
call fcn.0048c6e6
mov ecx, eax
push 5
push 0x5702db
call fcn.00499e2d
pop ecx
pop edx
test al, al
jne 0x4a42b2
mov eax, dword [esi]
lea edi, [eax + 8]
mov dword [esp + 0x14], eax
cmp byte [eax + 0x12a], 0
je 0x4a42fc
mov ecx, ebx
call fcn.0048c6e6
mov ecx, eax
push 5
push 0x5702db
call fcn.00499e2d
pop ecx
pop edx
test al, al
je 0x4a42fc
mov ecx, ebx
call fcn.00499d72
mov edi, eax
cmp dword [esp + 0x190], 0
je 0x4a42d1
lea ecx, [esp + 0x194]
call fcn.0047ffb5
lea ecx, [esp + 0x150]
call fcn.00440252
lea ecx, [esp + 0x88c]
call fcn.004717c3
mov dword [esp + 4], 0
push 3
pop esi
mov eax, dword [esp]
jmp 0x4a4cc9
xor eax, eax
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x30], 0
sete al
add eax, eax
lea ecx, [esp + 0x540]
mov dword [ecx + 8], edi
and dword [ecx + 0xc], 0
mov dword [ecx], eax
lea ebx, [esp + 0x380]
lea ecx, [esp + 0x540]
call fcn.0043b599
test eax, eax
je 0x4a4561
mov edi, eax
mov dword [esp + 0x34], edx
lea esi, [esp + 0x150]
mov ecx, esi
call fcn.00431792
mov ecx, esi
mov dword [esp + 0x24], edi
mov edx, edi
call fcn.0044220f
mov edi, eax
movzx ecx, word [esp + 0x188]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
and edi, ecx
mov ecx, dword [esp + 0x168]
mov esi, dword [esp + 0x16c]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x18], eax
mov dword [esp], 0
mov eax, dword [esp + 0x170]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], ecx
mov eax, edi
mov edi, eax
xor eax, eax
cmp edi, esi
jae 0x4a439c
movzx eax, word [ecx + edi*4]
cmp eax, 0xffff
je 0x4a445e
mov dword [esp + 4], eax
movzx eax, word [ecx + edi*4 + 2]
mov ecx, dword [esp + 0xc]
mov edx, ecx
and edx, eax
mov ebx, edi
sub ebx, edx
and ebx, ecx
cmp ebx, dword [esp]
jb 0x4a44b0
cmp ax, word [esp + 8]
lea ebx, [esp + 0x380]
jne 0x4a4451
mov ecx, dword [esp + 4]
cmp dword [esp + 0x18], ecx
jbe 0x4a47f3
imul ecx, ecx, 0x34
mov eax, dword [esp + 0x20]
mov eax, dword [eax + ecx + 0x20]
test eax, eax
setne dl
mov ebx, dword [esp + 0x24]
cmp dword [ebx], 0
lea ebx, [esp + 0x380]
sete dh
cmp dl, dh
je 0x4a4451
mov edx, dword [esp + 0x20]
add edx, ecx
add edx, 0x20
test eax, eax
je 0x4a4441
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov eax, dword [esp + 0x24]
push dword [eax + 8]
push dword [eax + 4]
call fcn.00417eaa
pop ecx
pop edx
test al, al
je 0x4a4451
jmp 0x4a4322
mov al, byte [edx + 4]
mov ecx, dword [esp + 0x24]
cmp al, byte [ecx + 4]
je 0x4a4322
inc dword [esp]
inc edi
mov ecx, dword [esp + 0x10]
jmp 0x4a439a
cmp dword [esp], 0x200
setae al
mov ecx, dword [esp + 0x150]
xor ecx, 2
or ecx, dword [esp + 0x154]
setne cl
and cl, al
mov byte [esp], cl
mov ecx, ebx
mov edx, dword [esp + 0x24]
call fcn.0043e1fb
mov eax, dword [esp + 0x380]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x384]
mov ecx, dword [esp + 0x38c]
mov eax, dword [esp + 0x388]
mov esi, ebx
jmp 0x4a4505
cmp dword [esp], 0x200
setae al
mov ecx, dword [esp + 0x150]
xor ecx, 2
or ecx, dword [esp + 0x154]
setne cl
and cl, al
mov byte [esp], cl
lea esi, [esp + 0x380]
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.0043e1fb
mov eax, dword [esp + 0x380]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x384]
mov ecx, dword [esp + 0x38c]
mov eax, dword [esp + 0x388]
lea ebx, [esp + 0x150]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edi
mov eax, dword [esp + 8]
mov word [esp + 0x88], ax
mov al, byte [esp]
mov byte [esp + 0x8a], al
mov ecx, esi
mov edx, dword [esp + 0x34]
call fcn.0047a35d
lea ecx, [esp + 0x70]
mov edx, esi
call fcn.00442107
mov ebx, esi
jmp 0x4a4322
lea ecx, [esp + 0x1b0]
mov edx, dword [esp + 0x2c]
push dword [esp + 0x1c]
call fcn.0047dab5
pop eax
xor ecx, ecx
mov edx, str.OutOfRangeImpossibleNotEnoughInvalidTooShortTooLongBadFormat__NonexhaustiveEmpty
mov eax, 0x53eaa0
cmp dword [esp + 0x190], 0
mov esi, 0
mov edi, 0
je 0x4a462a
movups xmm0, xmmword [esp + 0x194]
movaps xmmword [esp + 0x1e0], xmm0
xor eax, eax
cmp dword [esp + 0x1e0], 0
mov ecx, 0
je 0x4a45ee
lea esi, [esp + 0x380]
lea edi, [esp + 0x1e0]
mov ecx, esi
mov edx, edi
call fcn.00417c4d
mov ecx, dword [esi]
movsd xmm0, qword [esi + 4]
movsd qword [esp + 0x540], xmm0
mov eax, dword [esi + 0xc]
mov dword [esp + 0x548], eax
mov eax, dword [edi]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x548]
mov dword [esp + 0x388], ecx
movsd xmm0, qword [esp + 0x540]
movsd qword [esp + 0x380], xmm0
mov edx, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e8]
mov esi, dword [esp + 0x1ec]
xor edi, edi
inc edi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x388]
mov dword [esp + 0x378], edi
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], edx
mov dword [esp + 0x208], ecx
mov dword [esp + 0x20c], esi
movsd xmm0, qword [esp + 0x380]
movsd qword [esp + 0x370], xmm0
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x129], 0
je 0x4a4956
cmp byte [esp + 0x1b0], 0
je 0x4a4956
lea ecx, [esp + 0x1b0]
mov edx, 0x53fd3c
call fcn.0043e408
test al, al
je 0x4a4956
movups xmm0, xmmword [0x53fd44]
lea edx, [esp + 0x380]
movaps xmmword [edx], xmm0
lea ecx, [esp + 0x150]
call fcn.00431b1c
test al, al
jne 0x4a4956
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x124]
mov ebx, dword [eax + 8]
add ebx, 4
imul esi, dword [eax + 0x10], 0x44
test esi, esi
je 0x4a4956
lea eax, [ebx - 4]
mov ecx, dword [eax]
mov ecx, dword [ecx*4 + 0x4a5464]
add ecx, dword [esp + 0x54]
jmp ecx
mov eax, dword [esp + 0x28]
mov byte [eax], 3
mov al, 1
mov cl, 3
mov esi, dword [esp + 0x30]
mov byte [esi + 0x154], cl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0x18]
push 0x540a0c
call fcn.00506bf0
pop eax
ud2
push 4
pop eax
mov dword [esp + 4], eax
jmp 0x4a40e0
mov esi, dword [esp + 0x30]
lea ecx, [esi + 0x144]
call fcn.004a5499
mov ecx, ebx
call fcn.004a548c
jmp 0x4a35d8
lea edi, [esp + 0x380]
mov ecx, edi
call fcn.00439b43
lea edx, [esp + 0xc0]
lea esi, [esp + 0x210]
mov ecx, esi
call fcn.00499e40
lea ebx, [esp + 0x540]
mov ecx, ebx
mov edx, edi
push esi
call fcn.00435979
pop eax
lea edi, [esp + 0x380]
mov ecx, edi
mov edx, ebx
lea eax, [esp + 0x1b0]
push eax
call fcn.0048cfb2
pop eax
mov ebx, dword [edi]
mov ecx, dword [edi + 4]
mov dl, byte [edi + 8]
mov dh, byte [edi + 9]
mov eax, ebx
xor eax, 3
or eax, ecx
je 0x4a49ec
lea eax, [esp + 0x38a]
mov edi, dword [eax + 0x7a]
push 0x7a
push eax
lea eax, [esp + 0x548]
push eax
mov esi, ecx
mov byte [esp + 0xc], dl
mov byte [esp + 0x10], dh
call fcn.004f7e80
mov dh, byte [esp + 0x10]
mov dl, byte [esp + 0xc]
mov ecx, esi
add esp, 0xc
shr edi, 8
lea esi, [esp + 0x21a]
mov dword [esi - 0xa], ebx
mov dword [esi - 6], ecx
mov byte [esi - 2], dl
mov byte [esi - 1], dh
push 0x7a
lea eax, [esp + 0x544]
push eax
mov ebx, eax
push esi
call fcn.004f7e80
add esp, 0xc
mov al, byte [esp + 0x38]
mov byte [esi + 0x7a], al
mov eax, edi
shr eax, 0x10
mov byte [esi + 0x7d], al
mov word [esi + 0x7b], di
lea eax, [esp + 0x200]
lea edi, [esp + 0x380]
lea edx, [esp + 0x210]
mov ecx, edi
push eax
call fcn.0048d0f1
pop eax
mov ecx, ebx
mov edx, edi
push 0x53fd2c
call fcn.00499f08
pop eax
lea edi, [esp + 0x380]
lea edx, [esp + 0x150]
mov ecx, edi
call fcn.00499f4d
mov ecx, ebx
call fcn.00440252
movups xmm0, xmmword [edi + 0x30]
movaps xmmword [esp + 0x570], xmm0
movups xmm0, xmmword [edi + 0x20]
movaps xmmword [esp + 0x560], xmm0
movups xmm0, xmmword [edi]
movups xmm1, xmmword [edi + 0x10]
movaps xmmword [esp + 0x550], xmm1
movaps xmmword [esp + 0x540], xmm0
mov esi, dword [esp + 0x14]
lea ebx, [esi + 0x48]
push 0x98
lea eax, [esp + 0x544]
push eax
push edi
call fcn.004f7e80
add esp, 0xc
mov ecx, ebx
mov edx, edi
call fcn.0049502c
mov ebx, eax
mov ecx, 0x3b9aca00
mov edi, dword [esp + 0x28]
mov eax, edi
cmp edi, ecx
jne 0x4a4adc
mov eax, dword [esi + 0x110]
mov dword [esp + 0xc], 0
cmp eax, ecx
mov dword [esp + 0x24], edx
je 0x4a4b4d
cmp edi, 0x3b9aca00
mov edx, dword [esp + 0x4c]
jne 0x4a4b08
mov edx, dword [esi + 0x108]
mov ecx, dword [esi + 0x10c]
mov dword [esp + 0x48], ecx
lea esi, [esp + 0x380]
mov ecx, esi
push 0x53f538
push eax
push dword [esp + 0x50]
call fcn.004e3439
add esp, 0xc
cmp dword [esi], 2
mov esi, dword [esp + 0x14]
je 0x4a4b4d
push 0x50
pop ecx
push 8
pop edx
call fcn.0043e582
push 0x14
pop ecx
lea esi, [esp + 0x380]
mov dword [esp + 0xc], eax
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x150]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x158]
movups xmm0, xmmword [esp + 0x15c]
movaps xmmword [esp + 0x540], xmm0
movups xmm0, xmmword [esp + 0x16c]
movaps xmmword [esp + 0x550], xmm0
movups xmm0, xmmword [esp + 0x17c]
movaps xmmword [esp + 0x560], xmm0
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x570], eax
lock inc dword [esi]
jle 0x4a541d
mov edx, esi
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x140], eax
lea esi, [esp + 0x380]
mov eax, dword [esp + 0xf0]
mov dword [esi + 0x44], eax
movaps xmm0, xmmword [esp + 0xe0]
movups xmmword [esi + 0x34], xmm0
mov eax, dword [esp + 0x570]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x68], eax
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [esp + 0x130], xmm0
movaps xmm0, xmmword [esp + 0x2f0]
movaps xmm1, xmmword [esp + 0x300]
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0x110], xmm1
movsd xmm0, qword [esp + 0x310]
movsd qword [esp + 0x120], xmm0
movaps xmm0, xmmword [esp + 0x540]
movaps xmm1, xmmword [esp + 0x550]
movaps xmmword [esi], xmm0
movaps xmmword [esi + 0x10], xmm1
movaps xmm0, xmmword [esp + 0x560]
movaps xmmword [esi + 0x20], xmm0
movsd xmm0, qword [esp + 0x370]
movsd qword [esp + 0x60], xmm0
push 0x12
pop ecx
lea edi, [esp + 0x320]
rep movsd dword es:[edi], dword [esi]
movsd xmm0, qword [esp + 0x120]
movsd qword [esp + 0xb0], xmm0
movaps xmm0, xmmword [esp + 0x100]
movaps xmm1, xmmword [esp + 0x110]
movaps xmmword [esp + 0xa0], xmm1
movaps xmmword [esp + 0x90], xmm0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov eax, edx
mov edi, ebx
mov esi, dword [esp + 8]
mov dword [esp], eax
mov edx, dword [0x57e0c4]
mov eax, dword [0x57e0c0]
mov ebx, eax
add ebx, 1
mov ecx, edx
adc ecx, 0
lock cmpxchg8b qword [0x57e0c0]
jne 0x4a4cd7
lea ebx, [esp + 0x150]
mov dword [ebx], eax
mov dword [ebx + 4], edx
lea eax, [esp + 0x54c]
mov ecx, dword [esp + 4]
mov dword [eax - 8], ecx
mov dword [eax - 0xc], esi
mov dword [eax - 4], edi
push 0x12
pop ecx
mov dword [esp + 8], esi
lea esi, [esp + 0x320]
mov dword [esp + 0x14], edi
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x48], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x50], ecx
movaps xmm0, xmmword [esp + 0x90]
movaps xmm1, xmmword [esp + 0xa0]
movups xmmword [eax + 0x54], xmm0
movups xmmword [eax + 0x64], xmm1
movsd xmm0, qword [esp + 0xb0]
movsd qword [eax + 0x74], xmm0
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x7c], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x80], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x84], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x88], ecx
movsd xmm0, qword [esp + 0x60]
movsd qword [eax + 0x8c], xmm0
mov ecx, dword [esp + 0x68]
mov dword [eax + 0x94], ecx
mov ecx, dword [esp + 0x140]
mov dword [eax + 0xa8], ecx
movaps xmm0, xmmword [esp + 0x130]
movups xmmword [eax + 0x98], xmm0
mov dword [eax + 0xac], 4
and dword [eax + 0xb0], 0
and dword [eax + 0xb4], 0
mov ecx, dword [esp]
mov dword [eax + 0xb8], ecx
and dword [eax + 0xbc], 0
mov ecx, dword [esp + 0xc]
mov dword [eax + 0xc0], ecx
lea esi, [esp + 0x610]
push 0xd8
lea eax, [esp + 0x214]
push eax
push esi
call fcn.004f7e80
add esp, 0xc
mov eax, dword [esp + 0x44]
mov dword [esi + 0xd8], eax
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov dword [esi + 0xe0], ecx
mov dword [esi + 0xdc], eax
mov byte [esi + 0xe4], 0
movzx eax, word [esp + 0x100]
mov word [esi + 0xe5], ax
mov al, byte [esp + 0x102]
mov byte [esi + 0xe7], al
mov dword [esi + 0xe8], ebx
xor ecx, ecx
call fcn.004e5f88
test eax, eax
je 0x4a5425
mov ecx, eax
call fcn.004a54e5
mov ebx, eax
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x38c]
mov ecx, dword [esp + 4]
mov dword [eax - 8], ecx
mov ecx, dword [esp + 8]
mov dword [eax - 0xc], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax - 4], ecx
push 0x12
pop ecx
lea esi, [esp + 0x320]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x48], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x50], ecx
movaps xmm0, xmmword [esp + 0x90]
movaps xmm1, xmmword [esp + 0xa0]
movups xmmword [eax + 0x54], xmm0
movups xmmword [eax + 0x64], xmm1
movsd xmm0, qword [esp + 0xb0]
movsd qword [eax + 0x74], xmm0
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x7c], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x80], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0x84], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x88], ecx
movsd xmm0, qword [esp + 0x60]
movsd qword [eax + 0x8c], xmm0
mov ecx, dword [esp + 0x68]
mov dword [eax + 0x94], ecx
mov ecx, dword [esp + 0x140]
mov dword [eax + 0xa8], ecx
movaps xmm0, xmmword [esp + 0x130]
movups xmmword [eax + 0x98], xmm0
mov dword [eax + 0xac], 4
and dword [eax + 0xb0], 0
and dword [eax + 0xb4], 0
mov ecx, dword [esp]
mov dword [eax + 0xb8], ecx
and dword [eax + 0xbc], 0
mov edi, edx
mov ecx, dword [esp + 0xc]
mov dword [eax + 0xc0], ecx
lea esi, [esp + 0x450]
push 0xd8
lea eax, [esp + 0x214]
push eax
push esi
call fcn.004f7e80
add esp, 0xc
mov eax, dword [esp + 0x44]
mov dword [esi + 0xd8], eax
mov eax, dword [esp + 0x1b4]
mov dword [esi + 0xe0], eax
mov eax, dword [esp + 0x1b0]
mov dword [esi + 0xdc], eax
mov byte [esi + 0xe4], 0
movzx eax, word [esp + 0x100]
mov word [esi + 0xe5], ax
mov al, byte [esp + 0x102]
mov byte [esi + 0xe7], al
lea eax, [esp + 0x150]
mov dword [esi + 0xe8], eax
cmp dword [esp + 0x1c], 2
jne 0x4a4fec
lea ecx, [esp + 0x380]
call fcn.004a5503
xor ebx, ebx
jmp 0x4a53d1
mov dword [esp + 0x1c], edi
mov eax, ebx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x2c], ecx
mov edi, dword [esp + 0x154]
add ebx, 4
cmp dword [eax], 0
je 0x4a51f2
mov esi, dword [ebx]
lock inc dword [esi]
jle 0x4a541d
lea eax, [esi + 8]
mov dword [esp + 0x28], eax
lea eax, [esi + 0x90]
mov dword [esp + 0x38], eax
push 0x40
pop edx
mov ecx, 0x200
call fcn.0049a4ee
mov ebx, eax
mov dword [eax], 0xcc
and dword [eax + 4], 0
mov dword [eax + 8], 0x541368
and dword [eax + 0x14], 0
and dword [eax + 0x10], 0
mov dword [eax + 0x18], esi
mov dword [eax + 0x24], edi
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x30], eax
lea edi, [ebx + 0x34]
push 0x12
pop ecx
lea esi, [esp + 0x320]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x84], eax
movaps xmm0, xmmword [esp + 0x90]
movaps xmm1, xmmword [esp + 0xa0]
movups xmmword [ebx + 0x88], xmm0
movups xmmword [ebx + 0x98], xmm1
movsd xmm0, qword [esp + 0xb0]
movsd qword [ebx + 0xa8], xmm0
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xb0], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0xb4], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0xb8], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0xbc], eax
movsd xmm0, qword [esp + 0x60]
movsd qword [ebx + 0xc0], xmm0
mov eax, dword [esp + 0x68]
mov dword [ebx + 0xc8], eax
movaps xmm0, xmmword [esp + 0x130]
movups xmmword [ebx + 0xcc], xmm0
mov eax, dword [esp + 0x140]
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], 4
and dword [ebx + 0xe4], 0
and dword [ebx + 0xe8], 0
mov eax, dword [esp]
mov dword [ebx + 0xec], eax
and dword [ebx + 0xf0], 0
mov eax, dword [esp + 0xc]
mov dword [ebx + 0xf4], eax
lea eax, [ebx + 0xf8]
push 0xd8
lea ecx, [esp + 0x214]
push ecx
push eax
call fcn.004f7e80
add esp, 0xc
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x1d0], eax
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov dword [ebx + 0x1d4], eax
mov dword [ebx + 0x1d8], ecx
mov byte [ebx + 0x1dc], 0
mov al, byte [esp + 0x102]
mov byte [ebx + 0x1df], al
movzx eax, word [esp + 0x100]
mov word [ebx + 0x1dd], ax
and dword [ebx + 0x1e0], 0
and dword [ebx + 0x1e4], 0
and dword [ebx + 0x1e8], 0
mov ecx, dword [esp + 0x38]
mov edx, ebx
push ebx
call fcn.00495933
pop ecx
mov ecx, dword [esp + 0x28]
mov edx, eax
call fcn.004e5900
jmp 0x4a53cd
mov dword [esp + 0x38], ebx
mov esi, dword [ebx]
lock inc dword [esi]
jle 0x4a541d
lea eax, [esi + 8]
mov dword [esp + 0x28], eax
push 0x40
pop edx
mov ecx, 0x200
call fcn.0049a4ee
mov ebx, eax
mov dword [eax], 0xcc
and dword [eax + 4], 0
mov dword [eax + 8], 0x5412f0
and dword [eax + 0x14], 0
and dword [eax + 0x10], 0
mov dword [eax + 0x18], esi
mov dword [eax + 0x24], edi
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 8]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x30], eax
lea edi, [ebx + 0x34]
push 0x12
pop ecx
lea esi, [esp + 0x320]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x7c], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x84], eax
movaps xmm0, xmmword [esp + 0x90]
movaps xmm1, xmmword [esp + 0xa0]
movups xmmword [ebx + 0x88], xmm0
movups xmmword [ebx + 0x98], xmm1
movsd xmm0, qword [esp + 0xb0]
movsd qword [ebx + 0xa8], xmm0
mov eax, dword [esp + 0x20]
mov dword [ebx + 0xb0], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 0xb4], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0xb8], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0xbc], eax
movsd xmm0, qword [esp + 0x60]
movsd qword [ebx + 0xc0], xmm0
mov eax, dword [esp + 0x68]
mov dword [ebx + 0xc8], eax
movaps xmm0, xmmword [esp + 0x130]
movups xmmword [ebx + 0xcc], xmm0
mov eax, dword [esp + 0x140]
mov dword [ebx + 0xdc], eax
mov dword [ebx + 0xe0], 4
and dword [ebx + 0xe4], 0
and dword [ebx + 0xe8], 0
mov eax, dword [esp]
mov dword [ebx + 0xec], eax
and dword [ebx + 0xf0], 0
mov eax, dword [esp + 0xc]
mov dword [ebx + 0xf4], eax
lea eax, [ebx + 0xf8]
push 0xd8
lea ecx, [esp + 0x214]
push ecx
push eax
call fcn.004f7e80
add esp, 0xc
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x1d0], eax
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov dword [ebx + 0x1d4], eax
mov dword [ebx + 0x1d8], ecx
mov byte [ebx + 0x1dc], 0
mov al, byte [esp + 0x102]
mov byte [ebx + 0x1df], al
movzx eax, word [esp + 0x100]
mov word [ebx + 0x1dd], ax
and dword [ebx + 0x1e0], 0
and dword [ebx + 0x1e4], 0
and dword [ebx + 0x1e8], 0
mov ecx, dword [esp + 0x28]
mov edx, ebx
push ebx
call fcn.00495933
pop ecx
test eax, eax
je 0x4a53cd
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.004e564b
mov edi, dword [esp + 0x1c]
dec dword [edi]
test ebx, ebx
je 0x4a5421
mov ecx, 0x84
mov eax, 0xcc
lock cmpxchg dword [ebx], ecx
je 0x4a53f1
mov eax, dword [ebx + 8]
push ebx
call dword [eax + 0x10]
add esp, 4
mov eax, dword [esp + 0x30]
lea esi, [eax + 0x144]
mov dword [eax + 0x148], esi
lea ecx, [eax + 0x150]
mov dword [esp + 0x28], ecx
mov byte [eax + 0x150], 0
mov dword [eax + 0x14c], esi
jmp 0x4a3f27
ud2
xor eax, eax
jmp 0x4a5433
lea ecx, [esp + 0x540]
call fcn.004a5503
mov al, 1
lea ecx, [esp + 0x380]
mov byte [ecx], al
mov edx, 0x541fe8
call fcn.00509bb3
ud2
push 7
pop ecx
int 0x29
ud2