Function at 0x451bb5
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x998
mov eax, dword [ecx + 0x20]
mov esi, dword [ecx + 0x24]
mov edi, eax
xor edi, 6
or edi, esi
je 0x454e72
mov edi, eax
mov dword [esp + 0xc], edx
xor edi, 5
or edi, esi
je 0x454e89
xor eax, 4
lea edx, [ecx + 0x28]
mov ebx, ecx
or eax, esi
mov dword [esp + 0x39c], edx
cmove ebx, edx
push 3
pop edi
mov dword [esp + 0x1a8], ecx
mov dword [esp + 4], ebx
jne 0x453448
lea eax, [ebx + 0x58]
mov dword [esp + 0x30], eax
lea eax, [ebx + 0x34]
mov dword [esp + 0x2c], eax
lea eax, [ebx + 0x60]
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x2d8]
push dword [esi]
call fcn.00455691
pop eax
movzx eax, byte [esp + 0x2d8]
cmp eax, 5
jne 0x454964
mov ebx, dword [esp + 4]
mov eax, dword [ebx + 0x30]
mov dword [ebx + 0x30], 2
cmp eax, 2
je 0x451ca7
push 0xc
pop ecx
lea edi, [esp + 0x710]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
push 3
pop edi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x740], eax
mov esi, dword [esp + 0xc]
lea edx, [esp + 0x744]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov ecx, ebx
mov dword [edx + 8], eax
movsd qword [edx], xmm0
lea edx, [esp + 0x710]
push esi
call fcn.0045582c
pop eax
jmp 0x451c29
mov eax, dword [esp + 0xc]
mov edx, dword [ebx + 0x48]
lea ecx, [esp + 0x620]
push dword [eax]
push dword [ebx + 0x4c]
call fcn.00442d10
pop eax
pop ecx
mov eax, dword [esp + 0x638]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x454e1d
cmp eax, 4
je 0x454e24
push 0x98
lea eax, [esp + 0x624]
push eax
lea eax, [esp + 0x590]
push eax
call fcn.005010b0
add esp, 0xc
lea eax, [esp + 0x6b8]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
movsd qword [esp + 0x68], xmm0
mov dword [esp + 0x70], eax
cmp dword [esp + 0x68], 0
mov eax, dword [esp + 0x6c]
je 0x451d49
test eax, eax
je 0x454f39
mov esi, dword [esp + 0x70]
lea eax, [esp + 0x70]
mov edx, 0x53cb9c
test esi, esi
cmovne esi, eax
mov ecx, esi
call fcn.004349d9
mov eax, dword [esi]
mov ecx, 0x88
jmp 0x451d71
test eax, eax
je 0x454f39
mov esi, dword [esp + 0x70]
lea eax, [esp + 0x70]
mov edx, 0x53cb9c
test esi, esi
cmovne esi, eax
mov ecx, esi
call fcn.004349d9
mov eax, dword [esi]
mov ecx, 0xb8
add eax, ecx
mov eax, dword [eax]
test al, 4
jne 0x4532f0
push 0x98
lea eax, [esp + 0x58c]
push eax
lea ebx, [esp + 0x98]
push ebx
call fcn.005010b0
add esp, 0xc
mov ebx, 0x88
push ebx
lea esi, [esp + 0xa4]
push esi
lea edi, [esp + 0x1e0]
push edi
call fcn.005010b0
add esp, 0xc
push ebx
push edi
lea eax, [esp + 0x758]
push eax
call fcn.005010b0
add esp, 0xc
movsd xmm0, qword [esp + 0x588]
movsd xmm1, qword [esp + 0x590]
mov ecx, edi
mov edx, str.keep_aliveinternal_error:_entered_unreachable_code:_poll_read_body_invalid_state:
movsd qword [esp + 0x1d0], xmm1
movsd qword [esp + 0x1c8], xmm0
push 0xa
call fcn.00430e94
pop eax
lea ecx, [esp + 0x2d8]
mov edx, edi
push 0x5293a0
call fcn.00437029
pop eax
mov ecx, edi
mov edx, 0x5293b0
push 0x10
call fcn.00430e94
pop eax
lea ecx, [esp + 0xa0]
mov edx, edi
push 0x5293c0
call fcn.00437029
pop eax
movsd xmm0, qword [esp + 0x2d8]
movsd xmm1, qword [esp + 0x2e0]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x98], xmm1
and dword [esi + 0x1c], 0
and dword [esi + 0x18], 0
and dword [esi + 0x14], 0
mov dword [esi + 0x10], 0x44
and dword [esi + 0x2c], 0
and dword [esi + 0x28], 0
and dword [esi + 0x24], 0
mov dword [esi + 0x20], 0x45
and dword [esi + 0x3c], 0
and dword [esi + 0x38], 0
and dword [esi + 0x34], 0
mov dword [esi + 0x30], 0x47
push 5
pop esi
lea edi, [esp + 0x90]
sub esi, 1
jb 0x451ec3
lea ebx, [esp + 0x1d8]
lea edx, [esp + 0x750]
mov ecx, ebx
push edi
call fcn.004352de
pop eax
mov ecx, ebx
call fcn.00437062
add edi, 0x10
jmp 0x451e9b
and dword [esp + 0x1e4], 0
and dword [esp + 0x1e0], 0
and dword [esp + 0x1dc], 0
lea edi, [esp + 0x1d8]
lea ecx, [esp + 0x750]
mov dword [esp + 0x1d8], 0x43
mov edx, edi
call fcn.00424750
test eax, eax
je 0x451f16
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 8
push 0x529400
call fcn.00419669
pop ecx
pop edx
xor al, 1
jmp 0x451f18
mov al, 2
lea ecx, [esp + 0x518]
cmp al, 2
je 0x451f6f
and al, 1
je 0x451f6f
and dword [esp + 0x2e4], 0
and dword [esp + 0x2e0], 0
and dword [esp + 0x2dc], 0
mov ecx, edi
lea eax, [esp + 0x2d8]
mov dword [esp + 0x2d8], 0x43
lea edx, [esp + 0x750]
push eax
call fcn.00434fa1
pop eax
mov ecx, edi
call fcn.00437062
lea ecx, [esp + 0x518]
and dword [esp + 0x1e4], 0
and dword [esp + 0x1e0], 0
and dword [esp + 0x1dc], 0
mov dword [esp + 0x1d8], 0x14
lea edx, [esp + 0x750]
push edi
call fcn.00434fa1
pop eax
cmp byte [esp + 0x528], 2
je 0x45204a
movsd xmm0, qword [esp + 0x518]
movsd xmm1, qword [esp + 0x520]
mov eax, dword [esp + 0x528]
movsd qword [esp + 0x470], xmm0
mov dword [esp + 0x480], eax
movsd qword [esp + 0x478], xmm1
mov ecx, dword [esp + 0x470]
mov edx, dword [esp + 0x474]
call fcn.00430f4e
test eax, eax
je 0x454f89
mov esi, edx
mov ecx, edi
mov edx, eax
push esi
call fcn.00436aa0
pop eax
mov ecx, edi
call fcn.00436aec
test eax, eax
je 0x45203e
mov ecx, eax
call fcn.00433abd
mov esi, edx
lea ebx, [esp + 0x2d8]
lea edx, [esp + 0x750]
mov ecx, ebx
push esi
push eax
call fcn.0043536e
pop eax
pop ecx
mov ecx, ebx
call fcn.00437062
jmp 0x452008
lea ecx, [esp + 0x470]
call fcn.00432a33
push 5
pop edi
lea esi, [esp + 0x90]
sub edi, 1
jb 0x452065
mov ecx, esi
call fcn.00433d3c
add esi, 0x10
jmp 0x452054
lea ecx, [esp + 0x90]
lea edx, [esp + 0x1c8]
call fcn.0045602a
mov eax, dword [esp + 0x90]
or eax, dword [esp + 0x94]
push 3
pop edi
je 0x4520e7
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0xa4]
xor ecx, edx
xor esi, eax
or esi, ecx
jne 0x4520e7
mov ecx, edx
or ecx, eax
je 0x4520c5
lea ecx, [esp + 0x750]
push eax
call fcn.00436e01
pop eax
jmp 0x4520e7
movzx eax, byte [esp + 0x794]
xor edx, edx
cmp eax, 7
ja 0x452ad1
mov ecx, 0xb2
bt ecx, eax
mov eax, 0
jae 0x4520b5
lea ecx, [esp + 0x794]
mov edx, 0x53c4a8
call fcn.0042a157
cmp dword [esp + 0x1d4], 0
mov ebx, eax
je 0x452111
cmp dword [esp + 0x1cc], 0
sete bh
jmp 0x452127
mov eax, dword [esp + 0x1cc]
push dword [esp + 0x1c8]
call dword [eax + 0x14]
add esp, 4
mov bh, al
test bl, bl
je 0x45215c
lea ecx, [esp + 0x4f8]
lea edx, [esp + 0x750]
call fcn.00436c63
cmp dword [esp + 0x4f8], 0
je 0x45215c
mov eax, dword [esp + 0x504]
or eax, dword [esp + 0x500]
jne 0x4533c8
mov ecx, dword [esp + 0x790]
test ecx, ecx
je 0x45223f
lea edx, [esp + 0x90]
mov dword [esp + 0x94], 0xcd2f86ec
mov dword [esp + 0x90], 0xf791c58
call fcn.00456648
test eax, eax
je 0x45223f
mov esi, eax
mov edi, edx
push eax
call dword [edx + 0xc]
add esp, 4
xor edx, 0xcd2f86ec
xor eax, 0xf791c58
or eax, edx
jne 0x452225
mov eax, dword [esi + 8]
mov ecx, esi
mov dword [esp + 0x2e0], eax
movsd xmm0, qword [esi]
movsd qword [esp + 0x2d8], xmm0
mov edi, dword [esi + 0xc]
push 4
pop edx
call fcn.00415e60
test edi, edi
je 0x45223f
mov eax, dword [esp + 0x2e0]
movsd xmm0, qword [esp + 0x2d8]
lea esi, [esp + 0x1d8]
lea edx, [esp + 0x790]
mov ecx, esi
mov dword [esp + 0x98], eax
lea eax, [esp + 0x90]
movsd qword [esp + 0x90], xmm0
mov dword [esp + 0x9c], edi
push eax
call fcn.00423c02
pop eax
mov ecx, esi
call fcn.00433d3c
jmp 0x45223f
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edi
call fcn.0047380e
push 0x88
lea eax, [esp + 0x754]
push eax
lea eax, [esp + 0x478]
push eax
call fcn.005010b0
add esp, 0xc
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0x68]
mov eax, dword [esp + 0x40]
test ecx, ecx
mov dword [esp + 0x48], ecx
cmove eax, ecx
mov ecx, dword [esp + 0x4b0]
mov dword [esp + 0x44], eax
test ecx, ecx
je 0x452304
lea edx, [esp + 0x90]
mov dword [esp + 0x94], 0xc58bd463
mov dword [esp + 0x90], 0x6a2142e6
call fcn.00456648
test eax, eax
je 0x452304
mov esi, eax
mov edi, edx
push eax
call dword [edx + 0xc]
add esp, 4
xor edx, 0xc58bd463
xor eax, 0x6a2142e6
or eax, edx
jne 0x4522ea
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov ecx, esi
movsd qword [esp + 0x3a8], xmm1
movsd qword [esp + 0x3a0], xmm0
push 4
pop edx
call fcn.00415e60
jmp 0x45230c
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edi
call fcn.0047380e
and dword [esp + 0x3ac], 0
mov esi, dword [esp + 0x4b0]
mov byte [esp + 0x78], bh
mov byte [esp + 0x4c], bl
test esi, esi
je 0x45232d
mov ecx, esi
call fcn.0042e240
mov ecx, esi
call fcn.00456611
mov edi, dword [esp + 4]
lea ebx, [esp + 0x90]
mov ecx, ebx
mov edx, dword [edi + 0x58]
add edx, 8
call fcn.00421c1c
mov ecx, ebx
mov edx, 0x53b190
call fcn.00456059
mov edi, dword [edi + 0x5c]
mov byte [esp + 0x10], dl
mov ecx, ebx
mov dword [esp + 0x28], eax
lea esi, [eax + 8]
lea edx, [edi + 8]
call fcn.0043313a
mov ecx, ebx
mov edx, 0x53b1a0
call fcn.00456095
mov byte [esp + 0x3c], dl
mov ecx, ebx
mov edx, esi
mov dword [esp + 0x60], eax
call fcn.0042ab20
mov cl, byte [esp + 0x90]
movzx edx, byte [esp + 0x3c]
movzx eax, byte [esp + 0x10]
cmp cl, 3
mov dword [esp + 0x3c], eax
jne 0x4523c7
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x88], edi
mov byte [esp + 0x10], 3
cmp dword [ebx + 0xb8], 0
push 3
pop edi
je 0x452822
mov byte [esp + 0x14], 5
jmp 0x452438
mov al, byte [esp + 0x91]
mov byte [esp + 0x10], cl
lea ecx, [esp + 0xa0]
mov byte [esp + 0x14], al
movzx eax, word [esp + 0x92]
mov word [esp + 0x64], ax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
movzx eax, word [ecx + 5]
mov word [esp + 0x34], ax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x24], eax
mov al, byte [ecx + 7]
mov ecx, dword [esp + 0xa0]
mov byte [esp + 0x36], al
mov al, byte [esp + 0xa4]
mov dword [esp + 0x18], ecx
mov byte [esp + 0x20], al
push 3
pop edi
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
call fcn.004ddfbd
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.004ddfbd
lea ecx, [esp + 0x3a0]
call fcn.00433d3c
lea ecx, [esp + 0x470]
call fcn.00442f5c
mov al, byte [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ah, byte [esp + 0x10]
mov byte [esp + 0x14], al
mov al, byte [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
cmp ah, 3
je 0x45330a
mov byte [esp + 0x90], ah
mov ah, byte [esp + 0x14]
mov ebx, ecx
movzx ecx, word [esp + 0x64]
movzx esi, word [esp + 0x34]
mov byte [esp + 0x91], ah
mov word [esp + 0x92], cx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov dl, byte [esp + 0x36]
lea ecx, [esp + 0xa0]
mov dword [esp + 0xa0], ebx
mov byte [esp + 0xa4], al
mov word [ecx + 5], si
mov byte [ecx + 7], dl
lea ecx, [esp + 0x1ac]
lea edx, [esp + 0x90]
call fcn.00428a77
cmp byte [esp + 0x1ac], 5
mov eax, dword [esp + 8]
jne 0x453321
mov bl, byte [esp + 0x1c0]
lea eax, [esp + 0x1b0]
lea edi, [esp + 0x2d8]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov ecx, edi
movsd qword [esp + 0x1e0], xmm1
movsd qword [esp + 0x1d8], xmm0
mov edx, dword [esp + 0x1e0]
add edx, 8
call fcn.00421c1c
mov ecx, edi
mov edx, 0x53b090
call fcn.00456059
mov ecx, dword [esp + 0x1d8]
mov bh, dl
mov edx, dword [esp + 0x1dc]
mov esi, eax
add eax, 0x128
mov dword [esp + 0x2d8], ecx
mov ecx, edi
mov dword [esp + 0x2dc], edx
mov dword [esp + 0x2e0], eax
call fcn.004226aa
mov al, byte [eax + 0xe4]
movzx edx, bh
mov ecx, esi
mov byte [esp + 0x10], al
call fcn.004ddfbd
test bl, bl
lea edi, [esp + 0x1d8]
je 0x4525e7
cmp byte [esp + 0x10], 0
je 0x4525e7
lea ecx, [esp + 0x2d8]
mov edx, edi
call fcn.0042aa5a
mov esi, dword [esp + 0x40]
mov ecx, esi
call fcn.004551ee
mov eax, dword [esp + 0x2e0]
movsd xmm0, qword [esp + 0x2d8]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
lea ebx, [esp + 0x90]
mov edx, edi
mov ecx, ebx
call fcn.0042aa5a
lea eax, [esp + 0x1b0]
lea ecx, [esp + 0x1f8]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0xa0]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov byte [esp + 0x9c], 0
lea eax, [esp + 0x700]
movsd xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x3c8], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x3c0], xmm1
movsd qword [esp + 0x3b0], xmm0
movsd xmm0, qword [esp + 0x98]
movsd qword [esp + 0x3b8], xmm0
movsd xmm0, qword [esp + 0x3b0]
movsd xmm1, qword [esp + 0x3b8]
movsd qword [esp + 0x6f0], xmm0
movsd xmm0, qword [esp + 0x3c0]
movsd qword [ecx + 8], xmm1
movsd qword [esp + 0x700], xmm0
movsd xmm0, qword [esp + 0x3c8]
movsd qword [esp + 0x708], xmm0
movsd xmm0, qword [esp + 0x3b8]
movsd qword [esp + 0x6f8], xmm0
movsd xmm0, qword [esp + 0x3b0]
movsd xmm1, qword [eax + 8]
movsd qword [ecx], xmm0
movsd xmm0, qword [eax]
lea eax, [esp + 0x1e8]
movsd qword [eax + 8], xmm1
movsd xmm1, qword [esp + 0x1d0]
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0x1c8]
mov eax, dword [esp + 0x70]
movsd qword [esp + 0x1e0], xmm1
movsd qword [esp + 0x1d8], xmm0
mov dword [ecx + 0x18], eax
movsd xmm0, qword [esp + 0x68]
mov al, byte [esp + 0x4c]
movsd qword [ecx + 0x10], xmm0
mov byte [esp + 0x214], al
mov al, byte [esp + 0x78]
lea ecx, [esp + 0x2d8]
mov byte [esp + 0x215], al
push dword [esi]
call fcn.00455691
pop eax
movzx eax, byte [esp + 0x2d8]
cmp eax, 5
je 0x452879
cmp eax, 6
je 0x454e3f
movsd xmm1, qword [esp + 0x2e0]
lea esi, [esp + 0x1f8]
movsd xmm0, qword [esp + 0x2e8]
movsd xmm2, qword [esp + 0x2d8]
lea ecx, [esp + 0x6c8]
mov eax, dword [esi + 0x18]
movsd qword [esp + 0x6d0], xmm1
movsd xmm1, qword [esi + 0x10]
movsd qword [esp + 0x6d8], xmm0
movsd qword [esp + 0x6c8], xmm2
mov dword [esp + 0x478], eax
movsd qword [esp + 0x470], xmm1
call fcn.0043636c
mov dword [esp + 0x90], eax
and dword [esp + 0xb4], 0
lea ecx, [esp + 0x470]
lea edx, [esp + 0x90]
mov dword [esp + 0xb0], 3
call fcn.004437b8
mov ecx, esi
mov esi, dword [esp + 0xc]
call fcn.00443298
lea ecx, [esp + 0x1e8]
call fcn.00455229
mov ecx, edi
call fcn.00442f81
push 3
pop edi
jmp 0x451c29
cmp dword [esp + 0x48], 0
je 0x45289b
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], edx
lea esi, [ebx + 0x128]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], esi
call fcn.004226aa
mov edx, dword [esp + 0x48]
cmp byte [eax + 0xe4], 0
je 0x45289b
mov byte [esp + 0x10], 3
mov byte [esp + 0x14], 3
jmp 0x452438
push 0x10
pop ecx
mov esi, edi
mov edi, ebx
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 4]
push esi
call fcn.0045582c
pop eax
push 3
pop edi
jmp 0x451c29
cmp byte [ebx + 0x194], 0
je 0x4528ae
mov byte [esp + 0x14], 1
jmp 0x452438
lea eax, [ebx + 0xb8]
cmp dword [eax], 0
jne 0x4523c0
mov dword [esp + 0x48], edx
mov edx, dword [ebx + 0xbc]
mov dword [esp + 0x398], eax
lea eax, [edx + 2]
mov dword [esp + 0x44], edx
mov ecx, eax
shr ecx, 0x1f
mov dword [ebx + 0xb8], ecx
mov dword [ebx + 0xbc], eax
lea ecx, [esp + 0x1d8]
push dword [ebx + 0x30]
push dword [ebx + 0x11c]
call fcn.0042a8ef
pop eax
pop ecx
lea ecx, [esp + 0x4b4]
mov edx, 0x53b1b0
call fcn.0042a157
test al, al
je 0x452925
and dword [esp + 0x1ec], 0
mov dword [esp + 0x1e8], 1
movsd xmm0, qword [esp + 0x3a0]
movsd xmm1, qword [esp + 0x3a8]
movsd qword [esp + 0x510], xmm1
movsd qword [esp + 0x508], xmm0
push 0x88
lea eax, [esp + 0x474]
push eax
lea ebx, [esp + 0x98]
push ebx
call fcn.005010b0
add esp, 0xc
lea eax, [esp + 0xa0]
movsd xmm0, qword [eax + 0x34]
movsd xmm1, qword [eax + 0x3c]
mov eax, dword [eax + 0x44]
movsd qword [esp + 0x3d0], xmm0
movsd qword [esp + 0x3d8], xmm1
mov dword [esp + 0x3e0], eax
push 0xb
pop ecx
lea ebx, [esp + 0x834]
lea esi, [esp + 0xe8]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push 0x10
pop ecx
lea edi, [esp + 0x430]
lea esi, [esp + 0x470]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xd0]
mov al, byte [esp + 0x114]
mov byte [esp + 0x10], al
call fcn.0044305d
lea ecx, [esp + 0x3d0]
mov edx, 0x53c4a8
call fcn.0042a157
lea ecx, [esp + 0x3e8]
mov edx, ebx
call fcn.004323e4
mov eax, dword [esp + 0x40c]
test eax, eax
je 0x452ad8
lea edx, [esp + 0x400]
mov ecx, dword [edx + 8]
movsd xmm0, qword [edx]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x410]
movsd qword [esp + 0x90], xmm0
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
mov ecx, 1
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
test eax, eax
cmove eax, ecx
mov ecx, 0x57f154
cmove edx, ecx
lea ecx, [esp + 0x198]
push eax
call fcn.004192cd
pop eax
lea esi, [esp + 0x90]
push esi
call fcn.00421bca
pop eax
mov eax, dword [esp + 0x1a4]
mov bl, byte [esp + 0x4c]
and dword [esp + 0x94], 0
and dword [esp + 0x98], 0
mov dword [esp + 0x90], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
mov dword [esp + 0x9c], 0x53bc34
test eax, eax
je 0x452b11
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
movsd qword [esp + 0x190], xmm1
movsd qword [esp + 0x188], xmm0
push esi
call fcn.00421bca
pop eax
jmp 0x452b35
xor eax, eax
jmp 0x4520b5
mov dword [esp + 0x90], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
and dword [esp + 0x94], 0
and dword [esp + 0x98], 0
and dword [esp + 0x1a4], 0
mov bl, byte [esp + 0x4c]
mov dword [esp + 0x9c], 0x53bc34
lea esi, [esp + 0x90]
movsd xmm0, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
movsd qword [esp + 0x190], xmm1
movsd qword [esp + 0x188], xmm0
movzx eax, byte [esp + 0x3d0]
test eax, eax
je 0x452b54
cmp eax, 7
je 0x452b54
cmp dword [esp + 0x18c], 0
je 0x4532af
mov eax, dword [esp + 0x194]
test eax, eax
je 0x452bc0
movsd xmm0, qword [esp + 0x188]
mov ecx, dword [esp + 0x190]
movsd qword [esp + 0x198], xmm0
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
cmp dword [esp + 0x19c], 0
je 0x452bb2
mov ecx, dword [esp + 0x190]
movsd xmm0, qword [esp + 0x188]
mov dword [esp + 0x2d0], ecx
movsd qword [esp + 0x2c8], xmm0
jmp 0x452bc2
lea eax, [esp + 0x198]
push eax
call fcn.00421bca
pop eax
xor eax, eax
movsd xmm1, qword [esp + 0x3d8]
mov ecx, dword [esp + 0x3e0]
lea edx, [esp + 0xd0]
movsd xmm0, qword [esp + 0x3d0]
movsd xmm2, qword [esp + 0x508]
movsd qword [edx + 8], xmm1
movsd xmm1, qword [esp + 0x2c8]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x2d0]
movsd qword [edx], xmm0
lea edx, [esp + 0xa0]
and dword [esp + 0x9c], 0
and dword [esp + 0xac], 0
movsd qword [edx + 0x10], xmm1
movsd xmm1, qword [esp + 0x510]
mov dword [edx + 0x18], ecx
mov cl, byte [esp + 0x3f8]
mov dword [esp + 0xbc], eax
movsd qword [edx + 0x20], xmm2
mov al, 3
movsd qword [edx + 0x28], xmm1
and word [esp + 0xe4], 0
mov bh, cl
cmp cl, 3
je 0x452c85
mov edi, dword [esp + 0x3f8]
mov eax, dword [esp + 0x3fc]
mov ecx, esi
lea edx, [esp + 0x418]
mov dword [esp + 0x41c], eax
mov dword [esp + 0x418], edi
call fcn.0042cb8f
mov eax, edi
cmp dword [esp + 0x3f4], 0
je 0x452d0b
movsd xmm0, qword [esp + 0x3e8]
movsd xmm1, qword [esp + 0x3f0]
lea ecx, [esp + 0x198]
movsd qword [esp + 0x2c8], xmm0
movsd qword [esp + 0x2d0], xmm1
mov edx, dword [esp + 0x2c8]
push dword [esp + 0x2cc]
mov edi, eax
call fcn.004192cd
pop eax
lea esi, [esp + 0xa0]
mov ecx, esi
call fcn.00421bbc
movsd xmm0, qword [esp + 0x198]
movsd xmm1, qword [esp + 0x1a0]
lea eax, [esp + 0x2c8]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
push eax
call fcn.00421bca
mov eax, edi
add esp, 4
cmp bh, 3
push 0x16
pop ecx
lea edi, [esp + 0x7d8]
lea esi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
jne 0x452d33
cmp al, 3
je 0x452d33
lea ecx, [esp + 0x3f8]
call fcn.00422125
mov eax, dword [esp + 0x7e4]
mov esi, dword [esp + 8]
or eax, dword [esp + 0x7f4]
jne 0x452db4
cmp byte [esp + 0x10], 3
push 3
pop edi
jne 0x452d8e
lea ecx, [esp + 0x7d8]
call fcn.004262ec
lea ecx, [esp + 0x430]
call fcn.004220c1
movzx eax, word [esp + 0x5c]
mov cl, byte [esp + 0x5e]
mov edx, dword [esp + 0x74]
mov byte [esp + 0x10], 3
mov byte [esp + 0x14], 7
mov word [esp + 0x38], ax
mov byte [esp + 0x3a], cl
jmp 0x452eee
and dword [esp + 0x94], 0
lea ecx, [esp + 0x7d8]
lea edx, [esp + 0x90]
mov dword [esp + 0x90], 1
call fcn.0042cb8f
mov eax, ebx
xor al, 1
and al, byte [esp + 0x78]
push 0x16
pop ecx
lea edi, [esp + 0xa8]
lea esi, [esp + 0x7d8]
or al, 4
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x455]
mov ecx, dword [esp + 0x430]
mov edx, dword [esp + 0x438]
mov edi, dword [esp + 0x43c]
movsd xmm0, qword [esi + 3]
mov ah, byte [esp + 0x441]
movsd xmm1, qword [esi + 0xb]
mov dword [esp + 0x394], ecx
mov cl, byte [esp + 0x440]
movsd qword [esp + 0x90], xmm0
movsd xmm0, qword [esi + 0x13]
mov dword [esp + 0x74], edx
mov dword [esp + 0x38c], edi
movsd qword [esp + 0x98], xmm1
mov byte [esp + 0x10], cl
movzx ecx, word [esi]
movsd qword [esp + 0xa0], xmm0
mov word [esp + 0x5c], cx
mov ecx, edx
xor ecx, 3
or ecx, edi
mov cl, byte [esi + 2]
mov byte [esp + 0x5e], cl
mov cl, byte [esp + 0x454]
mov byte [esp + 0x1f], cl
mov ecx, dword [esp + 0x434]
mov dword [esp + 0x390], ecx
movzx ecx, word [esp + 0x442]
mov word [esp + 0x5a], cx
mov ecx, dword [esp + 0x444]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x448]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x44c]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x450]
mov dword [esp + 8], ecx
push 0x1c
pop edx
lea ebx, [esp + 0x518]
mov ecx, edx
lea esi, [esp + 0x90]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x8f], al
movzx ecx, word [esp + 0x5c]
mov word [esp + 0x38], cx
mov ch, byte [esp + 0x5e]
mov byte [esp + 0x3a], ch
jne 0x452f6e
mov edx, dword [esp + 0x44]
mov byte [esp + 0x14], ah
push 3
pop edi
mov esi, dword [esp + 8]
movzx eax, word [esp + 0x38]
mov word [esp + 0x34], ax
mov al, byte [esp + 0x3a]
mov byte [esp + 0x36], al
mov al, byte [esp + 0x218]
mov ecx, eax
add cl, 0xfa
cmp cl, 6
jb 0x452f2b
add al, 0xfd
cmp al, 2
ja 0x452f1b
cmp al, 1
jne 0x452f2b
lea ecx, [esp + 0x218]
mov ebx, edx
call fcn.00456364
mov edx, ebx
mov eax, dword [esp + 0x204]
test eax, eax
je 0x452f47
push dword [esp + 0x200]
mov ebx, edx
call dword [eax + 0xc]
mov edx, ebx
add esp, 4
mov eax, dword [esp + 0x214]
mov dword [esp + 8], esi
test eax, eax
je 0x45319c
push dword [esp + 0x210]
mov ebx, edx
call dword [eax + 0xc]
add esp, 4
jmp 0x45319e
mov ecx, edx
lea edi, [esp + 0x300]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x2d9]
mov byte [esp + 0x370], 0
mov ecx, dword [esp + 0x6ec]
movsd xmm0, qword [esp + 0x6e4]
mov edx, dword [esp + 0x44]
movzx ebx, word [esp + 0x1c5]
mov edi, dword [esp + 0x390]
mov dword [esi + 0xa0], ecx
movsd qword [esi + 0x98], xmm0
mov byte [esp + 0x37d], 2
mov dword [esp + 0x380], edx
mov byte [esp + 0x384], al
mov al, byte [esp + 0x1c7]
mov edx, dword [esp + 0x394]
mov word [esi + 0xac], bx
mov ebx, dword [esp + 0x28]
mov byte [esi + 0xae], al
mov dword [esp + 0x2dc], edi
mov dword [esp + 0x2d8], edx
mov edi, dword [esp + 0x38c]
mov edx, dword [esp + 0x74]
mov al, byte [esp + 0x10]
mov dword [esp + 0x2e4], edi
mov dword [esp + 0x2e0], edx
mov byte [esp + 0x2e8], al
mov byte [esp + 0x2e9], ah
movzx eax, word [esp + 0x5a]
mov edi, dword [esp + 0x60]
mov word [esp + 0x2ea], ax
mov eax, dword [esp + 0x84]
add edi, 8
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x2f8], eax
mov al, byte [esp + 0x1f]
mov byte [esp + 0x2fc], al
mov al, byte [esp + 0x3a]
mov byte [esi + 0x26], al
movzx eax, word [esp + 0x38]
mov word [esi + 0x24], ax
mov eax, dword [esp + 0x230]
lea esi, [ebx + 0x128]
mov dword [esp + 0x10], eax
push 0xf0
lea eax, [esp + 0x1dc]
push eax
lea eax, [esp + 0x98]
push eax
call fcn.005010b0
add esp, 0xc
lea eax, [esp + 0x90]
lea ecx, [esp + 0x518]
mov edx, esi
push eax
push dword [esp + 0x14]
call fcn.0042a5d7
pop eax
pop ecx
mov ecx, dword [esp + 0x398]
mov eax, ebx
lea edx, [esp + 0x2d8]
add eax, 0x98
push eax
push dword [ebx + 0x194]
lea eax, [esp + 0x520]
push eax
push edi
call fcn.004560d4
add esp, 0x10
cmp al, 0xc
jne 0x4531d0
inc dword [ebx + 0x170]
mov eax, dword [ebx + 0x174]
mov edi, dword [ebx + 0x178]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
lock inc dword [eax]
jle 0x454fa6
lea ecx, [esp + 0x518]
call fcn.00422692
mov ecx, eax
call fcn.0042a9ed
mov eax, dword [esp + 0x518]
mov ecx, dword [esp + 0x51c]
mov esi, dword [esp + 0x88]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
lock inc dword [esi]
jle 0x454fa6
inc edi
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x18], edi
setbe byte [esp + 0x20]
call fcn.004ddfbd
mov edx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.004ddfbd
mov al, byte [esp + 0x14]
mov ebx, dword [esp + 0x44]
mov ecx, esi
jmp 0x453252
mov ebx, edx
mov al, byte [esp + 0x1f]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov byte [esp + 0x20], al
movzx eax, word [esp + 0x5a]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x50], edx
mov word [esp + 0x64], ax
mov dword [esp + 0x24], ecx
jmp 0x453223
mov ecx, dword [esp + 0x51c]
mov edx, dword [esp + 0x520]
mov byte [esp + 0x14], al
call fcn.00422a61
mov eax, dword [esp + 0x520]
movsd xmm0, qword [esp + 0x518]
lea ecx, [esp + 0x90]
mov dword [esp + 0x98], eax
movsd qword [esp + 0x90], xmm0
call fcn.00422bed
mov byte [esp + 0x10], 3
push 3
pop edi
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
call fcn.004ddfbd
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
call fcn.004ddfbd
cmp byte [esp + 0x10], 4
mov al, byte [esp + 0x14]
mov ecx, esi
mov dword [esp + 0x74], ebx
jne 0x45246c
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x54]
mov dl, byte [esp + 0x20]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x50]
mov ebx, edx
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1b8], eax
movzx eax, word [esp + 0x34]
mov dword [esp + 0x1bc], esi
mov byte [esp + 0x1c0], dl
mov word [ecx + 0x11], ax
mov ah, byte [esp + 0x36]
mov byte [ecx + 0x13], ah
jmp 0x452518
lea eax, [esp + 0x188]
push eax
call fcn.00421bca
pop eax
mov dword [esp + 0x188], 0x57f154
mov dword [esp + 0x18c], 1
and dword [esp + 0x190], 0
mov eax, 0x53bc34
mov dword [esp + 0x194], 0x53bc34
jmp 0x452b5f
lea ecx, [esp + 0x68]
call fcn.00442e41
lea ecx, [esp + 0x588]
call fcn.00442f3f
jmp 0x451c25
mov al, byte [esp + 0x14]
mov byte [esp + 0x1ac], 3
mov byte [esp + 0x1ad], al
mov eax, dword [esp + 8]
movsd xmm1, qword [esp + 0x1ac]
movsd xmm0, qword [esp + 0x1bc]
movsd xmm2, qword [esp + 0x1b4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
lea esi, [esp + 0x90]
mov ecx, esi
movsd qword [esp + 0x3b0], xmm1
movsd qword [esp + 0x90], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x3c0], xmm0
movsd qword [esp + 0x3b8], xmm2
movsd qword [esp + 0xa0], xmm0
movsd qword [esp + 0x98], xmm2
mov dword [esp + 0x1e0], eax
movsd qword [esp + 0x1d8], xmm1
call fcn.0043636c
mov dword [esp + 0x90], eax
and dword [esp + 0xb4], 0
lea ecx, [esp + 0x1d8]
mov edx, esi
mov dword [esp + 0xb0], 3
call fcn.004437b8
jmp 0x453437
mov eax, dword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
lea esi, [esp + 0x90]
mov byte [esp + 0x90], 2
mov dword [esp + 0x94], 2
mov ecx, esi
mov dword [esp + 0x1e0], eax
movsd qword [esp + 0x1d8], xmm0
call fcn.0043636c
mov dword [esp + 0x90], eax
and dword [esp + 0xb4], 0
lea ecx, [esp + 0x1d8]
mov edx, esi
mov dword [esp + 0xb0], 3
call fcn.004437b8
lea ecx, [esp + 0x750]
call fcn.00442f5c
lea ecx, [esp + 0x1c8]
call fcn.00442f81
jmp 0x451c25
lea eax, [ebx + 0x18]
mov dword [esp + 0x18], eax
lea eax, [ebx + 0x114]
mov dword [esp + 0x28], eax
lea eax, [ebx + 0x60]
mov dword [esp + 0x2c], eax
lea eax, [ebx + 0x125]
mov dword [esp + 0x60], eax
lea eax, [ebx + 8]
mov dword [esp + 0x30], eax
lea eax, [ebx + 0x5c]
mov dword [esp + 0x48], eax
lea eax, [ebx + 0xd8]
mov dword [esp + 0x3c], eax
lea eax, [ebx + 0xc8]
mov dword [esp + 0x40], eax
lea eax, [ebx + 0xcc]
mov dword [esp + 0x14], eax
xor eax, eax
cmp eax, 0x10
je 0x4549c3
inc eax
mov dword [esp + 0x10], eax
mov al, byte [ebx + 0x128]
test al, al
jne 0x453bfa
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x7c]
mov edx, eax
or edx, ecx
jne 0x453527
mov esi, dword [esp + 0x2c]
mov edx, dword [esi]
mov esi, dword [esi + 4]
add edx, 0xfffffffe
adc esi, 0xffffffff
cmp edi, edx
mov edi, 0
sbb edi, esi
push 3
pop edi
jb 0x4534e1
test edx, edx
je 0x453527
mov eax, dword [esp + 0x30]
cmp dword [eax], 2
je 0x4534ff
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
call fcn.00442af7
test al, al
jne 0x453603
mov byte [ebx + 0x128], 1
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
and dword [ebx + 0x64], 0
mov dword [ebx + 0x60], 5
mov byte [ebx + 0xa9], 2
mov al, 1
jmp 0x4534ac
mov dl, byte [ebx + 0x124]
mov byte [ebx + 0x124], 3
cmp dl, 3
je 0x453ad3
mov ecx, dword [esp + 0x28]
dec eax
lea esi, [esp + 0x2e9]
cmp eax, 2
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [esp + 0x2e0], xmm1
movsd qword [esp + 0x2d8], xmm0
mov byte [esp + 0x2e8], dl
mov edx, dword [esp + 0x60]
mov cl, byte [edx + 2]
movzx edx, word [edx]
mov byte [esi + 2], cl
mov word [esi], dx
jae 0x453917
mov edx, dword [esp + 0xc]
lea ecx, [esp + 0x2d8]
call fcn.00436471
test eax, eax
jne 0x453b2a
test edx, edx
je 0x453686
mov eax, dword [ebx + 0x78]
mov dword [esp + 0x1d8], edx
xor eax, 1
or eax, dword [ebx + 0x7c]
jne 0x4535c1
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 2
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x90]
push dword [esp + 0xc]
call fcn.0045b6b4
pop eax
test byte [esp + 0x90], 1
je 0x4538eb
cmp dword [esp + 0xa0], 0
je 0x4538dd
lea ecx, [esp + 0x94]
call fcn.00432a33
jmp 0x4538eb
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1d8]
push dword [esp + 0xc]
call fcn.0045c2fc
pop eax
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1ec]
mov edx, eax
xor edx, 5
or edx, ecx
je 0x453bfa
mov edx, dword [esp + 0x1d8]
mov ebx, eax
and bl, 7
cmp bl, 3
je 0x453742
mov esi, eax
and esi, 7
cmp esi, 4
jne 0x45379f
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 4]
mov edx, 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
cmp edi, eax
sbb edx, ecx
jb 0x4534a6
cmp eax, 3
je 0x453776
jmp 0x4534a6
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1d8]
push dword [esp + 0xc]
call fcn.0045b6b4
pop eax
mov eax, dword [esp + 0x1d8]
test eax, eax
je 0x453917
cmp eax, 1
jne 0x453b2a
cmp dword [esp + 0x1e8], 0
je 0x453928
lea eax, [esp + 0x1dc]
lea ecx, [esp + 0x90]
lea edx, [esp + 0x2e0]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x620]
movsd qword [esp + 0x628], xmm1
movsd qword [esp + 0x620], xmm0
push eax
call fcn.0043343f
pop eax
cmp byte [esp + 0xa0], 2
jne 0x453a67
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.0045511f
mov eax, dword [esp + 0x2e8]
movsd xmm0, qword [esp + 0x2d8]
movsd xmm1, qword [esp + 0x2e0]
mov dword [esi + 0x10], eax
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
jmp 0x4534a6
mov ebx, dword [esp + 4]
mov dword [esp + 0x90], edx
and dword [esp + 0x9c], 0
lea edx, [esp + 0x90]
mov dword [esp + 0x98], 3
mov ecx, ebx
call fcn.00443a50
test eax, eax
jne 0x453b9d
mov byte [ebx + 0x128], 1
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
and dword [ebx + 0x64], 0
mov dword [ebx + 0x60], 5
mov byte [ebx + 0xa9], 2
jmp 0x4534a6
mov esi, dword [esp + 0x1e4]
mov bl, byte [esp + 0x228]
mov dword [esp + 0x2dc], esi
mov esi, dword [esp + 0x1e0]
mov byte [esp + 8], bl
mov dword [esp + 0x2d8], esi
mov esi, dword [esp + 0x1dc]
mov dword [esp + 0x2e0], eax
mov eax, edx
mov dword [esp + 0x2e4], ecx
mov ebx, esi
or eax, esi
push 0xe
pop ecx
lea edi, [esp + 0x2e8]
lea esi, [esp + 0x1f0]
rep movsd dword es:[edi], dword [esi]
je 0x453968
mov al, byte [esp + 8]
lea ecx, [esp + 0x90]
and al, 1
movzx eax, al
push eax
push ebx
call fcn.00435d3a
pop eax
pop ecx
mov ecx, dword [esp + 0xa8]
movsd xmm0, qword [esp + 0x90]
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xa0]
movsd xmm1, qword [esp + 0x98]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x94]
movsd qword [esp + 0x620], xmm0
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x630], eax
movsd qword [esp + 0x628], xmm1
mov esi, dword [ecx + 0x20]
movsd xmm0, qword [ecx + 0x18]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x590], esi
mov esi, dword [ecx + 0x30]
movsd qword [esp + 0x588], xmm0
movsd xmm0, qword [ecx + 0x28]
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x478], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x78], ecx
movsd qword [esp + 0x470], xmm0
mov ecx, esi
call fcn.0045511f
mov eax, dword [esp + 0x630]
movsd xmm0, qword [esp + 0x620]
movsd xmm1, qword [esp + 0x628]
mov dword [esi + 0x10], eax
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
jmp 0x453980
lea eax, [esp + 0x94]
push eax
call fcn.00442ab5
pop eax
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x453909
cmp eax, 3
je 0x453909
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
mov byte [ebx + 0xa9], 2
lea eax, [esp + 0x1d8]
push eax
call fcn.00443153
pop eax
lea ecx, [esp + 0x2d8]
call fcn.004553da
jmp 0x4534a6
mov ebx, dword [esp + 0x1e0]
mov esi, dword [esp + 0x1dc]
push 8
pop ecx
call fcn.0043334b
mov edi, eax
mov ecx, eax
mov edx, esi
push ebx
mov ebx, dword [esp + 8]
call fcn.00436424
pop ecx
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x2e8]
push edi
push 3
pop edi
call fcn.00436683
jmp 0x453916
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x4c], 0
mov ebx, dword [esp + 4]
test byte [esp + 8], 2
je 0x4539d8
call fcn.004355fd
cmp dword [ebx + 0x58], 0
mov edi, eax
mov esi, edx
je 0x4539a3
mov ecx, dword [esp + 0x48]
call fcn.004355d7
xor edx, edx
mov dword [ebx + 0x58], 1
mov dword [ebx + 0x5c], edi
lea ecx, [esp + 0x318]
inc edx
push esi
call fcn.0045755b
pop ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
call fcn.00457605
push 0x12
pop ecx
lea edx, [esp + 0x90]
lea esi, [esp + 0x2d8]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x94]
mov eax, dword [esp + 0x590]
movsd xmm0, qword [esp + 0x588]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x478]
movsd qword [ecx + 0x48], xmm0
movsd xmm0, qword [esp + 0x470]
mov dword [ecx + 0x60], eax
mov eax, dword [esp + 0x20]
movsd qword [ecx + 0x58], xmm0
mov ecx, ebx
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xfc], eax
call fcn.00443a50
test eax, eax
jne 0x453b9d
push 3
pop edi
jmp 0x4534a6
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x90]
test eax, eax
je 0x454f4e
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x90], ecx
mov ecx, dword [ebx + 0x78]
dec ecx
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], edx
mov dword [esp + 0x9c], eax
cmp ecx, 2
jae 0x453ac2
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
mov byte [ebx + 0xa9], 2
lea ecx, [esp + 0x90]
call fcn.00432a33
jmp 0x453917
mov edx, eax
xor edx, 4
or edx, ecx
je 0x453bfa
or eax, ecx
je 0x453b5f
cmp byte [ebx + 0xaa], 0
mov edi, 1
jne 0x453be7
cmp dword [ebx + 0xb8], 0
jne 0x453be7
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1d8]
push dword [esp + 0xc]
call fcn.0045c266
pop eax
cmp byte [esp + 0x1d8], 5
jne 0x453ba1
xor edi, edi
inc edi
jmp 0x453be7
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.0045511f
mov eax, dword [esp + 0x2e8]
movsd xmm0, qword [esp + 0x2d8]
movsd xmm1, qword [esp + 0x2e0]
mov dword [esi + 0x10], eax
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
jmp 0x453bfa
mov ecx, dword [esp + 0x2c]
mov edx, 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
cmp edi, eax
sbb edx, ecx
jb 0x453ae4
test eax, eax
jne 0x453ae4
cmp dword [ebx + 0xb8], 0
je 0x454822
xor edi, edi
call fcn.0043675d
mov esi, eax
jmp 0x453be7
mov esi, eax
jmp 0x453be5
mov ecx, dword [esp + 0x1dc]
mov eax, dword [esp + 0x1d8]
lea edx, [esp + 0x90]
mov dword [esp + 0x94], ecx
lea ecx, [esp + 0x2d8]
mov dword [esp + 0x90], eax
call fcn.0045c2d5
cmp dword [esp + 0x2d8], 0
je 0x45480b
mov esi, dword [esp + 0x2dc]
xor edi, edi
test edi, edi
jne 0x453bf7
test esi, esi
push 3
pop edi
je 0x453bfa
jmp 0x454d2c
push 3
pop edi
cmp byte [ebx + 0x128], 0
jne 0x454912
mov eax, dword [ebx + 0x110]
cmp dword [eax], 0
jne 0x453c21
mov eax, dword [ebx + 0x78]
xor eax, 4
or eax, dword [ebx + 0x7c]
jne 0x453d78
cmp byte [ebx + 0x108], 0
jne 0x453c55
cmp byte [ebx + 0xec], 0
je 0x453c40
cmp dword [ebx + 0xe4], 0xf
ja 0x4541a0
mov ecx, dword [esp + 0x40]
call fcn.0045a0b8
cmp eax, dword [ebx + 0xe8]
jae 0x4541a0
mov eax, dword [ebx + 0x60]
mov ecx, dword [ebx + 0x64]
mov ebx, dword [ebx + 0x110]
mov edx, 0
add eax, 0xfffffffe
lea esi, [ebx + 4]
adc ecx, 0xffffffff
cmp edi, eax
sbb edx, ecx
mov ecx, dword [ebx]
setb dl
cmp eax, 1
sete al
or al, dl
test ecx, ecx
cmove esi, ecx
je 0x45417e
mov cl, 1
test al, al
je 0x453d65
lea ecx, [esp + 0x90]
mov edx, esi
push dword [esp + 0xc]
call fcn.004444e0
pop eax
cmp dword [esp + 0x90], 2
je 0x4547b1
movsd xmm0, qword [esp + 0x90]
mov eax, dword [esp + 0xa0]
movsd xmm1, qword [esp + 0x98]
movsd qword [esp + 0x620], xmm0
mov dword [esp + 0x630], eax
movsd qword [esp + 0x628], xmm1
cmp dword [esp + 0x620], 0
je 0x4541c2
mov eax, dword [esp + 0x630]
mov ecx, dword [esp + 0x624]
test eax, eax
je 0x4547b8
mov edx, dword [esp + 0x628]
mov edi, dword [esp + 0x62c]
mov dword [esp + 0x588], ecx
mov ecx, esi
mov dword [esp + 0x58c], edx
mov dword [esp + 0x590], edi
mov dword [esp + 0x594], eax
call fcn.004597f3
mov esi, dword [esp + 0x58c]
test al, al
jne 0x4541f7
test esi, esi
jne 0x45430e
lea ecx, [esp + 0x588]
call fcn.00432a33
xor ecx, ecx
push 3
pop edi
movzx edx, cl
mov ecx, ebx
call fcn.0045b3eb
mov ebx, dword [esp + 4]
jmp 0x453bfa
mov ecx, dword [esp + 0x2c]
mov edx, 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
cmp edi, eax
sbb edx, ecx
jb 0x453c21
test eax, eax
jne 0x453c21
mov ecx, dword [esp + 0x3c]
call fcn.0045a2d5
test eax, eax
jne 0x453c21
mov eax, dword [esp + 0x30]
cmp dword [eax], 2
jne 0x453c21
mov eax, dword [esp + 0xc]
mov edx, dword [ebx]
lea ecx, [esp + 0x90]
push dword [eax]
push dword [ebx + 4]
call fcn.00442d10
pop eax
pop ecx
mov eax, dword [esp + 0xa8]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x4548be
cmp eax, 4
je 0x454912
push 0x98
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x1e0]
push eax
call fcn.005010b0
add esp, 0xc
lea ecx, [esp + 0x94]
mov edx, dword [esp + 0xc]
mov eax, dword [ecx + 0x9c]
movsd xmm0, qword [ecx + 0x94]
lea ecx, [esp + 0x3e8]
mov dword [esp + 0x3f0], eax
movsd qword [esp + 0x3e8], xmm0
call fcn.00442af7
test al, al
je 0x4548c4
movsd xmm0, qword [esp + 0x1e8]
movsd xmm1, qword [esp + 0x1e0]
mov eax, dword [esp + 0x1f4]
mov ebx, dword [esp + 0x1f0]
movsd qword [esp + 0x7e8], xmm0
movsd xmm0, qword [esp + 0x1d8]
movsd qword [esp + 0x7e0], xmm1
mov dword [esp + 8], eax
movsd qword [esp + 0x7d8], xmm0
push 0xc
pop ecx
lea edi, [esp + 0x750]
lea esi, [esp + 0x1f8]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x228]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x1dc]
movsd xmm0, qword [eax + 0x54]
movsd xmm1, qword [eax + 0x5c]
mov al, byte [esp + 0x26c]
movsd qword [esp + 0x470], xmm0
movsd xmm0, qword [esp + 0x7e8]
movsd qword [esp + 0x478], xmm1
movsd xmm1, qword [esp + 0x1e0]
mov byte [esp + 0x44], al
lea eax, [esp + 0x713]
movsd qword [esp + 0x65c], xmm0
movsd xmm0, qword [esp + 0x1d8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
push 0xb
pop ecx
lea esi, [esp + 0x240]
lea edi, [esp + 0x480]
rep movsd dword es:[edi], dword [esi]
push 0xf
pop ecx
lea esi, [esp + 0x470]
lea edi, [esp + 0x620]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x3f0]
movsd xmm0, qword [esp + 0x3e8]
mov ecx, esi
mov dword [esp + 0x478], eax
movsd qword [esp + 0x470], xmm0
call fcn.00442f52
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x478]
movsd xmm0, qword [esp + 0x470]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
push 0x11
pop ecx
lea edi, [esp + 0x588]
lea esi, [esp + 0x620]
mov eax, ebx
rep movsd dword es:[edi], dword [esi]
xor eax, 3
or eax, edx
push 0xc
pop ecx
lea edi, [esp + 0x518]
lea esi, [esp + 0x750]
rep movsd dword es:[edi], dword [esi]
je 0x4548de
mov eax, ebx
xor eax, 4
or eax, edx
je 0x45490b
push 0x11
pop ecx
lea edi, [esp + 0x2dc]
lea esi, [esp + 0x588]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x71f]
movsd xmm0, qword [esp + 0x710]
movsd xmm1, qword [esp + 0x718]
mov dword [esp + 0x43f], eax
mov eax, dword [esp + 0x50]
movsd qword [esp + 0x438], xmm1
movsd qword [esp + 0x430], xmm0
mov dword [esp + 0x2d8], eax
mov dword [esp + 0x324], edx
mov dword [esp + 0x320], ebx
push 0xc
pop ecx
lea edi, [esp + 0x328]
lea esi, [esp + 0x518]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x2e9]
mov eax, dword [esp + 0x54]
mov dh, byte [esp + 0x44]
movzx esi, word [esp + 0x710]
mov dl, byte [esp + 0x712]
and dword [esp + 0x9c], 0
mov dword [esp + 0x358], eax
mov byte [esp + 0x35c], dh
mov word [ecx + 0x74], si
mov byte [ecx + 0x76], dl
lea ecx, [esp + 0x433]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
lea ecx, [esp + 0x90]
movsd qword [esp + 0x1e0], xmm1
movsd qword [esp + 0x1d8], xmm0
call fcn.00433d3c
cmp dword [esp + 0x1e4], 0
je 0x4546ae
cmp dword [esp + 0x1dc], 0
lea edx, [esp + 0x1d8]
je 0x4546d1
lea ecx, [esp + 0x90]
call fcn.0045602a
mov eax, dword [esp + 0x90]
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
movsd xmm1, qword [esp + 0x1e0]
movsd xmm0, qword [esp + 0x1d8]
mov dword [esp + 8], 0
or eax, dword [esp + 0x94]
movsd qword [esp + 0x98], xmm1
movsd qword [esp + 0x90], xmm0
sete al
xor ecx, edi
xor edx, ebx
or edx, ecx
setne cl
or cl, al
movzx eax, cl
mov ecx, dword [esp + 4]
mov dword [esp + 0x20], eax
mov esi, dword [ecx + 0x110]
mov ecx, esi
call fcn.004797f1
mov dword [esi], 1
xor eax, eax
movsd xmm0, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
movsd qword [esi + 4], xmm0
movsd qword [esi + 0xc], xmm1
mov esi, dword [esp + 0x20]
jmp 0x4546fb
xor ecx, ecx
test al, al
je 0x4547b3
mov ecx, dword [esp + 0x18]
call fcn.0045b334
test eax, eax
jne 0x4547e9
xor ecx, ecx
jmp 0x453d65
mov edx, dword [esp + 0xc]
mov ecx, ebx
call fcn.004598cc
test eax, eax
jne 0x454912
mov esi, edx
test edx, edx
je 0x453bfa
jmp 0x4547f1
mov ecx, dword [esp + 0x18]
call fcn.0045b334
mov esi, eax
test eax, eax
mov eax, dword [esp + 0x620]
jne 0x4547f5
mov cl, 1
test eax, eax
je 0x453d65
lea ecx, [esp + 0x624]
call fcn.0045b3fc
jmp 0x4547aa
test esi, esi
je 0x4543cf
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov edx, eax
mov dword [esp + 8], edi
add edx, 0xfffffffe
adc edi, 0xffffffff
push 3
pop ecx
cmp ecx, edx
mov ecx, 0
sbb ecx, edi
mov edi, dword [esp + 0x588]
jb 0x454232
cmp edx, 1
jne 0x454ed9
movsd xmm0, qword [esp + 0x590]
or eax, dword [esp + 8]
movsd qword [esp + 0x470], xmm0
je 0x454502
mov eax, dword [esp + 4]
mov dword [esp + 8], edi
mov edi, dword [eax + 0x68]
mov ecx, dword [eax + 0x6c]
xor eax, eax
mov edx, edi
xor edx, esi
or edx, ecx
mov edx, 0
setne al
cmp esi, edi
sbb edx, ecx
mov edx, 0xff
cmovb eax, edx
test al, al
je 0x4545cb
movzx eax, al
cmp eax, 1
jne 0x454611
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x594]
mov edx, dword [esp + 0x590]
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], esi
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x1e0], edx
mov dword [esp + 0x1e8], edi
cmp byte [ecx + 0xec], 0
je 0x45473c
mov eax, dword [esp + 0x1e8]
movsd xmm0, qword [esp + 0x1d8]
movsd xmm1, qword [esp + 0x1e0]
lea ecx, [esp + 0x94]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov dword [esp + 0x90], 1
jmp 0x4545b9
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, eax
mov esi, ecx
add edx, 0xfffffffe
adc esi, 0xffffffff
push 3
pop edi
movsd xmm0, qword [esp + 0x588]
movsd xmm1, qword [esp + 0x590]
cmp edi, edx
mov edi, 0
sbb edi, esi
movsd qword [esp + 0x1e0], xmm1
movsd qword [esp + 0x1d8], xmm0
jb 0x45435c
cmp edx, 1
jne 0x454e9b
mov esi, dword [esp + 0x588]
mov edx, dword [esp + 0x58c]
movsd xmm0, qword [esp + 0x1e0]
or eax, ecx
mov dword [esp + 0x750], esi
mov dword [esp + 0x754], edx
movsd qword [esp + 0x518], xmm0
je 0x4543f8
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x6c]
cmp eax, edx
mov esi, ecx
sbb esi, 0
jae 0x454438
mov ecx, dword [esp + 0x750]
and dword [edi + 0x6c], 0
and dword [edi + 0x68], 0
mov dword [esp + 0x24], eax
xor eax, eax
lea esi, [esp + 0x518]
inc eax
mov dword [esp + 0x20], eax
mov dword [esp + 8], ecx
jmp 0x45445d
mov ecx, dword [esp + 0x18]
call fcn.0045b334
lea ecx, [esp + 0x588]
mov esi, eax
call fcn.00432a33
mov cl, 1
test esi, esi
push 3
pop edi
je 0x453d65
jmp 0x4547bf
lea ecx, [esp + 0x470]
call fcn.004372fa
mov eax, dword [esp + 0x518]
mov ecx, dword [esp + 0x51c]
lea esi, [esp + 0x750]
mov dword [esp + 8], 0x53c0df
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], ecx
push 2
pop ecx
mov edi, dword [esp + 4]
mov edx, ecx
mov dword [esp + 0x20], ecx
jmp 0x45445d
sub eax, edx
mov dword [esp + 0x20], 0
lea esi, [esp + 0x518]
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x750]
sbb ecx, 0
mov dword [edi + 0x6c], ecx
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x478]
movsd xmm0, qword [esp + 0x470]
lea eax, [esp + 0x94]
mov dword [eax + 0x20], ecx
movsd qword [eax + 0x18], xmm0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 8]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esi]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xa4], edx
lea edx, [esp + 0x90]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x40]
call fcn.0045b410
mov eax, dword [edi + 0x60]
or eax, dword [edi + 0x64]
je 0x453d60
mov eax, dword [edi + 0x6c]
or eax, dword [edi + 0x68]
jne 0x453d60
xor eax, eax
cmp byte [edi + 0x70], 0
sete al
and dword [edi + 0x64], 0
xor eax, 5
mov dword [edi + 0x60], eax
jmp 0x453d60
lea ecx, [esp + 0xa0]
mov edx, esi
call fcn.004372fa
mov eax, dword [esp + 0x470]
mov ecx, dword [esp + 0x474]
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], esi
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], eax
lea ecx, [esp + 0x1e0]
mov eax, dword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa0]
movsd xmm2, qword [esp + 0x98]
movsd xmm1, qword [esp + 0x90]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 4]
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm2
movsd qword [ecx], xmm1
mov dword [esp + 0x1d8], 0x53c0d3
mov dword [esp + 0x1dc], 7
cmp byte [eax + 0xec], 0
je 0x454657
push 9
pop ecx
lea edi, [esp + 0x94]
lea esi, [esp + 0x1d8]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x90], 2
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x90]
call fcn.0045b4cc
jmp 0x454609
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x594]
mov edx, dword [esp + 0x590]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x98], edx
lea edx, [esp + 0x90]
call fcn.0045b634
push 3
pop edi
jmp 0x45478c
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x594]
mov edx, dword [esp + 0x590]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x98], edx
lea edx, [esp + 0x90]
call fcn.0045b634
push 3
pop edi
jmp 0x454796
lea ecx, [esp + 0x1d8]
call fcn.00444820
mov ecx, dword [esp + 0x40]
mov edx, eax
call fcn.004373ac
push 3
pop edi
lea ecx, [esp + 0x1d8]
call fcn.0045b509
test edx, edx
je 0x4546a2
mov ecx, dword [esp + 0x14]
mov esi, edx
mov edx, eax
add edx, esi
push eax
call fcn.00419104
pop eax
lea ecx, [esp + 0x1d8]
mov edx, esi
call fcn.0045a1c7
jmp 0x454671
lea ecx, [esp + 0x1e0]
jmp 0x454787
mov eax, dword [esp + 0x1dc]
push dword [esp + 0x1d8]
call dword [eax + 0x14]
add esp, 4
test al, al
lea edx, [esp + 0x1d8]
je 0x4540c9
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x110]
mov ecx, esi
call fcn.004797f1
and dword [esi], 0
xor eax, eax
mov cl, 1
mov dword [esp + 8], ecx
push 2
pop esi
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x88]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x2d8]
mov dword [esp + 0x88], edi
push edi
mov dword [esp + 0x68], ebx
push ebx
push eax
push esi
call fcn.0045a308
add esp, 0x10
cmp byte [esp + 8], 0
je 0x454730
lea ecx, [esp + 0x1d8]
call fcn.00442f81
mov ebx, dword [esp + 4]
push 3
pop edi
jmp 0x453bfa
mov ecx, dword [esp + 0x40]
cmp esi, edi
cmovb edi, esi
mov edx, edi
call fcn.004373ac
push 3
pop edi
lea ecx, [esp + 0x1d8]
call fcn.0045a2a3
test edx, edx
je 0x454780
mov ecx, dword [esp + 0x14]
mov esi, edx
mov edx, eax
add edx, esi
push eax
call fcn.00419104
pop eax
lea ecx, [esp + 0x1d8]
mov edx, esi
call fcn.0045a19c
jmp 0x45474f
lea ecx, [esp + 0x1d8]
call fcn.00432a33
mov eax, dword [esp + 4]
cmp byte [eax + 0x70], 0
je 0x45479c
xor eax, eax
push 5
jmp 0x4547a0
xor eax, eax
push 4
pop ecx
mov edx, dword [esp + 0x2c]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov cl, 1
jmp 0x453d65
xor ecx, ecx
xor edi, edi
inc edi
jmp 0x4547c3
call fcn.0045989d
mov esi, eax
xor edi, edi
mov cl, 1
movzx edx, cl
mov ecx, ebx
call fcn.0045b3eb
mov ebx, dword [esp + 4]
test edi, edi
jne 0x45490f
test esi, esi
push 3
pop edi
je 0x454912
jmp 0x454d2c
mov esi, eax
xor edi, edi
xor ecx, ecx
jmp 0x4547c3
xor edi, edi
jmp 0x4547d1
xor edi, edi
mov cl, 1
test eax, eax
je 0x4547c3
lea ecx, [esp + 0x624]
call fcn.0045b3fc
jmp 0x4547c1
xor edi, edi
cmp dword [esp + 0x2dc], 0
je 0x454948
xor esi, esi
jmp 0x453be7
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1d8]
push dword [esp + 0xc]
call fcn.0045c266
pop eax
cmp byte [esp + 0x1d8], 5
je 0x453b22
mov ecx, dword [esp + 0x1dc]
mov eax, dword [esp + 0x1d8]
lea edx, [esp + 0x90]
mov dword [esp + 0x94], ecx
lea ecx, [esp + 0x2d8]
mov dword [esp + 0x90], eax
call fcn.0045c2d5
cmp dword [esp + 0x2d8], 0
jne 0x453bde
cmp dword [esp + 0x2dc], 0
jne 0x453b92
xor edi, edi
cmp byte [ebx + 0xa9], 0
mov esi, 0
je 0x4548a7
call fcn.00436754
mov esi, eax
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
mov byte [ebx + 0xa9], 2
jmp 0x453be7
mov byte [ebx + 0x14], 1
jmp 0x4548e5
lea ecx, [esp + 0x3e8]
call fcn.00442e41
lea ecx, [esp + 0x1d8]
call fcn.00442f3f
jmp 0x4548e5
mov ebx, dword [esp + 4]
push 3
pop edi
mov byte [ebx + 0x128], 1
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
and dword [ebx + 0x64], 0
mov dword [ebx + 0x60], 5
mov byte [ebx + 0xa9], 2
jmp 0x454912
mov ebx, dword [esp + 4]
push 3
pop edi
mov edx, dword [esp + 0xc]
mov ecx, ebx
call fcn.004598cc
test eax, eax
jne 0x45492b
mov esi, edx
test edx, edx
jne 0x454d2c
cmp byte [ebx + 0xb3], 0
mov eax, dword [esp + 0x10]
mov byte [ebx + 0xb3], 0
jne 0x453498
jmp 0x4549d9
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
mov byte [ebx + 0xa9], 2
call fcn.00436754
jmp 0x453b99
cmp eax, 6
jne 0x45496e
jmp 0x454a66
mov byte [esp + 0x1d8], al
lea eax, [esp + 0x2d9]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x1e1], xmm1
movsd xmm1, qword [eax + 0xf]
mov eax, dword [esp + 4]
movsd qword [esp + 0x1d9], xmm0
mov ecx, dword [eax + 0x50]
movsd qword [esp + 0x1e8], xmm1
call fcn.00436e8e
test eax, eax
je 0x454a3c
mov ebx, eax
push 2
pop edi
jmp 0x454a5a
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 8]
add esp, 4
jmp 0x454a6b
cmp byte [ebx + 0x128], 0
jne 0x4549ed
mov eax, dword [ebx + 0x78]
xor eax, 4
or eax, dword [ebx + 0x7c]
jne 0x454a6b
mov eax, dword [ebx + 0x58]
mov edi, ebx
mov ebx, dword [ebx + 0x5c]
and dword [edi + 0x58], 0
test eax, eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], ebx
je 0x454c92
mov esi, dword [edi + 0x90]
and dword [edi + 0x90], 0
mov dword [esp + 0x90], ebx
test esi, esi
je 0x454a83
lea ecx, [esp + 0x90]
call fcn.00455449
mov ebx, dword [esp + 4]
jmp 0x454d2c
lea ecx, [esp + 0x1d8]
call fcn.00428a1a
test eax, eax
je 0x454c53
test edx, edx
jne 0x454c53
xor edi, edi
lea ecx, [esp + 0x1d8]
call fcn.00455804
cmp edi, 3
jne 0x454a72
mov al, 2
jmp 0x454e15
test edi, edi
je 0x454dd2
cmp edi, 2
je 0x454dd4
mov edi, dword [esp + 0x1a8]
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
and dword [edi + 0x24], 0
mov dword [edi + 0x20], 5
mov edx, eax
and edx, 6
cmp edx, 4
je 0x454f71
movsd xmm1, qword [edi + 0x10]
lea esi, [esp + 0x878]
movsd xmm0, qword [edi + 0x18]
movsd xmm2, qword [edi]
movsd qword [esi - 8], xmm1
movsd xmm1, qword [edi + 8]
movsd qword [esi], xmm0
movsd qword [esi - 0x18], xmm2
movsd qword [esi - 0x10], xmm1
mov dword [esi + 8], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x888]
push 0x108
push dword [esp + 0x3a0]
push eax
call fcn.005010b0
add esp, 0xc
lea eax, [esp + 0x90]
push 0xf8
push esi
push eax
call fcn.005010b0
add esp, 0xc
lea eax, [esp + 0x130]
push 0x15
pop ecx
lea edx, [esp + 0x1d8]
mov esi, eax
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x2e4]
mov ecx, dword [edx + 0x40]
movsd xmm0, qword [edx + 0x38]
movsd xmm2, qword [eax]
movsd xmm1, qword [eax + 8]
lea edx, [esp + 0x620]
mov dword [edi - 4], ecx
mov ecx, edi
movsd qword [edi - 0xc], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
call fcn.004555c7
lea ecx, [esp + 0x1e8]
call fcn.00455076
lea esi, [esp + 0x90]
mov ecx, esi
call fcn.004550e9
mov eax, dword [edi - 4]
movsd xmm0, qword [edi - 0xc]
movsd xmm1, qword [edi + 8]
movsd xmm2, qword [edi]
lea edi, [esp + 0xac]
lea ecx, [esp + 0x974]
mov dword [esi + 0x18], eax
lea eax, [esp + 0x888]
movsd qword [esi + 0x10], xmm0
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm2
movsd xmm1, qword [eax - 0x20]
movsd xmm2, qword [eax - 0x28]
movsd qword [edi + 8], xmm1
movsd xmm1, qword [eax - 0x18]
movsd qword [edi], xmm2
movsd qword [edi + 0x10], xmm1
call fcn.0045511f
lea ecx, [esp + 0x970]
call fcn.0045512a
mov eax, dword [edi - 4]
movsd xmm0, qword [edi - 0xc]
movsd xmm2, qword [edi - 0x1c]
movsd xmm1, qword [edi - 0x14]
lea esi, [esp + 0x1e8]
mov ecx, edi
mov dword [esp + 0x428], eax
movsd qword [esp + 0x420], xmm0
movsd qword [esi - 8], xmm1
movsd qword [esi - 0x10], xmm2
call fcn.0045510c
push 0xc
pop ecx
push 4
pop edx
call fcn.00423cc6
movsd xmm0, qword [esp + 0x420]
lea edx, [esp + 0x1d8]
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x428]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [esi], eax
mov dword [esi + 4], 0x53c8fc
call fcn.0043695e
jmp 0x454dd2
movsd xmm0, qword [esp + 0x1e8]
movsd xmm2, qword [esp + 0x1d8]
movsd xmm1, qword [esp + 0x1e0]
lea ecx, [esp + 0x90]
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
call fcn.0043636c
mov ebx, eax
push 2
pop edi
jmp 0x454a66
mov eax, dword [edi + 0xf4]
push dword [esp + 0xc]
push dword [edi + 0xf0]
lea ecx, [esp + 0x98]
push ecx
call dword [eax + 0x18]
add esp, 0xc
movzx eax, byte [esp + 0x90]
cmp eax, 4
je 0x454d09
cmp eax, 5
je 0x454a6b
movzx ecx, byte [esp + 0x97]
movzx ebx, word [esp + 0x95]
mov edi, dword [esp + 0x91]
movzx eax, al
shl ecx, 0x10
or ebx, ecx
shld ebx, edi, 8
shl edi, 8
or edi, eax
push 0xa
pop ecx
call fcn.0043334b
mov esi, eax
mov ecx, eax
mov edx, edi
push ebx
mov ebx, dword [esp + 8]
call fcn.00436424
pop ecx
jmp 0x454d2c
lea ecx, [esp + 0x1d8]
mov ebx, edi
call fcn.0045543b
mov esi, dword [edi + 0x90]
and dword [edi + 0x90], 0
test esi, esi
je 0x454dd2
mov cl, byte [ebx + 0x124]
mov byte [ebx + 0x124], 3
cmp cl, 3
je 0x454db1
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x90]
mov byte [esp + 0x30], cl
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movzx eax, word [ebx + 0x125]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
mov byte [edx + 0x10], cl
mov word [edx + 0x11], ax
mov al, byte [ebx + 0x127]
mov byte [edx + 0x13], al
push 8
pop ecx
call fcn.0043334b
mov edi, eax
mov ecx, eax
mov edx, 0x53c0e1
push 0x10
call fcn.00433222
pop ecx
lea eax, [esp + 0x90]
movzx edx, byte [esp + 0x30]
mov ecx, dword [eax + 8]
push edi
call fcn.00436683
pop eax
lea ecx, [esp + 0x90]
call fcn.004553da
lea edx, [esp + 0x90]
mov ecx, ebx
mov dword [edx], esi
and dword [edx + 0xc], 0
mov dword [edx + 8], 3
call fcn.00443a50
mov ebx, eax
test eax, eax
jne 0x454dd4
xor ebx, ebx
mov esi, dword [esp + 0x1a8]
mov eax, dword [esi + 0x20]
xor eax, 6
or eax, dword [esi + 0x24]
je 0x454f1f
mov ecx, esi
call fcn.00454fba
and dword [esi + 0x24], 0
test ebx, ebx
mov dword [esi + 0x20], 6
je 0x454e10
lea eax, [esp + 0x860]
mov dword [eax], ebx
push eax
call fcn.00443153
pop eax
test ebx, ebx
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
jmp 0x454969
mov eax, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov ecx, dword [eax + 0x54]
call fcn.00435c36
movzx eax, al
lea edi, [eax + eax*2]
jmp 0x454969
push 0x10
pop ebx
lea edi, [esp + 0x90]
lea esi, [esp + 0x1d8]
mov ecx, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.004551f9
mov ecx, ebx
lea esi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
push 3
pop edi
jmp 0x454969
push 0x36
pop edx
mov ecx, str.Map_must_not_be_polled_after_it_returned__Poll::Ready_.cargo_registry_srcindex.crates.io_1cd66030c949c28d_futures_util_0.3.29_src_future_futuremap.rs
push 0x539b28
call fcn.0050f4b1
jmp 0x454f4b
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x53d9fc
jmp 0x454f46
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x90]
lea edx, [esp + 0x470]
mov dword [ecx + 8], 0x53be8c
mov dword [esp + 0x470], eax
xor eax, eax
mov dword [esp + 0x474], 0x4370fc
inc eax
mov dword [ecx + 0xc], eax
and dword [ecx], 0
mov dword [ecx + 0x10], edx
mov edx, 0x53be94
jmp 0x454f15
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x90]
lea edx, [esp + 0x1d8]
mov dword [ecx + 8], 0x53be8c
mov dword [esp + 0x1d8], eax
xor eax, eax
mov dword [esp + 0x1dc], 0x4370fc
inc eax
mov dword [ecx + 0xc], eax
and dword [ecx], 0
mov dword [ecx + 0x10], edx
mov edx, 0x53bf4c
mov dword [ecx + 0x14], eax
call fcn.0050d4d0
ud2
and dword [esi + 0x24], 0
mov dword [esi + 0x20], 6
push 0x28
pop edx
mov ecx, 0x57fa2a
push 0x539b38
jmp 0x454f46
push 0x28
pop edx
mov ecx, 0x57fa2a
push 0x53c6d4
call fcn.0050d590
pop eax
ud2
mov dword [esp + 0x620], ecx
push 0xc
pop edx
mov ecx, str.just_sent_OkS
push 0x528c00
push 0x528214
lea eax, [esp + 0x628]
push eax
jmp 0x454f9c
mov ecx, ebx
call fcn.004554f9
mov ecx, 0x53da20
mov edx, 0x53da28
call fcn.0043764f
ud2
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x5293f0
push 0x528284
push edi
call fcn.0050d740
add esp, 0xc
ud2
ud2