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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb60
mov esi, edx
mov ebx, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, eax
xor edx, 7
or edx, ecx
je 0x46fc06
mov edx, eax
xor edx, 6
or edx, ecx
je 0x46fc06
mov edx, eax
xor edx, 5
or edx, ecx
je 0x46fc3b
xor eax, 4
or eax, ecx
mov dword [esp + 4], ebx
mov dword [esp + 0x2c], esi
jne 0x46e877
lea edi, [ebx + 8]
mov ecx, 0x88
lea eax, [esp + 0x240]
lea eax, [eax + ecx]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x130]
lea eax, [eax + ecx]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x6f0]
lea eax, [eax + ecx]
mov dword [esp + 0x4c], eax
lea eax, [ebx + 0x58]
mov dword [esp + 0x18], eax
lea eax, [ebx + 0xc]
mov dword [esp + 0x30], eax
lea eax, [ebx + 0x60]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x4a0]
mov edx, dword [esp + 0x18]
push dword [esi]
call fcn.00446dbc
add esp, 4
movzx ebx, byte [esp + 0x4a0]
cmp ebx, 5
jne 0x46f5d3
mov eax, dword [edi]
mov dword [edi], 2
cmp eax, 2
je 0x46cd61
mov dword [esp + 0x970], eax
mov ecx, dword [esp + 0x30]
movups xmm0, xmmword [ecx + 0x2c]
lea eax, [esp + 0x974]
movups xmmword [eax + 0x2c], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax + 0x20], xmm0
movdqu xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm1
movdqu xmmword [eax], xmm0
mov ecx, edi
lea edx, [esp + 0x970]
push esi
call fcn.0046b2bf
add esp, 4
lea ecx, [esp + 0x4a0]
jmp 0x46cce8
mov ebx, dword [esp + 4]
mov edx, dword [ebx + 0x6c]
lea ecx, [esp + 0x5c0]
push dword [esi]
push dword [ebx + 0x70]
call fcn.0045e5fd
add esp, 8
mov eax, dword [esp + 0x5c0]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x46fafa
cmp eax, 4
je 0x46fafe
push 0x98
lea eax, [esp + 0x5c4]
push eax
lea eax, [esp + 0x6f8]
push eax
call fcn.004b64b0
add esp, 0xc
lea ecx, [esp + 0x658]
mov eax, dword [ecx + 8]
mov dword [esp + 0xd8], eax
movq xmm0, qword [ecx]
movq qword [esp + 0xd0], xmm0
cmp dword [esp + 0x658], 0
mov eax, dword [esp + 0x65c]
je 0x46ce04
test eax, eax
je 0x46fc5e
mov eax, dword [esp + 0x660]
test eax, eax
je 0x46fc54
add eax, 0x88
jmp 0x46ce20
test eax, eax
je 0x46fc5e
mov eax, dword [esp + 0x660]
test eax, eax
je 0x46fc54
add eax, 0xb8
mov eax, dword [eax]
test al, 4
jne 0x46d0a7
push 0x98
lea esi, [esp + 0x6f4]
push esi
lea eax, [esp + 0x248]
push eax
call fcn.004b64b0
add esp, 0xc
mov eax, 0x88
push eax
push esi
lea eax, [esp + 0x138]
push eax
call fcn.004b64b0
add esp, 0xc
mov eax, dword [esp + 0x64]
movups xmm0, xmmword [eax]
mov esi, dword [esp + 0x28]
movups xmmword [esi], xmm0
mov eax, 0x88
push eax
lea eax, [esp + 0x6f4]
push eax
lea eax, [esp + 0x670]
push eax
call fcn.004b64b0
add esp, 0xc
movdqu xmm0, xmmword [esi]
movdqa xmmword [esp + 0x100], xmm0
lea ecx, [esp + 0x130]
mov edx, str.keep_aliveHTTP_1.1_100_Continue_r_n_r_ninternal_error:_entered_unreachable_code:_poll_read_body_invalid_state:
push 0xa
call fcn.004202e8
add esp, 4
cmp dword [esp + 0x130], 0
jne 0x46fcda
lea esi, [esp + 0x134]
movdqu xmm0, xmmword [esi]
movdqa xmmword [esp + 0x4a0], xmm0
lea ecx, [esp + 0x130]
mov edx, str.proxy_connectionXZO
push 0x10
call fcn.004202e8
add esp, 4
cmp dword [esp + 0x130], 0
jne 0x46fceb
movups xmm0, xmmword [esi]
lea eax, [esp + 0x240]
movups xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x4a0]
movaps xmmword [esp + 0x240], xmm0
movups xmm0, xmmword [0x4e3064]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x4e2fcc]
movups xmmword [eax + 0x30], xmm0
movdqu xmm0, xmmword [0x4e3074]
movdqu xmmword [eax + 0x40], xmm0
xor esi, esi
lea eax, [esp + esi]
add eax, 0x240
lea ecx, [esp + 0x130]
lea edx, [esp + 0x668]
push eax
call fcn.0042679b
add esp, 4
cmp byte [esp + 0x140], 2
je 0x46cf82
mov eax, dword [esp + 0x130]
push dword [esp + 0x138]
push dword [esp + 0x138]
lea ecx, [esp + 0x144]
push ecx
call dword [eax + 8]
add esp, 0xc
add esi, 0x10
cmp esi, 0x50
jne 0x46cf36
movups xmm0, xmmword [0x4e3084]
movaps xmmword [esp + 0x130], xmm0
lea ecx, [esp + 0x668]
lea esi, [esp + 0x130]
mov edx, esi
call fcn.00417d7d
test eax, eax
je 0x46d027
cmp dword [eax + 8], 8
jne 0x46cfd2
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov edx, 0x69617274
xor ecx, edx
mov eax, dword [eax + 4]
mov edx, 0x7372656c
xor eax, edx
or eax, ecx
je 0x46d027
movups xmm0, xmmword [0x4e3084]
movaps xmmword [esp + 0x4a0], xmm0
mov ecx, esi
lea edx, [esp + 0x668]
lea eax, [esp + 0x4a0]
push eax
call fcn.004265de
add esp, 4
cmp byte [esp + 0x140], 2
je 0x46d027
mov eax, dword [esp + 0x130]
push dword [esp + 0x138]
push dword [esp + 0x138]
lea ecx, [esp + 0x144]
push ecx
call dword [eax + 8]
add esp, 0xc
movdqu xmm0, xmmword [0x4f742c]
movdqa xmmword [esp + 0x130], xmm0
lea ecx, [esp + 0x790]
lea edx, [esp + 0x668]
push esi
call fcn.004265de
add esp, 4
cmp byte [esp + 0x7a0], 2
je 0x46d1ac
movdqu xmm0, xmmword [esp + 0x790]
movdqa xmmword [esp + 0x410], xmm0
mov eax, dword [esp + 0x7a0]
mov dword [esp + 0x420], eax
mov ecx, dword [esp + 0x414]
mov eax, dword [esp + 0x418]
xor edx, edx
cmp eax, edx
je 0x46d0c8
mov bl, byte [ecx + edx]
inc edx
cmp bl, 9
je 0x46d08d
add bl, 0xe0
cmp bl, 0x5f
jb 0x46d08d
jmp 0x46fc1a
lea ecx, [esp + 0xd0]
call fcn.00469da4
lea ecx, [esp + 0x6f0]
call fcn.0040fe18
mov ecx, dword [esp + 0x4c]
jmp 0x46dced
mov edx, 0x2c
mov dword [esp + 0x130], edx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], eax
xor ecx, ecx
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], 1
mov dword [esp + 0x148], edx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], eax
mov word [esp + 0x154], 1
mov ecx, esi
call fcn.0042405d
test eax, eax
mov ebx, dword [esp + 4]
je 0x46d189
mov ecx, eax
call fcn.00425176
mov esi, edx
lea ecx, [esp + 0x4a0]
lea edx, [esp + 0x668]
push esi
push eax
call fcn.00426539
add esp, 8
cmp byte [esp + 0x4b0], 2
je 0x46d179
mov eax, dword [esp + 0x4a0]
push dword [esp + 0x4a8]
push dword [esp + 0x4a8]
lea ecx, [esp + 0x4b4]
push ecx
call dword [eax + 8]
add esp, 0xc
lea ecx, [esp + 0x130]
call fcn.0042405d
test eax, eax
jne 0x46d12b
mov eax, dword [esp + 0x410]
push dword [esp + 0x418]
push dword [esp + 0x418]
lea ecx, [esp + 0x424]
push ecx
call dword [eax + 8]
add esp, 0xc
mov dword [esp + 0x14], edi
mov esi, 5
lea edi, [esp + 0x24c]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x46d1d0
push dword [edi - 4]
push dword [edi - 8]
push edi
call dword [eax + 8]
add esp, 0xc
add edi, 0x10
dec esi
jne 0x46d1bc
cmp dword [esp + 0x100], 0
je 0x46d26c
mov edx, dword [esp + 0x108]
xor edi, edi
mov eax, edx
or eax, edi
jne 0x46d211
mov al, byte [esp + 0x6d4]
dec al
cmp al, 7
jae 0x46d211
movzx eax, al
mov ecx, 0x59
bt ecx, eax
jb 0x46dd9f
mov dword [esp + 8], edx
movdqu xmm0, xmmword [0x4f82fc]
movdqa xmmword [esp + 0x4a0], xmm0
lea ecx, [esp + 0x240]
lea edx, [esp + 0x668]
lea esi, [esp + 0x4a0]
push esi
call fcn.00425e98
add esp, 4
cmp byte [esp + 0x25a], 2
jne 0x46d2c2
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x248]
mov edx, dword [eax + 0x28]
cmp edx, ecx
ja 0x46d2e7
jmp 0x46fbfc
mov eax, dword [esp + 0x108]
push dword [esp + 0x104]
lea ecx, [esp + 0x134]
push ecx
call dword [eax + 0x18]
add esp, 8
mov eax, dword [esp + 0x130]
or eax, dword [esp + 0x134]
je 0x46d2e7
mov edx, dword [esp + 0x140]
mov edi, dword [esp + 0x144]
mov eax, dword [esp + 0x13c]
xor eax, edi
mov ecx, dword [esp + 0x138]
xor ecx, edx
or ecx, eax
je 0x46d1ed
jmp 0x46d2e7
mov ecx, esi
mov edx, dword [esp + 8]
push edi
call fcn.00420c7c
add esp, 4
lea ecx, [esp + 0x240]
mov edx, esi
call fcn.0042539a
test eax, eax
je 0x46fe31
mov al, byte [esp + 0x6d4]
mov byte [esp + 0xf], al
cmp dword [esp + 0x100], 0
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
je 0x46d313
cmp dword [esp + 0x108], 0
sete byte [esp + 0x1e]
jmp 0x46d32b
mov eax, dword [esp + 0x108]
push dword [esp + 0x104]
call dword [eax + 0x14]
add esp, 4
mov byte [esp + 0x1e], al
cmp byte [esp + 0xf], 7
jne 0x46d3e4
lea ecx, [esp + 0x588]
lea edx, [esp + 0x668]
call fcn.0042419c
cmp dword [esp + 0x588], 0
je 0x46d3e4
mov eax, dword [esp + 0x594]
or eax, dword [esp + 0x590]
je 0x46d3e4
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x138], eax
movq xmm0, qword [esp + 0xd0]
movq qword [esp + 0x130], xmm0
mov byte [esp + 0x240], 2
mov dword [esp + 0x244], 2
lea ebx, [esp + 0x240]
mov ecx, ebx
call fcn.00426e10
mov dword [esp + 0x240], eax
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 3
lea ecx, [esp + 0x130]
mov edx, ebx
call fcn.0045ed98
lea ecx, [esp + 0x668]
call fcn.0040fe18
jmp 0x46dce6
mov ecx, dword [esp + 0x6e8]
test ecx, ecx
je 0x46d521
mov edx, 0x146811a7
push 0xad8e6b94
push 0x51fc566d
push 0xffabeeb2
call fcn.004617eb
add esp, 0xc
test eax, eax
je 0x46d521
mov esi, eax
mov edi, edx
push eax
lea eax, [esp + 0x824]
push eax
call dword [edx + 0xc]
add esp, 8
movdqa xmm0, xmmword [esp + 0x820]
pxor xmm0, xmmword [0x4d0940]
ptest xmm0, xmm0
jne 0x46d4fd
mov edi, dword [esi]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x248], eax
movsd xmm0, qword [esi + 4]
movsd qword [esp + 0x240], xmm0
push esi
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
movq xmm0, qword [esp + 0x240]
movq qword [esp + 0x4a0], xmm0
mov eax, dword [esp + 0x248]
mov dword [esp + 0x4a8], eax
test edi, edi
je 0x46d521
mov dword [esp + 0x240], edi
mov eax, dword [esp + 0x4a8]
lea esi, [esp + 0x240]
mov dword [esi + 0xc], eax
movq xmm0, qword [esp + 0x4a0]
movq qword [esi + 4], xmm0
lea ecx, [esp + 0x130]
lea edx, [esp + 0x6e8]
push esi
call fcn.00412e82
add esp, 4
mov eax, dword [esp + 0x130]
test eax, eax
je 0x46d521
push dword [esp + 0x138]
push dword [esp + 0x138]
lea ecx, [esp + 0x144]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x46d521
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x46d521
cmp dword [edi + 8], 9
jb 0x46d512
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp byte [esp + 0xf], 7
setne byte [esp + 0x9c]
push 0x88
lea eax, [esp + 0x66c]
push eax
lea eax, [esp + 0x418]
push eax
call fcn.004b64b0
add esp, 0xc
mov eax, dword [esp + 0x74]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x10], ecx
cmove eax, ecx
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x490]
test ecx, ecx
je 0x46d60a
mov edx, 0xbb10b48d
push 0x57c9be12
push 0x9fa77d03
push 0xcbd8a414
call fcn.004617eb
add esp, 0xc
test eax, eax
je 0x46d60a
mov esi, eax
mov edi, edx
push eax
lea eax, [esp + 0x814]
push eax
call dword [edx + 0xc]
add esp, 8
movdqa xmm0, xmmword [esp + 0x810]
pxor xmm0, xmmword [0x4d0410]
ptest xmm0, xmm0
jne 0x46d5e6
movups xmm0, xmmword [esi]
movaps xmmword [esp + 0x240], xmm0
push esi
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
movdqa xmm0, xmmword [esp + 0x240]
movdqa xmmword [esp + 0x380], xmm0
jmp 0x46d615
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x46d60a
cmp dword [edi + 8], 9
jb 0x46d5fb
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x380], 0
mov esi, dword [esp + 0x490]
test esi, esi
mov edi, dword [esp + 0x14]
je 0x46d66d
mov edx, dword [esi + 0xc]
test edx, edx
je 0x46d66d
mov ecx, dword [esi]
call fcn.0041d545
mov edi, dword [esi + 4]
test edi, edi
je 0x46d64c
lea eax, [edi + 0x11]
push eax
push 0xff
push dword [esi]
call fcn.004b6a30
add esp, 0xc
mov dword [esi + 0xc], 0
lea eax, [edi + 1]
mov ecx, eax
shr ecx, 3
and eax, 0xfffffff8
sub eax, ecx
cmp edi, 8
cmovb eax, edi
mov dword [esi + 8], eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x3ac], eax
lea edx, [eax + 8]
lea ecx, [esp + 0x240]
call fcn.00412ae4
cmp dword [esp + 0x240], 0
jne 0x46fd2b
mov eax, dword [esp + 0x244]
mov dword [esp + 0x24], eax
mov al, byte [esp + 0x248]
mov byte [esp + 0x1f], al
mov eax, dword [ebx + 0x5c]
mov dword [esp + 8], eax
add eax, 8
mov dword [esp + 0x7c], eax
push eax
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x530b28]
test eax, 0x7fffffff
mov esi, dword [esp + 0x2c]
jne 0x46ddaa
mov dword [esp + 0x70], 0
lea ebx, [esp + 0x240]
mov eax, dword [esp + 8]
mov al, byte [eax + 0xc]
test al, al
jne 0x46fd67
mov eax, dword [esp + 0x24]
lea edx, [eax + 0x38]
mov ecx, ebx
call fcn.00416e50
mov al, byte [esp + 0x240]
cmp al, 3
jne 0x46d72a
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0xe8], 0
je 0x46dcfe
mov byte [esp + 0x10], 3
mov byte [esp + 2], 5
jmp 0x46d798
mov byte [esp + 0x10], al
mov al, byte [esp + 0x241]
mov byte [esp + 2], al
mov al, byte [esp + 0x24c]
mov byte [esp + 0xe], al
movzx eax, word [ebx + 0xa]
mov word [esp + 0xc8], ax
movq xmm0, qword [ebx + 2]
movq qword [esp + 0xc0], xmm0
movzx eax, word [ebx + 0xd]
mov word [esp + 0x20], ax
mov al, byte [ebx + 0xf]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x250]
mov dword [esp + 0x50], eax
mov al, byte [esp + 0x254]
mov byte [esp + 0xd], al
movzx eax, word [ebx + 0x15]
mov word [esp + 0x58], ax
mov al, byte [ebx + 0x17]
mov byte [esp + 0x5a], al
mov ebx, dword [esp + 0x24]
movzx edx, byte [esp + 0x70]
mov ecx, dword [esp + 0x7c]
call fcn.00426b01
movzx edx, byte [esp + 0x1f]
mov ecx, ebx
call fcn.00426b01
mov eax, dword [esp + 0x380]
test eax, eax
je 0x46d7d9
push dword [esp + 0x388]
push dword [esp + 0x388]
lea ecx, [esp + 0x394]
push ecx
call dword [eax + 8]
add esp, 0xc
lea ecx, [esp + 0x410]
call fcn.0040fe18
mov ebx, dword [esp + 0x50]
mov ch, byte [esp + 0x10]
mov cl, byte [esp + 3]
mov byte [esp + 3], cl
mov byte [esp + 0x240], ch
mov cl, byte [esp + 2]
mov byte [esp + 0x241], cl
movzx eax, word [esp + 0xc8]
lea edx, [esp + 0x240]
mov word [edx + 0xa], ax
movsd xmm0, qword [esp + 0xc0]
movsd qword [edx + 2], xmm0
mov al, byte [esp + 0xe]
mov byte [esp + 0x24c], al
mov al, byte [esp + 0x22]
mov byte [edx + 0xf], al
movzx eax, word [esp + 0x20]
mov word [edx + 0xd], ax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x250], ebx
mov al, byte [esp + 0xd]
mov byte [esp + 0x254], al
mov al, byte [esp + 0x5a]
mov byte [edx + 0x17], al
movzx eax, word [esp + 0x58]
mov word [edx + 0x15], ax
cmp ch, 3
jne 0x46d8bc
mov byte [esp + 0x130], 3
mov byte [esp + 0x131], cl
lea ebx, [esp + 0x130]
movq xmm0, qword [ebx + 1]
movq qword [esp + 0xb0], xmm0
mov eax, dword [ebx + 8]
mov dword [esp + 0xb7], eax
mov al, byte [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov dword [esp + 8], ecx
mov ch, byte [esp + 0x144]
mov cl, 3
jmp 0x46dbf1
lea ebx, [esp + 0x130]
mov ecx, ebx
call fcn.00419473
mov cl, byte [esp + 0x130]
mov al, byte [esp + 0x13c]
mov byte [esp + 0x24], al
mov edx, dword [ebx + 8]
mov dword [esp + 0xb7], edx
movq xmm0, qword [ebx + 1]
movq qword [esp + 0xb0], xmm0
movzx edx, word [ebx + 0xd]
mov word [esp + 0x40], dx
mov dl, byte [ebx + 0xf]
mov byte [esp + 0x42], dl
mov eax, dword [esp + 0x140]
mov dword [esp + 8], eax
mov ch, byte [esp + 0x144]
movzx edx, word [ebx + 0x15]
mov word [esp + 0x78], dx
mov dl, byte [ebx + 0x17]
mov byte [esp + 0x7a], dl
cmp cl, 5
jne 0x46dbed
mov bh, ch
mov al, byte [esp + 0x24]
mov ecx, dword [esp + 0xb3]
mov edx, dword [esp + 0xb7]
mov dword [esp + 0x244], edx
mov dword [esp + 0x240], ecx
mov byte [esp + 0x248], al
mov al, byte [esp + 0x42]
lea ecx, [esp + 0x240]
mov byte [ecx + 0xb], al
movzx eax, word [esp + 0x40]
mov word [ecx + 9], ax
mov eax, dword [esp + 8]
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x240]
mov dword [esp + 8], eax
lea edx, [eax + 8]
lea ecx, [esp + 0x130]
call fcn.00412ae4
cmp dword [esp + 0x130], 0
jne 0x46fe4a
mov esi, dword [esp + 0x134]
mov edi, dword [esp + 0x138]
mov eax, dword [esp + 0x244]
mov ecx, dword [esi + 0x18c]
mov edx, dword [esi + 0x190]
push dword [esp + 0x248]
mov dword [esp + 0x28], eax
push eax
call fcn.004109ce
add esp, 8
mov bl, byte [eax + 0xe4]
mov ecx, esi
mov edx, edi
call fcn.00426b01
test bh, bh
lea esi, [esp + 0x130]
je 0x46da25
test bl, bl
je 0x46da25
mov ecx, esi
lea edx, [esp + 0x240]
call fcn.00416a00
mov edi, dword [esp + 0x74]
mov ecx, edi
call fcn.00446f8b
mov eax, dword [esp + 0x138]
mov dword [edi + 8], eax
movq xmm0, qword [esp + 0x130]
movq qword [edi], xmm0
lea ecx, [esp + 0x4a0]
lea ebx, [esp + 0x240]
mov edx, ebx
call fcn.00416a00
movzx eax, word [ebx + 5]
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0x24c]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x248]
mov dword [esp + 0x154], eax
lea eax, [esp + 0x4a1]
movsd xmm0, qword [eax]
movsd qword [esp + 0xe0], xmm0
mov eax, dword [eax + 7]
mov dword [esp + 0xe7], eax
mov al, byte [esp + 0x4a0]
mov byte [esp + 0x13c], al
mov eax, dword [esp + 0xe7]
mov dword [esi + 0x14], eax
movsd xmm0, qword [esp + 0xe0]
movsd qword [esi + 0xd], xmm0
mov byte [esp + 0x148], 0
movzx eax, word [esp + 0x54]
mov word [esi + 0x19], ax
mov al, byte [esp + 0x56]
mov byte [esi + 0x1b], al
mov eax, dword [esp + 8]
mov dword [esp + 0x14c], eax
mov al, byte [ebx + 7]
mov byte [esp + 0x3e], al
mov eax, dword [esp + 0x24]
mov byte [esp + 0x150], al
mov al, byte [esp + 0x3e]
mov byte [esi + 0x23], al
movzx eax, word [esp + 0x3c]
mov word [esi + 0x21], ax
movaps xmm0, xmmword [esp + 0x100]
lea eax, [esp + 0x15c]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x138], eax
cmp byte [esp + 0xf], 7
movsd xmm0, qword [esp + 0xd0]
movsd qword [esp + 0x130], xmm0
sete byte [esp + 0x16c]
mov al, byte [esp + 0x1e]
mov byte [esp + 0x16d], al
lea ecx, [esp + 0x858]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x2c]
push dword [esi]
call fcn.00446dbc
add esp, 4
movzx eax, byte [esp + 0x858]
cmp eax, 5
mov edi, dword [esp + 0x14]
je 0x46dd3f
cmp eax, 6
je 0x46fb81
mov eax, dword [esp + 0x138]
mov dword [esp + 0x4a8], eax
movq xmm0, qword [esp + 0x130]
movq qword [esp + 0x4a0], xmm0
lea ecx, [esp + 0x858]
call fcn.00426e10
mov dword [esp + 0x240], eax
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 3
mov edx, ebx
lea ebx, [esp + 0x4a0]
mov ecx, ebx
call fcn.0045ed98
lea ecx, [esp + 0x13c]
call fcn.0045c4e8
lea ecx, [esp + 0x14c]
call fcn.0045f482
lea ecx, [esp + 0x15c]
call fcn.0045e776
mov ecx, ebx
jmp 0x46cce8
mov al, byte [esp + 0x24]
mov edx, dword [esp + 0xb7]
mov dword [esp + 0xe7], edx
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp + 0xe0], xmm0
movzx edx, word [esp + 0x40]
mov word [esp + 0x54], dx
mov dl, byte [esp + 0x42]
mov byte [esp + 0x56], dl
movzx edx, word [esp + 0x78]
mov word [esp + 0x3c], dx
mov dl, byte [esp + 0x7a]
mov byte [esp + 0x3e], dl
mov edx, dword [esp + 0xe7]
lea ebx, [esp + 0x240]
mov dword [ebx + 8], edx
movsd xmm0, qword [esp + 0xe0]
movsd qword [ebx + 1], xmm0
mov dl, byte [esp + 0x56]
mov byte [ebx + 0xf], dl
movzx edx, word [esp + 0x54]
mov word [ebx + 0xd], dx
mov dl, byte [esp + 0x3e]
mov byte [ebx + 0x17], dl
movzx edx, word [esp + 0x3c]
mov word [ebx + 0x15], dx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x138], edx
movq xmm0, qword [esp + 0xd0]
movq qword [esp + 0x130], xmm0
mov byte [esp + 0x240], cl
mov byte [esp + 0x24c], al
mov eax, dword [esp + 8]
mov dword [esp + 0x250], eax
mov byte [esp + 0x254], ch
mov ecx, ebx
call fcn.00426e10
mov dword [esp + 0x240], eax
mov dword [esp + 0x24c], 0
mov dword [esp + 0x248], 3
lea ecx, [esp + 0x130]
mov edx, ebx
call fcn.0045ed98
lea ecx, [esp + 0x100]
call fcn.0045e776
lea ecx, [esp + 0x4a0]
jmp 0x46cce8
cmp dword [esp + 0x10], 0
je 0x46dd8a
mov ecx, dword [ebx + 0x18c]
mov edx, dword [ebx + 0x190]
mov eax, dword [esp + 0x38]
push dword [eax + 8]
push dword [eax + 4]
call fcn.004109ce
add esp, 8
cmp byte [eax + 0xe4], 0
je 0x46dd8a
mov byte [esp + 2], 3
mov byte [esp + 0x10], 3
jmp 0x46d798
movups xmm0, xmmword [esp + 0x160]
movaps xmmword [esp + 0x270], xmm0
movups xmm0, xmmword [esp + 0x150]
movaps xmmword [esp + 0x260], xmm0
movdqu xmm0, xmmword [esp + 0x130]
movups xmm1, xmmword [esp + 0x140]
movaps xmmword [esp + 0x250], xmm1
movdqa xmmword [esp + 0x240], xmm0
mov ecx, edi
mov edx, ebx
jmp 0x46cd4f
cmp byte [ebx + 0x34], 0
je 0x46ddba
mov byte [esp + 0x10], 3
mov byte [esp + 2], 1
jmp 0x46d798
mov al, byte [eax + 0x4f84a8]
jmp 0x46d2ee
call fcn.004ce8a0
xor al, 1
mov dword [esp + 0x70], eax
jmp 0x46d6de
lea eax, [ebx + 0xe8]
cmp dword [eax], 0
jne 0x46d71e
mov dword [esp + 0x3a4], eax
mov edx, dword [ebx + 0xec]
lea eax, [edx + 2]
mov ecx, eax
shr ecx, 0x1f
mov dword [ebx + 0xe8], ecx
mov dword [ebx + 0xec], eax
lea ecx, [esp + 0x130]
mov dword [esp + 0x3a0], edx
push dword [ebx + 0xb0]
push dword [ebx + 0x14c]
call fcn.00416923
add esp, 8
cmp byte [esp + 0x47c], 5
jne 0x46de2c
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 1
push 0x88
lea eax, [esp + 0x414]
push eax
lea esi, [esp + 0x248]
push esi
call fcn.004b64b0
add esp, 0xc
movaps xmm0, xmmword [esp + 0x380]
movaps xmmword [esp + 0x840], xmm0
mov al, byte [esp + 0x2ac]
mov byte [esp + 0x10], al
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x5af], eax
movups xmm0, xmmword [esi + 0x6d]
movaps xmmword [esp + 0x5a0], xmm0
movups xmm0, xmmword [esi + 0x40]
movups xmm1, xmmword [esi + 0x50]
movaps xmmword [esp + 0x870], xmm0
movaps xmmword [esp + 0x880], xmm1
movups xmm0, xmmword [esi + 0x5c]
movups xmmword [esp + 0x88c], xmm0
mov al, byte [esp + 0x2c4]
mov byte [esp + 0x98], al
mov ecx, dword [esp + 0x2c0]
call fcn.0045c21c
lea ecx, [esp + 0x55c]
lea edx, [esp + 0x870]
call fcn.0042251e
mov eax, dword [esp + 0x574]
test eax, eax
je 0x46dfce
mov dword [esp + 0x3b0], eax
mov dword [esp + 0x38], eax
lea eax, [esp + 0x578]
movups xmm0, xmmword [eax]
lea eax, [esp + 0x3b4]
movups xmmword [eax], xmm0
mov edi, dword [esp + 0x3b4]
mov dword [esp + 0x6c], edi
mov ebx, dword [esp + 0x3b8]
cmp ebx, 1
mov esi, ebx
adc esi, 0
test ebx, ebx
mov eax, 0x52187c
cmove edi, eax
mov ecx, esi
xor edx, edx
call fcn.004a5ddb
mov dword [esp + 0x68], eax
push esi
push edi
mov edi, edx
push edx
call fcn.004b64b0
add esp, 0xc
mov eax, dword [esp + 0x68]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], esi
lea ecx, [esp + 0x120]
lea edx, [esp + 0x80]
call fcn.00402b13
push ebx
mov ebx, dword [esp + 0x28]
push dword [esp + 0x70]
lea eax, [esp + 0x3c4]
push eax
mov eax, dword [esp + 0x44]
call dword [eax + 8]
add esp, 0xc
mov eax, dword [esp + 0x120]
lea ecx, [esp + 0x124]
movsd xmm0, qword [ecx]
movsd qword [esp + 0x3b0], xmm0
mov ecx, dword [ecx + 8]
mov dword [esp + 0x3b8], ecx
test eax, eax
je 0x46dfce
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x3b8]
lea edx, [esp + 0xa4]
mov dword [edx + 8], ecx
movsd xmm0, qword [esp + 0x3b0]
movsd qword [edx], xmm0
jmp 0x46dff9
mov dword [esp + 0xa0], 0x4d7fe8
mov eax, 0x4d7fe8
mov dword [esp + 0xa4], str._rustc_a4472498d7e88041f6206faf4503eb1f246fd427librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
xor ecx, ecx
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ecx
movzx ecx, byte [esp + 0x10]
test ecx, ecx
je 0x46e056
cmp ecx, 7
je 0x46e056
cmp dword [esp + 0xa8], 0
jne 0x46e056
xor esi, esi
push esi
push dword [esp + 0xa8]
lea ecx, [esp + 0xb4]
push ecx
call dword [eax + 8]
add esp, 0xc
mov dword [esp + 0xa0], 0x4d7fe8
mov eax, 0x4d7fe8
mov dword [esp + 0xa4], 0x52187c
mov dword [esp + 0xa8], 1
mov dword [esp + 0xac], esi
lea edx, [esp + 0xa4]
mov ecx, dword [edx + 8]
mov dword [esp + 0x88], ecx
movsd xmm0, qword [edx]
movsd qword [esp + 0x80], xmm0
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x88]
lea edx, [esp + 0x124]
mov dword [edx + 8], ecx
movsd xmm0, qword [esp + 0x80]
movsd qword [edx], xmm0
cmp dword [esp + 0x128], 0
je 0x46e0c5
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x118], ecx
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 0x110], xmm0
jmp 0x46e0de
push 0
push dword [esp + 0x128]
lea ecx, [esp + 0x134]
push ecx
call dword [eax + 8]
add esp, 0xc
xor eax, eax
mov cl, byte [esp + 0x10]
mov byte [esp + 0x3b0], cl
mov ecx, dword [esp + 0x5af]
lea edx, [esp + 0x3b4]
mov dword [edx + 0xc], ecx
movaps xmm0, xmmword [esp + 0x5a0]
movups xmmword [edx - 3], xmm0
xor ecx, ecx
mov dword [esp + 0x3c4], ecx
mov dword [esp + 0x3d4], ecx
mov dword [esp + 0x3e4], eax
mov eax, dword [esp + 0x118]
mov dword [edx + 0x3c], eax
movsd xmm0, qword [esp + 0x110]
movsd qword [edx + 0x34], xmm0
movaps xmm0, xmmword [esp + 0x840]
movups xmmword [edx + 0x40], xmm0
mov word [esp + 0x404], 0
mov al, byte [esp + 0x55c]
mov dl, 1
mov byte [esp + 0x10], al
cmp al, 3
je 0x46e195
mov ebx, dword [esp + 0x55c]
mov eax, dword [esp + 0x560]
mov dword [esp + 0x49c], eax
mov dword [esp + 0x498], ebx
lea ecx, [esp + 0x3b0]
lea edx, [esp + 0x498]
call fcn.0041c7d8
cmp bl, 3
mov ebx, dword [esp + 0x24]
sete dl
cmp dword [esp + 0x564], 0
je 0x46e26d
mov byte [esp + 0x6c], dl
lea eax, [esp + 0x578]
movups xmm0, xmmword [eax - 0x14]
movaps xmmword [esp + 0x80], xmm0
mov eax, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x88]
mov ecx, esi
xor edx, edx
call fcn.004a5ddb
mov dword [esp + 0x68], eax
mov edi, edx
push esi
push dword [esp + 0x3c]
push edx
call fcn.004b64b0
add esp, 0xc
mov eax, dword [esp + 0x68]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], esi
lea ecx, [esp + 0x120]
lea edx, [esp + 0x110]
call fcn.00402b13
mov eax, dword [esp + 0x3d4]
test eax, eax
je 0x46e23c
push dword [esp + 0x3dc]
push dword [esp + 0x3dc]
lea ecx, [esp + 0x3e8]
push ecx
call dword [eax + 8]
add esp, 0xc
movups xmm0, xmmword [esp + 0x120]
lea eax, [esp + 0x3b4]
movups xmmword [eax + 0x20], xmm0
mov eax, dword [esp + 0x80]
push esi
push dword [esp + 0x3c]
lea ecx, [esp + 0x94]
push ecx
call dword [eax + 8]
add esp, 0xc
mov dl, byte [esp + 0x6c]
cmp byte [esp + 0x10], 3
setne al
mov ecx, 0x16
lea edi, [esp + 0x8a0]
lea esi, [esp + 0x3b0]
rep movsd dword es:[edi], dword [esi]
or al, dl
jne 0x46e2a1
mov ecx, dword [esp + 0x55c]
mov edx, dword [esp + 0x560]
call fcn.004224d1
mov eax, dword [esp + 0x8b4]
or eax, dword [esp + 0x8c4]
jne 0x46e313
cmp byte [esp + 0x98], 3
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
jne 0x46e2ea
lea ecx, [esp + 0x8a0]
call fcn.004117d9
lea ecx, [esp + 0x240]
call fcn.00424699
mov byte [esp + 0x38], 7
mov byte [esp + 0x10], 3
jmp 0x46e47f
mov dword [esp + 0x3b4], 0
mov dword [esp + 0x3b0], 1
lea ecx, [esp + 0x8a0]
lea edx, [esp + 0x3b0]
call fcn.0041c7d8
mov ecx, 0x16
lea edi, [esp + 0x7b0]
lea esi, [esp + 0x8a0]
rep movsd dword es:[edi], dword [esi]
movups xmm0, xmmword [esp + 0x270]
movaps xmmword [esp + 0x3e0], xmm0
movups xmm0, xmmword [esp + 0x260]
movaps xmmword [esp + 0x3d0], xmm0
movups xmm0, xmmword [esp + 0x240]
movups xmm1, xmmword [esp + 0x250]
movaps xmmword [esp + 0x3c0], xmm1
movaps xmmword [esp + 0x3b0], xmm0
xor eax, eax
cmp dword [esp + 0x3d8], 0
sete al
add eax, eax
lea ecx, [esp + 0x3b0]
mov dword [esp + 0x564], ecx
mov dword [esp + 0x568], 0
mov dword [esp + 0x55c], eax
lea ecx, [esp + 0x55c]
call fcn.00412887
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x3b0]
mov edi, dword [esp + 0x3b4]
mov al, byte [esp + 0x3b8]
mov byte [esp + 0x10], al
mov al, byte [esp + 0x3b9]
mov byte [esp + 0x38], al
lea esi, [esp + 0x3b4]
movzx ecx, word [esi + 0xe]
mov word [esp + 0x238], cx
movsd xmm0, qword [esi + 6]
movsd qword [esp + 0x230], xmm0
movzx ecx, word [esi + 0x11]
mov word [esp + 0x60], cx
movzx ecx, word [esi + 0x19]
mov word [esp + 0x5c], cx
mov dword [esp + 0x98], edx
mov ecx, edx
xor ecx, 3
mov dword [esp + 0x6c], edi
or ecx, edi
mov al, byte [esp + 0x3c4]
mov byte [esp + 3], al
mov cl, byte [esi + 0x13]
mov byte [esp + 0x62], cl
mov cl, byte [esi + 0x1b]
mov byte [esp + 0x5e], cl
mov al, byte [esp + 0x3cc]
mov byte [esp + 0x37], al
movups xmm0, xmmword [esi + 0x1c]
movups xmm1, xmmword [esi + 0x2c]
movaps xmmword [esp + 0x790], xmm0
movaps xmmword [esp + 0x7a0], xmm1
mov edx, dword [esp + 0x3c8]
mov ecx, 0x1e
lea eax, [esp + 0x8f8]
mov edi, eax
lea esi, [esp + 0x790]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x3a8], edx
jne 0x46e536
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
movzx eax, word [esp + 0x238]
mov word [esp + 0xf8], ax
movq xmm0, qword [esp + 0x230]
movq qword [esp + 0xf0], xmm0
movzx eax, word [esp + 0x60]
mov word [esp + 0x48], ax
mov al, byte [esp + 0x62]
mov byte [esp + 0x4a], al
movzx eax, word [esp + 0x5c]
mov word [esp + 0x44], ax
mov al, byte [esp + 0x5e]
mov byte [esp + 0x46], al
movq qword [esp + 0xc0], xmm0
movzx eax, word [esp + 0xf8]
mov word [esp + 0xc8], ax
mov al, byte [esp + 0x4a]
mov byte [esp + 0x22], al
movzx eax, word [esp + 0x48]
mov word [esp + 0x20], ax
mov al, byte [esp + 0x46]
mov byte [esp + 0x5a], al
movzx eax, word [esp + 0x44]
mov word [esp + 0x58], ax
lea ecx, [esp + 0x130]
call fcn.0040ff00
mov al, byte [esp + 3]
mov byte [esp + 0xe], al
mov al, byte [esp + 0x38]
mov byte [esp + 2], al
mov eax, dword [esp + 0x3a8]
mov dword [esp + 0x50], eax
mov al, byte [esp + 0x37]
mov byte [esp + 0xd], al
jmp 0x46e7ff
movzx ecx, word [esp + 0x238]
mov word [esp + 0xf8], cx
movzx ecx, word [esp + 0x60]
mov word [esp + 0x48], cx
movzx ecx, word [esp + 0x5c]
mov word [esp + 0x44], cx
mov cl, byte [esp + 0x62]
mov byte [esp + 0x4a], cl
mov cl, byte [esp + 0x5e]
mov byte [esp + 0x46], cl
movsd xmm0, qword [esp + 0x230]
movsd qword [esp + 0xf0], xmm0
mov ecx, 0x1e
lea edi, [esp + 0x4c0]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x68]
mov dword [esp + 0x538], eax
mov byte [esp + 0x53c], 0
mov ecx, dword [esp + 0x59c]
mov dword [esp + 0x541], ecx
mov ecx, dword [esp + 0x598]
mov dword [esp + 0x53d], ecx
mov byte [esp + 0x545], 2
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x548], ecx
mov cl, byte [esp + 0x9c]
and cl, byte [esp + 0x1e]
or cl, 4
mov byte [esp + 0x54c], cl
movzx ecx, word [esp + 0x11d]
lea esi, [esp + 0x4a1]
mov word [esi + 0xac], cx
mov cl, byte [esp + 0x11f]
mov byte [esi + 0xae], cl
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x4a4], eax
mov eax, dword [esp + 8]
add eax, 0x10
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x4a0], eax
mov al, byte [esp + 0x10]
mov byte [esp + 0x4a8], al
mov al, byte [esp + 0x38]
mov byte [esp + 0x4a9], al
movzx eax, word [esp + 0xf8]
mov word [esi + 0x11], ax
movq xmm0, qword [esp + 0xf0]
movq qword [esi + 9], xmm0
mov al, byte [esp + 3]
mov byte [esp + 0x4b4], al
mov al, byte [esp + 0x4a]
mov byte [esi + 0x16], al
movzx eax, word [esp + 0x48]
mov word [esi + 0x14], ax
mov dword [esp + 0x4b8], edx
mov al, byte [esp + 0x37]
mov byte [esp + 0x4bc], al
mov al, byte [esp + 0x46]
mov byte [esi + 0x1e], al
movzx eax, word [esp + 0x44]
mov word [esi + 0x1c], ax
lea esi, [ebx + 0x158]
lea edi, [esp + 0x240]
mov ebx, dword [esp + 0x1fc]
push 0xf0
lea eax, [esp + 0x134]
push eax
push edi
call fcn.004b64b0
add esp, 0xc
lea ecx, [esp + 0x550]
mov edx, esi
mov esi, ecx
push edi
push ebx
mov ebx, dword [esp + 0x2c]
call fcn.00411fb0
add esp, 8
lea eax, [ebx + 0xe0]
mov ecx, dword [esp + 0x3a4]
lea edx, [esp + 0x4a0]
push eax
push dword [ebx + 0x34]
push esi
push dword [esp + 0xa8]
call fcn.00446004
add esp, 0x10
cmp al, 0xc
jne 0x46e7b3
inc dword [ebx + 0x1a0]
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x50], eax
mov edi, dword [ebx + 0x14]
mov edx, dword [esp + 0x3ac]
lock inc dword [edx]
jle 0x46fe86
lea ebx, [esp + 0x240]
mov ecx, ebx
lea eax, [esp + 0x550]
push eax
call fcn.004169a9
add esp, 4
mov esi, dword [esp + 8]
lock inc dword [esi]
jle 0x46fe86
inc edi
cmp dword [esp + 0x50], edi
setbe byte [esp + 0xd]
movq xmm0, qword [esp + 0x240]
mov al, byte [esp + 0x248]
mov byte [esp + 0xe], al
movzx eax, word [ebx + 9]
mov word [esp + 0x20], ax
mov al, byte [ebx + 0xb]
mov byte [esp + 0x22], al
movq qword [esp + 0xc2], xmm0
movzx edx, byte [esp + 0x70]
mov ecx, dword [esp + 0x7c]
call fcn.00426b01
movzx edx, byte [esp + 0x1f]
mov ecx, dword [esp + 0x24]
call fcn.00426b01
mov ebx, esi
mov cl, byte [esp + 3]
mov eax, esi
jmp 0x46e830
mov edx, dword [esp + 0x550]
mov byte [esp + 8], al
mov eax, dword [esp + 0x558]
mov dword [esp + 0x790], eax
lea ecx, [esp + 0x240]
lea eax, [esp + 0x790]
push eax
call fcn.0041882f
add esp, 4
mov ecx, esi
call fcn.004125b8
mov byte [esp + 0x10], 3
mov al, byte [esp + 8]
mov byte [esp + 2], al
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
movzx edx, byte [esp + 0x70]
mov ecx, dword [esp + 0x7c]
call fcn.00426b01
movzx edx, byte [esp + 0x1f]
mov ecx, ebx
call fcn.00426b01
mov ebx, dword [esp + 0x50]
mov eax, ebx
mov ch, byte [esp + 0x10]
cmp ch, 4
mov cl, byte [esp + 3]
jne 0x46d7f1
mov dword [esp + 8], eax
mov dword [esp + 0x50], ebx
mov byte [esp + 3], cl
mov eax, dword [esp + 0xc2]
mov ecx, dword [esp + 0xc6]
mov dword [esp + 0xb7], ecx
mov dword [esp + 0xb3], eax
movzx eax, word [esp + 0x20]
mov word [esp + 0x40], ax
mov al, byte [esp + 0x22]
mov byte [esp + 0x42], al
mov al, byte [esp + 0xe]
mov bh, byte [esp + 0xd]
jmp 0x46d935
lea eax, [ebx + 0x100]
mov dword [esp + 0x28], eax
lea eax, [ebx + 0x60]
mov dword [esp + 0x30], eax
lea eax, [ebx + 0xb8]
mov dword [esp + 0x74], eax
lea eax, [ebx + 0xa8]
xor ecx, ecx
mov dword [esp + 0x4c], eax
cmp ecx, 0x10
je 0x46f746
mov dword [esp + 0x64], ecx
mov ecx, ebx
mov edx, esi
call fcn.00463253
test eax, eax
jne 0x46e8c2
mov edi, edx
test edx, edx
jne 0x46f66a
cmp byte [ebx + 0x130], 0
jne 0x46f53f
mov eax, dword [ebx + 0x12c]
cmp dword [eax], 0
jne 0x46e9a3
mov eax, dword [ebx + 0x40]
xor eax, 4
or eax, dword [ebx + 0x44]
je 0x46e9a3
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
mov edx, 3
cmp edx, eax
mov edx, 0
sbb edx, ecx
jb 0x46e9a3
test eax, eax
jne 0x46e9a3
mov edx, dword [ebx + 0xc4]
xor eax, eax
test edx, edx
je 0x46e94e
mov ecx, dword [ebx + 0xb8]
mov eax, dword [ebx + 0xc0]
cmp eax, ecx
mov esi, ecx
mov edi, 0
cmovb esi, edi
sub eax, esi
mov edi, ecx
sub edi, eax
mov esi, edx
sub esi, edi
ja 0x46e952
add edx, eax
mov ecx, edx
jmp 0x46e950
xor ecx, ecx
xor esi, esi
mov edx, dword [ebx + 0xbc]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
lea esi, [esi + esi*4]
lea esi, [edx + esi*8]
mov dword [esp + 0x240], eax
mov dword [esp + 0x244], ecx
mov dword [esp + 0x248], edx
mov dword [esp + 0x24c], esi
lea ecx, [esp + 0x240]
call fcn.00444616
test eax, eax
jne 0x46e9a3
cmp dword [ebx + 0x100], 2
je 0x46ecae
cmp byte [ebx + 0xf8], 0
jne 0x46ea5d
cmp byte [ebx + 0xcc], 0
je 0x46e9c9
mov esi, dword [ebx + 0xc4]
cmp esi, 0xf
jbe 0x46e9cf
jmp 0x46f4d2
mov esi, dword [ebx + 0xc4]
xor eax, eax
test esi, esi
je 0x46e9ff
mov ecx, dword [ebx + 0xb8]
mov eax, dword [ebx + 0xc0]
cmp eax, ecx
mov edx, ecx
mov edi, 0
cmovb edx, edi
sub eax, edx
mov edi, ecx
sub edi, eax
mov edx, esi
sub edx, edi
ja 0x46ea03
add esi, eax
mov ecx, esi
jmp 0x46ea01
xor ecx, ecx
xor edx, edx
mov esi, dword [ebx + 0xbc]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x240], eax
lea eax, [ecx + ecx*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x244], eax
lea eax, [edx + edx*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x248], esi
mov dword [esp + 0x24c], eax
mov esi, dword [ebx + 0xb0]
sub esi, dword [ebx + 0xb4]
lea ecx, [esp + 0x240]
call fcn.00444616
add eax, esi
cmp eax, dword [ebx + 0xc8]
jae 0x46f4d2
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebx + 0x64]
add eax, 0xfffffffe
adc ecx, 0xffffffff
mov edx, 3
cmp edx, eax
mov edx, 0
sbb edx, ecx
setb cl
cmp eax, 1
sete al
or al, cl
mov esi, dword [ebx + 0x12c]
cmp dword [esi], 0
je 0x46ebe2
lea edx, [esi + 4]
test al, al
je 0x46eb71
lea ecx, [esp + 0x240]
mov dword [esp + 0x18], edx
push dword [esp + 0x2c]
call fcn.00466c48
add esp, 4
cmp dword [esp + 0x240], 2
je 0x46f53f
mov eax, dword [esp + 0x250]
mov dword [esp + 0x700], eax
movdqu xmm0, xmmword [esp + 0x240]
movdqa xmmword [esp + 0x6f0], xmm0
cmp dword [esp + 0x6f0], 0
je 0x46ebfe
mov eax, dword [esp + 0x6f4]
mov ebx, dword [esp + 0x6f8]
test eax, eax
je 0x46f63d
mov ecx, dword [esp + 0x700]
mov edi, dword [esp + 0x6fc]
mov dword [esp + 0x410], eax
mov dword [esp + 0x414], ebx
mov dword [esp + 0x418], edi
mov dword [esp + 0x41c], ecx
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
je 0x46eb83
test edi, edi
sete cl
cmp dword [esi + 0xc], 0
mov ebx, dword [esp + 4]
je 0x46eba3
test cl, cl
je 0x46ec2f
mov eax, dword [esp + 0x410]
push edi
push dword [esp + 0x418]
lea ecx, [esp + 0x424]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x46e8c2
mov ecx, edx
call fcn.0045e776
mov dword [esi], 0
jmp 0x46e8c2
mov eax, dword [esi + 0xc]
push dword [esi + 8]
call dword [eax + 0x14]
add esp, 4
mov edi, dword [esp + 0x418]
test edi, edi
sete cl
test al, al
mov ebx, dword [esp + 4]
je 0x46eb47
test cl, cl
je 0x46ef2c
mov ecx, ebx
call fcn.00480ec4
test eax, eax
jne 0x46fb57
mov eax, dword [esp + 0x410]
push dword [esp + 0x418]
push dword [esp + 0x418]
lea ecx, [esp + 0x424]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x46f46c
test al, al
je 0x46f53f
mov ecx, ebx
call fcn.00480ec4
test eax, eax
je 0x46e8c2
jmp 0x46faf3
mov ecx, ebx
call fcn.00480ec4
mov edi, eax
mov eax, dword [esp + 0x6f0]
test edi, edi
jne 0x46fb1d
test eax, eax
je 0x46f46c
lea ecx, [esp + 0x6f4]
call fcn.00466d24
jmp 0x46f46c
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, eax
add edx, 0xfffffffe
mov esi, ecx
adc esi, 0xffffffff
mov ebx, 3
cmp ebx, edx
mov ebx, 0
sbb ebx, esi
movq xmm0, qword [esp + 0x410]
movq qword [esp + 0x5c0], xmm0
mov esi, dword [esp + 0x41c]
mov dword [esp + 0x18], esi
jb 0x46ec78
cmp edx, 1
jne 0x46fc93
or eax, ecx
mov esi, dword [esp + 4]
lea ebx, [esp + 0x240]
je 0x46f03e
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp eax, edi
mov edx, ecx
sbb edx, 0
jae 0x46f069
xor ecx, ecx
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], ecx
xor ebx, ebx
inc ebx
jmp 0x46f076
mov edx, dword [ebx + 0x10c]
lea ecx, [esp + 0x240]
mov edi, dword [esp + 0x2c]
push dword [edi]
push dword [ebx + 0x110]
call fcn.0045e5fd
add esp, 8
mov eax, dword [esp + 0x240]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x46f4e7
cmp eax, 4
je 0x46f53f
push 0x98
lea eax, [esp + 0x244]
push eax
lea esi, [esp + 0x138]
push esi
call fcn.004b64b0
add esp, 0xc
lea ecx, [esp + 0x2d8]
mov eax, dword [ecx + 8]
mov dword [esp + 0x798], eax
movq xmm0, qword [ecx]
movq qword [esp + 0x790], xmm0
mov edx, edi
call fcn.0045e412
test al, al
je 0x46f4f0
mov ecx, 0x20
lea edi, [esp + 0x5c0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x1b4]
mov byte [esp + 0x14], al
lea edx, [esp + 0x62c]
mov eax, dword [edx + 0x10]
lea ecx, [esp + 0x41c]
mov dword [ecx + 0x30], eax
movups xmm0, xmmword [edx]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [esp + 0x42c], xmm0
movups xmm0, xmmword [edx - 0x2c]
movups xmm1, xmmword [edx - 0x1c]
movaps xmmword [esp + 0x420], xmm1
movaps xmmword [esp + 0x410], xmm0
mov ebx, dword [esp + 0x130]
mov edx, dword [esp + 0x134]
lea ecx, [esp + 0x13c]
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x720], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 8], eax
movups xmm0, xmmword [ecx + 0x20]
movaps xmmword [esp + 0x710], xmm0
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movaps xmmword [esp + 0x700], xmm1
movaps xmmword [esp + 0x6f0], xmm0
movaps xmm0, xmmword [esp + 0x440]
lea eax, [esp + 0x6f4]
movups xmmword [eax + 0x60], xmm0
movaps xmm0, xmmword [esp + 0x430]
movups xmmword [eax + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x410]
movaps xmm1, xmmword [esp + 0x420]
movups xmmword [eax + 0x40], xmm1
movups xmmword [eax + 0x30], xmm0
mov esi, dword [esp + 0x28]
cmp dword [esi], 2
je 0x46ee32
mov ecx, esi
mov edi, edx
call fcn.0045e730
mov edx, edi
lea ecx, [esp + 0x2d8]
mov eax, dword [ecx + 8]
mov dword [esi + 8], eax
movsd xmm0, qword [ecx]
movsd qword [esi], xmm0
mov ecx, 0x1d
lea edi, [esp + 0xae8]
lea esi, [esp + 0x6f0]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x1b8]
movdqu xmm0, xmmword [eax]
lea eax, [esp + 0x66b]
movdqu xmmword [eax], xmm0
mov eax, ebx
and al, 7
cmp al, 3
je 0x46f517
mov eax, ebx
and eax, 7
cmp eax, 4
je 0x46f511
mov eax, dword [esp + 0x677]
mov dword [esp + 0x24f], eax
mov dword [esp + 0x4a0], ebx
movups xmm0, xmmword [esp + 0x668]
movaps xmmword [esp + 0x240], xmm0
mov dword [esp + 0x4a4], edx
mov eax, dword [esp + 8]
mov dword [esp + 0x4a8], eax
mov ecx, 0x1d
lea edi, [esp + 0x4ac]
lea esi, [esp + 0xae8]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x520], eax
mov al, byte [esp + 0x14]
mov byte [esp + 0x524], al
lea eax, [esp + 0x2d8]
movdqu xmm0, xmmword [eax - 0x95]
movdqa xmmword [esp + 0x130], xmm0
cmp dword [esp + 0x130], 0
je 0x46f1f1
mov eax, dword [esp + 0x138]
test eax, eax
mov ebx, dword [esp + 4]
jne 0x46f2ef
jmp 0x46f211
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
mov edx, eax
add edx, 0xfffffffe
mov dword [esp + 0x14], ebx
adc ebx, 0xffffffff
mov ecx, 3
cmp ecx, edx
mov ecx, 0
sbb ecx, ebx
movq xmm0, qword [esp + 0x410]
movq qword [esp + 0x668], xmm0
mov ebx, dword [esp + 0x41c]
jb 0x46ef73
cmp edx, 1
jne 0x46fd97
or eax, dword [esp + 0x14]
je 0x46f11f
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 4]
mov ebx, dword [eax + 0x68]
mov ecx, dword [eax + 0x6c]
mov edx, ebx
xor edx, edi
xor eax, eax
or edx, ecx
setne al
mov dword [esp + 8], ebx
cmp edi, ebx
mov edx, 0
sbb edx, ecx
mov ecx, 0xff
cmovb eax, ecx
test al, al
je 0x46f250
movzx eax, al
cmp eax, 1
mov edx, dword [esp + 0x14]
jne 0x46f297
mov eax, dword [esp + 0x414]
mov dword [esp + 0x5c4], eax
mov eax, dword [esp + 0x410]
mov dword [esp + 0x5c0], eax
mov dword [esp + 0x5c8], edi
mov dword [esp + 0x5cc], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x5d0], edx
mov ebx, dword [esp + 4]
cmp byte [ebx + 0xcc], 0
je 0x46f3d7
mov eax, dword [esp + 0x5d0]
lea ecx, [esp + 0x2d8]
mov dword [ecx - 0x84], eax
movdqu xmm0, xmmword [esp + 0x5c0]
movdqu xmmword [ecx - 0x94], xmm0
mov dword [esp + 0x240], 1
jmp 0x46f1dc
mov ecx, ebx
mov edx, edi
call fcn.00424581
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x244]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x248]
mov edx, ebx
mov ebx, 2
jmp 0x46f07d
sub eax, edi
sbb ecx, 0
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ecx
xor ebx, ebx
lea edx, [esp + 0x240]
mov dword [esp + 0x240], ebx
mov ebx, dword [esp + 0x5c4]
mov dword [esp + 0x248], ebx
mov ebx, dword [esp + 0x5c0]
mov dword [esp + 0x244], ebx
mov dword [esp + 0x24c], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x250], edi
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x258], eax
mov dword [esp + 0x25c], ecx
mov dword [esp + 0x260], 0x4f4a9a
mov dword [esp + 0x264], 2
mov ecx, dword [esp + 0x4c]
call fcn.0044e49c
mov eax, dword [esi + 0x60]
or eax, dword [esi + 0x64]
mov ebx, esi
je 0x46e8c2
mov eax, dword [ebx + 0x6c]
or eax, dword [ebx + 0x68]
jne 0x46e8c2
cmp byte [ebx + 0x70], 1
mov eax, 5
sbb eax, 0
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x64], 0
jmp 0x46e8c2
lea ecx, [esp + 0x250]
mov edx, edi
call fcn.00424581
mov eax, dword [esp + 0x668]
mov ecx, dword [esp + 0x66c]
mov dword [esp + 0x244], ecx
mov dword [esp + 0x240], eax
mov dword [esp + 0x248], edi
mov dword [esp + 0x24c], ebx
movups xmm0, xmmword [esp + 0x24c]
movups xmmword [esp + 0x13c], xmm0
movdqu xmm0, xmmword [esp + 0x240]
movdqa xmmword [esp + 0x130], xmm0
mov dword [esp + 0x14c], 0x4f4a93
mov dword [esp + 0x150], 7
mov ebx, dword [esp + 4]
cmp byte [ebx + 0xcc], 0
je 0x46f364
mov eax, dword [esp + 0x150]
lea ecx, [esp + 0x2d8]
mov dword [ecx - 0x74], eax
movdqa xmm0, xmmword [esp + 0x130]
movaps xmm1, xmmword [esp + 0x140]
movups xmmword [ecx - 0x84], xmm1
movdqu xmmword [ecx - 0x94], xmm0
mov dword [esp + 0x240], 2
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0x240]
call fcn.0047eb2a
jmp 0x46f44d
mov eax, dword [esp + 0x138]
push dword [esp + 0x134]
call dword [eax + 0x14]
add esp, 4
test al, al
mov ebx, dword [esp + 4]
je 0x46f2da
mov esi, dword [ebx + 0x12c]
cmp dword [esi], 0
je 0x46f224
lea ecx, [esi + 4]
call fcn.0045e776
xor eax, eax
mov dword [esi], eax
sub esp, 8
mov ecx, ebx
lea edx, [esp + 0x4a8]
push eax
push 2
call fcn.0047f074
add esp, 0x10
lea ecx, [esp + 0x130]
call fcn.0045e776
jmp 0x46e8c2
mov eax, dword [esp + 0x410]
mov ecx, dword [esp + 0x414]
mov dword [esp + 0x244], ecx
mov dword [esp + 0x240], eax
mov dword [esp + 0x248], edi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24c], eax
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x240]
call fcn.0044e42a
mov ebx, dword [esp + 4]
jmp 0x46f44d
mov eax, dword [esp + 0x410]
mov ecx, dword [esp + 0x414]
mov dword [esp + 0x244], ecx
mov dword [esp + 0x240], eax
mov dword [esp + 0x248], edi
mov dword [esp + 0x24c], edx
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x240]
call fcn.0044e42a
mov ebx, dword [esp + 4]
jmp 0x46f453
cmp dword [esp + 0x130], 0
je 0x46f47e
mov eax, dword [esp + 0x138]
xor ecx, ecx
mov edx, eax
xor edi, edi
mov dword [esp + 0x18], edx
xor eax, edx
xor ecx, edi
xor ebx, ebx
or ecx, eax
sete bl
movaps xmm0, xmmword [esp + 0x130]
movaps xmmword [esp + 0x240], xmm0
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x12c]
cmp dword [esi], 0
je 0x46f32b
lea ecx, [esi + 4]
call fcn.0045e776
xor ebx, 1
mov dword [esi], 1
movdqa xmm0, xmmword [esp + 0x240]
movdqu xmmword [esi + 4], xmm0
mov ecx, dword [esp + 4]
lea edx, [esp + 0x4a0]
push edi
push dword [esp + 0x1c]
push 0
push ebx
mov ebx, ecx
call fcn.0047f074
add esp, 0x10
jmp 0x46e8c2
lea edi, [esp + 0x130]
mov ecx, edi
call fcn.0044e40c
mov ecx, dword [esp + 0x4c]
mov edx, eax
call fcn.004277b0
mov ecx, edi
call fcn.0044e670
test edx, edx
je 0x46f3b9
mov edi, edx
mov ecx, dword [esp + 0x4c]
mov edx, eax
push edi
call fcn.0040fc21
add esp, 4
lea ecx, [esp + 0x130]
mov edx, edi
call fcn.0044e6dd
lea ecx, [esp + 0x130]
call fcn.0044e670
mov edi, edx
test edx, edx
jne 0x46f38a
mov eax, dword [esp + 0x130]
push dword [esp + 0x138]
push dword [esp + 0x138]
lea ecx, [esp + 0x144]
jmp 0x46f446
cmp edi, edx
cmovb edx, edi
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x4c]
call fcn.004277b0
mov edx, dword [esp + 0x5c4]
cmp dword [esp + 8], 0
je 0x46f436
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x4c]
push eax
mov edi, eax
call fcn.0040fc21
add esp, 4
lea ecx, [esp + 0x5c0]
mov edx, edi
call fcn.00467676
mov edx, dword [esp + 0x5c4]
mov edi, dword [esp + 0x5c8]
mov eax, dword [esp + 0x5d0]
cmp edi, eax
cmovb eax, edi
test eax, eax
jne 0x46f3fb
mov eax, dword [esp + 0x5c0]
push edi
push edx
lea ecx, [esp + 0x5d4]
push ecx
call dword [eax + 8]
add esp, 0xc
cmp byte [ebx + 0x70], 0
je 0x46f45c
xor eax, eax
mov ecx, 5
jmp 0x46f463
xor eax, eax
mov ecx, 4
mov edx, dword [esp + 0x30]
mov dword [edx], ecx
mov dword [edx + 4], eax
cmp dword [esi], 0
mov ecx, dword [esp + 0x18]
jne 0x46eb73
jmp 0x46eb78
mov eax, dword [esp + 0x138]
push dword [esp + 0x134]
lea ecx, [esp + 0x244]
push ecx
call dword [eax + 0x18]
add esp, 8
mov eax, dword [esp + 0x240]
or eax, dword [esp + 0x244]
je 0x46f4cb
mov edi, dword [esp + 0x254]
mov edx, dword [esp + 0x250]
mov eax, dword [esp + 0x248]
mov ecx, dword [esp + 0x24c]
jmp 0x46f2f5
xor ebx, ebx
jmp 0x46f304
mov ecx, ebx
mov edx, dword [esp + 0x2c]
call fcn.00466390
test eax, eax
je 0x46e8b8
jmp 0x46f53f
mov byte [ebx + 0x114], 1
jmp 0x46f51b
lea ecx, [esp + 0x790]
call fcn.0045e730
mov ecx, esi
call fcn.0040fe18
lea ecx, [esp + 0x1b8]
call fcn.0045e776
jmp 0x46f51b
mov ebx, dword [esp + 4]
jmp 0x46f53f
mov ebx, dword [esp + 4]
mov byte [ebx + 0x130], 1
xor eax, eax
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x40], 4
mov dword [ebx + 0x64], eax
mov dword [ebx + 0x60], 5
mov byte [ebx + 0xa2], 2
mov ecx, ebx
mov esi, dword [esp + 0x2c]
mov edx, esi
call fcn.00466390
test eax, eax
jne 0x46f55a
mov edi, edx
test edx, edx
jne 0x46f66a
mov ecx, dword [esp + 0x64]
inc ecx
cmp byte [ebx + 0xa1], 0
mov byte [ebx + 0xa1], 0
jne 0x46e89e
cmp byte [ebx + 0x130], 0
jne 0x46f58b
mov eax, dword [ebx + 0x40]
xor eax, 4
or eax, dword [ebx + 0x44]
jne 0x46f7a0
mov eax, dword [ebx + 0x7c]
cmp dword [ebx + 0x78], 0
mov dword [ebx + 0x78], 0
je 0x46fa95
mov dword [esp + 0x240], eax
mov edi, dword [ebx + 0x94]
mov dword [ebx + 0x94], 0
test edi, edi
mov esi, dword [esp + 0x28]
je 0x46fb16
lea ecx, [esp + 0x240]
call fcn.0045fe9a
jmp 0x46f66e
cmp ebx, 6
jne 0x46f5e6
mov esi, 3
mov ebx, dword [esp + 4]
jmp 0x46f79b
mov byte [esp + 0x130], bl
lea eax, [esp + 0x4a1]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x131], xmm0
movsd xmm0, qword [eax + 0xf]
movsd qword [esp + 0x140], xmm0
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x74]
call fcn.00427625
test eax, eax
je 0x46f724
mov edi, eax
mov esi, 2
mov ebx, dword [esp + 4]
lea ecx, [esp + 0x130]
call fcn.0046ad85
jmp 0x46f79b
xor ecx, ecx
inc ecx
xor edx, edx
call fcn.00426cc9
mov edi, eax
mov ecx, eax
mov edx, ebx
call fcn.0047ee7a
mov ebx, dword [esp + 4]
cmp dword [esi], 0
mov ecx, dword [esp + 0x18]
je 0x46f664
call fcn.0045e776
mov dword [esi], 0
mov esi, dword [esp + 0x28]
mov eax, ebx
mov bl, byte [ebx + 0x128]
mov byte [eax + 0x128], 3
cmp bl, 3
je 0x46f6f3
mov ecx, dword [esp + 4]
movdqu xmm0, xmmword [ecx + 0x118]
lea edx, [esp + 0x240]
movdqa xmmword [edx], xmm0
mov byte [edx + 0x10], bl
movzx eax, word [ecx + 0x129]
mov word [edx + 0x11], ax
mov al, byte [ecx + 0x12b]
mov byte [edx + 0x13], al
mov ecx, 8
call fcn.00426cc9
mov esi, eax
mov ecx, eax
mov edx, str.connection_errormain.rs_srcclientpool.rsHTTP_2_connection_in_progress_
push 0x10
call fcn.00426d31
add esp, 4
lea eax, [esp + 0x240]
mov ecx, dword [eax + 8]
movzx edx, bl
push esi
mov esi, dword [esp + 0x2c]
call fcn.0042934e
add esp, 4
lea ecx, [esp + 0x240]
call fcn.0045b383
lea edx, [esp + 0x240]
mov dword [edx + 8], edi
mov dword [edx + 4], 0
mov dword [edx], 3
mov ecx, esi
call fcn.0045f025
mov edi, eax
test eax, eax
mov ebx, dword [esp + 4]
jne 0x46fa20
jmp 0x46fa1e
cmp ebx, 2
je 0x46f75b
cmp ebx, 1
lea eax, [esp + 0x134]
je 0x46f755
test ebx, ebx
mov ebx, dword [esp + 4]
jne 0x46f76f
lea eax, [esp + 0x138]
jmp 0x46f766
mov eax, dword [esi]
mov ecx, dword [eax]
push dword [eax + 4]
call dword [ecx + 8]
add esp, 4
jmp 0x46f7a0
mov ebx, dword [esp + 4]
jmp 0x46f766
mov ebx, dword [esp + 4]
lea eax, [esp + 0x134]
cmp dword [eax], 0
je 0x46fa8e
movsd xmm0, qword [esp + 0x140]
lea ecx, [esp + 0x240]
movsd qword [ecx + 0x10], xmm0
movups xmm0, xmmword [esp + 0x130]
movaps xmmword [ecx], xmm0
call fcn.00426e10
mov edi, eax
mov esi, 2
cmp esi, 3
jne 0x46f7a7
mov al, 1
jmp 0x46fa86
test esi, esi
je 0x46fa1e
cmp esi, 2
je 0x46fa20
mov dword [esp + 0x18], edi
lea esi, [esp + 0x240]
push 0x138
push ebx
push esi
call fcn.004b64b0
add esp, 0xc
mov dword [ebx + 4], 0
mov dword [ebx], 5
mov eax, dword [esi]
mov dword [esp + 0x2c], eax
and eax, 6
cmp eax, 4
je 0x46fd04
mov eax, dword [esp + 0x244]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x9b0]
push 0x138
push esi
push eax
call fcn.004b64b0
add esp, 0xc
lea eax, [esp + 0x130]
push 0x100
push esi
push eax
call fcn.004b64b0
add esp, 0xc
lea esi, [esp + 0x1d8]
lea eax, [esp + 0x4a0]
mov ecx, 0x15
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [eax + 0x40]
mov ecx, dword [eax + 0x44]
mov ebx, dword [eax + 0x4c]
test bl, 1
jne 0x46f85b
mov dword [esp + 0x64], 0x4fe394
mov dword [esp + 0x30], ecx
jmp 0x46f8bb
shr ebx, 5
sub edi, ebx
add ecx, ebx
mov eax, dword [esp + 0x4e8]
add eax, ebx
lea edx, [esp + 0x668]
mov dword [edx], eax
mov dword [edx + 4], edi
mov dword [edx + 8], ecx
lea esi, [esp + 0x410]
mov ecx, esi
call fcn.00402b13
mov dword [esp + 0x8f8], ebx
mov eax, dword [esi + 8]
mov ecx, eax
sub ecx, ebx
jb 0x46fdde
mov dword [esp + 0x30], ecx
mov edi, ebx
add edi, dword [esp + 0x414]
mov eax, dword [esp + 0x410]
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0x41c]
lea eax, [esp + 0x4d4]
movsd xmm0, qword [eax]
movsd qword [esp + 0x390], xmm0
mov ecx, dword [eax + 8]
mov dword [esp + 0x398], ecx
cmp dword [eax - 0x34], 0
je 0x46f8f4
push dword [esp + 0x4a4]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea esi, [esp + 0x4b0]
mov ecx, esi
call fcn.00469cbd
cmp dword [esi], 0
je 0x46f91c
push dword [esp + 0x4b4]
push 0
push dword [0x530ac8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea esi, [esp + 0x130]
mov ecx, esi
call fcn.00469d17
mov eax, dword [esp + 0x398]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x390]
movsd qword [esi], xmm0
mov eax, dword [esp + 0x64]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], edi
mov eax, dword [esp + 0x30]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], ebx
lea edi, [esp + 0x14c]
movups xmm0, xmmword [esp + 0xab0]
movups xmmword [edi], xmm0
movsd xmm0, qword [esp + 0xac0]
movsd qword [edi + 0x10], xmm0
cmp byte [esp + 0xad8], 3
je 0x46f98b
lea ecx, [esp + 0xac8]
call fcn.0045b383
mov ecx, dword [esp + 0xadc]
call fcn.0045febd
movups xmm0, xmmword [esi + 0xc]
movaps xmmword [esp + 0x830], xmm0
mov ecx, edi
call fcn.00469d61
mov al, byte [0x530b2c]
xor ecx, ecx
mov edx, 0xc
call fcn.0049cbc0
test eax, eax
mov ebx, dword [esp + 4]
je 0x46fd1c
mov ecx, dword [esp + 0x398]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x390]
movsd qword [eax], xmm0
lea edx, [esp + 0x130]
mov dword [edx], eax
mov dword [edx + 4], 0x4f6094
movdqa xmm0, xmmword [esp + 0x830]
movdqu xmmword [edx + 8], xmm0
mov ecx, dword [esp + 0x18]
call fcn.00423e96
mov eax, dword [esp + 0x2c]
xor eax, 4
or eax, dword [esp + 0x28]
jne 0x46fa1e
lea ecx, [esp + 0x240]
call fcn.00469b36
xor edi, edi
mov eax, dword [ebx]
xor eax, 6
or eax, dword [ebx + 4]
je 0x46fc45
mov ecx, ebx
call fcn.0045fd20
mov dword [ebx + 4], 0
mov dword [ebx], 6
test edi, edi
je 0x46fa77
lea eax, [esp + 0x9b0]
mov dword [eax], edi
push eax
call fcn.004691d4
add esp, 4
mov eax, dword [ebx]
mov ecx, eax
and cl, 7
cmp cl, 6
je 0x46fa77
and eax, 7
cmp eax, 7
je 0x46fc72
mov ecx, ebx
call fcn.0045fd20
mov dword [ebx + 4], 0
mov dword [ebx], 7
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
jmp 0x46f62c
mov eax, dword [ebx + 0xe0]
push esi
push dword [ebx + 0xdc]
lea ecx, [esp + 0x248]
push ecx
call dword [eax + 0x18]
add esp, 0xc
movzx eax, byte [esp + 0x240]
cmp eax, 4
je 0x46fb36
cmp eax, 5
je 0x46f7a0
lea ecx, [esp + 0x240]
movzx edx, byte [ecx + 7]
shl edx, 0x10
movzx esi, word [ecx + 5]
or esi, edx
mov edx, dword [ecx + 1]
movzx eax, al
shld esi, edx, 8
shl edx, 8
or edx, eax
mov dword [ecx], edx
mov dword [ecx + 4], esi
call fcn.00426df2
mov edi, eax
jmp 0x46f66a
xor esi, esi
jmp 0x46fb11
mov ecx, dword [ebx + 0x54]
add ecx, 8
mov edx, esi
call fcn.00424d2e
movzx eax, al
lea esi, [eax + eax*2]
jmp 0x46f79b
mov edi, eax
jmp 0x46f7b8
test eax, eax
je 0x46f656
lea ecx, [esp + 0x6f4]
call fcn.00466d24
jmp 0x46f656
mov edi, dword [ebx + 0x94]
mov dword [ebx + 0x94], 0
test edi, edi
mov esi, dword [esp + 0x28]
jne 0x46f66e
jmp 0x46fa1e
mov edi, eax
mov eax, dword [esp + 0x410]
push dword [esp + 0x418]
push dword [esp + 0x418]
lea ecx, [esp + 0x424]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x46f656
movups xmm0, xmmword [esp + 0x160]
movaps xmmword [esp + 0x270], xmm0
movups xmm0, xmmword [esp + 0x150]
movaps xmmword [esp + 0x260], xmm0
movups xmm0, xmmword [esp + 0x130]
movups xmm1, xmmword [esp + 0x140]
movaps xmmword [esp + 0x250], xmm1
movaps xmmword [esp + 0x240], xmm0
mov ecx, edi
call fcn.00469d7b
movaps xmm0, xmmword [esp + 0x270]
movups xmmword [edi + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x260]
movups xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [esp + 0x240]
movaps xmm1, xmmword [esp + 0x250]
movups xmmword [edi + 0x10], xmm1
movups xmmword [edi], xmm0
jmp 0x46f5d8
push 0x4e371c
call fcn.004cb900
mov ecx, 0x4f686c
mov edx, 0x36
push 0x4f68a4
call fcn.004cf119
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x4e3094
push 0x4e29f8
lea eax, [esp + 0x900]
push eax
call fcn.004cbc80
mov ecx, 0x4f7cac
call fcn.004cbd00
mov dword [ebx + 4], 0
mov dword [ebx], 6
jmp 0x46fc7f
mov ecx, 0x4f6194
call fcn.004cbd00
mov ecx, str.internal_error:_entered_unreachable_codemain.rs_src_runtime_blocking_schedule.rs
mov edx, 0x28
push 0x4f5fac
call fcn.004cb970
mov dword [ebx + 4], 0
mov dword [ebx], 7
mov ecx, str.internal_error:_entered_unreachable_codemain.rs_src_runtime_blocking_schedule.rs
mov edx, 0x28
push 0x4f685c
call fcn.004cb970
mov eax, dword [esp + 0x30]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 0x424410
lea ecx, [esp + 0x240]
mov dword [ecx], 0x4f73fc
xor eax, eax
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
lea edx, [esp + 0x130]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, 0x4f7404
call fcn.004cb8c0
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x4e3034
jmp 0x46fcfa
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x4e3054
push 0x4e29d8
jmp 0x46fc2e
mov ecx, dword [esp + 0x18]
call fcn.0046b280
mov ecx, 0x4f7cd0
mov edx, 0x4f7cd8
call fcn.0046b28e
mov ecx, 4
mov edx, 0xc
call fcn.004cb610
mov eax, dword [esp + 0x244]
mov cl, byte [esp + 0x248]
mov dword [esp + 0x130], eax
mov byte [esp + 0x134], cl
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x4f5c8c
push 0x4f5eb0
lea eax, [esp + 0x138]
jmp 0x46fc35
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x70]
mov byte [esp + 0x244], al
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x4f5c9c
push 0x4f5ea0
push ebx
call fcn.004cbc80
mov eax, dword [esp + 0x30]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 0x424410
lea ecx, [esp + 0x240]
mov dword [ecx], 0x4f73fc
xor eax, eax
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
lea edx, [esp + 0x130]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, 0x4f74c0
call fcn.004cb8c0
lea ecx, [esp + 0x790]
mov dword [ecx], eax
lea eax, [esp + 0x8f8]
lea edx, [esp + 0x6f0]
mov dword [edx], eax
mov eax, 0x42ed50
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov dword [edx + 0xc], eax
lea ecx, [esp + 0x5c0]
mov dword [ecx], 0x4fe3e0
mov eax, 2
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, 0x4f63e8
call fcn.004cb8c0
mov ecx, 0x4f4966
mov edx, 0x17
push 0x4f4980
push 0x4e348c
jmp 0x46fc2e
mov eax, dword [esp + 0x134]
mov cl, byte [esp + 0x138]
mov dword [esp + 0x790], eax
mov byte [esp + 0x794], cl
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x4f5b8c
push 0x4f5eb0
lea eax, [esp + 0x798]
jmp 0x46fc35
ud2