Function at 0x44f04d
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, 0x990
mov eax, dword [ecx + 0x20]
mov esi, dword [ecx + 0x24]
mov edi, eax
xor edi, 7
or edi, esi
je 0x4521ac
mov edi, eax
xor edi, 6
or edi, esi
je 0x4521ac
mov edi, eax
mov dword [esp + 0x10], edx
xor edi, 5
or edi, esi
je 0x4521c3
xor eax, 4
lea edx, [ecx + 0x28]
mov ebx, ecx
or eax, esi
mov dword [esp + 0x394], edx
cmove ebx, edx
push 3
pop edi
mov dword [esp + 0x1a8], ecx
mov dword [esp + 4], ebx
jne 0x450808
lea ecx, [ebx + 0x34]
lea eax, [ebx + 0x58]
mov dword [esp + 0x1c], ecx
lea ecx, [ebx + 0x48]
mov dword [esp + 0x3c], eax
lea eax, [ebx + 0x60]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x2d8]
mov dword [esp + 0x74], eax
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
push dword [esi]
call fcn.00452963
pop eax
movzx eax, byte [esp + 0x2d8]
cmp eax, 5
jne 0x451d09
mov edx, dword [esp + 4]
mov eax, dword [edx + 0x30]
mov dword [edx + 0x30], 2
cmp eax, 2
je 0x44f157
push 0xc
pop ecx
lea ebx, [esp + 0x790]
mov esi, edx
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push 3
pop edi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x7c0], eax
lea ecx, [esp + 0x7c4]
mov eax, dword [esi + 8]
movsd xmm0, qword [esi]
mov esi, dword [esp + 0x10]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
mov ecx, edx
mov edx, ebx
push esi
call fcn.00452afe
pop eax
lea ecx, [esp + 0x2d8]
jmp 0x44f0dc
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x618]
push dword [esp + 0x10]
call fcn.00441fbd
pop eax
mov eax, dword [esp + 0x630]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x452172
cmp eax, 4
je 0x452157
push 0x98
lea eax, [esp + 0x61c]
push eax
lea eax, [esp + 0x588]
push eax
call fcn.004fea40
add esp, 0xc
lea eax, [esp + 0x6b0]
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 0x44f1f4
test eax, eax
je 0x452286
mov esi, dword [esp + 0x70]
lea eax, [esp + 0x70]
mov edx, 0x53b91c
test esi, esi
cmovne esi, eax
mov ecx, esi
call fcn.00433692
mov eax, dword [esi]
mov ecx, 0x88
jmp 0x44f21c
test eax, eax
je 0x452286
mov esi, dword [esp + 0x70]
lea eax, [esp + 0x70]
mov edx, 0x53b91c
test esi, esi
cmovne esi, eax
mov ecx, esi
call fcn.00433692
mov eax, dword [esi]
mov ecx, 0xb8
add eax, ecx
mov eax, dword [eax]
test al, 4
jne 0x44f373
push 0x98
lea eax, [esp + 0x584]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.004fea40
add esp, 0xc
mov eax, 0x88
push eax
lea esi, [esp + 0x9c]
mov ebx, 0x88
push esi
lea edi, [esp + 0x1c8]
push edi
call fcn.004fea40
add esp, 0xc
push ebx
push edi
lea eax, [esp + 0x710]
push eax
call fcn.004fea40
add esp, 0xc
movsd xmm0, qword [esp + 0x580]
movsd xmm1, qword [esp + 0x588]
mov ecx, edi
mov edx, str.keep_aliveinternal_error:_entered_unreachable_code:_poll_read_body_invalid_state:
movsd qword [esp + 0x1b8], xmm1
movsd qword [esp + 0x1b0], xmm0
push 0xa
call fcn.0042fbce
pop eax
lea ecx, [esp + 0x2d8]
mov edx, edi
push 0x5280ac
call fcn.00435bd2
pop eax
mov ecx, edi
mov edx, 0x5280bc
push 0x10
call fcn.0042fbce
pop eax
lea ecx, [esp + 0x98]
mov edx, edi
push 0x5280cc
call fcn.00435bd2
pop eax
movsd xmm0, qword [esp + 0x2d8]
movsd xmm1, qword [esp + 0x2e0]
movsd qword [esp + 0x88], xmm0
movsd qword [esp + 0x90], 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 + 0x88]
sub esi, 1
jb 0x44f394
lea ebx, [esp + 0x1c0]
lea edx, [esp + 0x708]
mov ecx, ebx
push edi
call fcn.00433c5a
pop eax
mov ecx, ebx
call fcn.00447218
add edi, 0x10
jmp 0x44f34b
lea ecx, [esp + 0x68]
call fcn.004420f7
lea ecx, [esp + 0x580]
call fcn.004421f5
lea ecx, [esp + 0x2d8]
jmp 0x44f0d8
and dword [esp + 0x1cc], 0
and dword [esp + 0x1c8], 0
and dword [esp + 0x1c4], 0
lea edx, [esp + 0x1c0]
lea ecx, [esp + 0x708]
mov dword [esp + 0x1c0], 0x43
mov ebx, edx
call fcn.004232c1
test eax, eax
je 0x44f3e7
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 8
push 0x52810c
call fcn.00417fe4
pop ecx
pop edx
xor al, 1
jmp 0x44f3e9
mov al, 2
lea ecx, [esp + 0x510]
cmp al, 2
je 0x44f442
and al, 1
je 0x44f442
and dword [esp + 0x2e4], 0
and dword [esp + 0x2e0], 0
and dword [esp + 0x2dc], 0
mov ecx, ebx
lea eax, [esp + 0x2d8]
mov dword [esp + 0x2d8], 0x43
mov esi, ebx
lea edx, [esp + 0x708]
push eax
call fcn.00433f8a
pop eax
mov ecx, ebx
call fcn.00447218
lea ecx, [esp + 0x510]
and dword [esp + 0x1cc], 0
and dword [esp + 0x1c8], 0
and dword [esp + 0x1c4], 0
mov dword [esp + 0x1c0], 0x14
lea edx, [esp + 0x708]
push ebx
call fcn.00433f8a
pop eax
cmp byte [esp + 0x520], 2
je 0x44f51d
movsd xmm0, qword [esp + 0x510]
movsd xmm1, qword [esp + 0x518]
mov eax, dword [esp + 0x520]
movsd qword [esp + 0x468], xmm0
mov dword [esp + 0x478], eax
movsd qword [esp + 0x470], xmm1
mov ecx, dword [esp + 0x468]
mov edx, dword [esp + 0x46c]
call fcn.0042fc88
test eax, eax
je 0x4522d0
mov esi, edx
mov ecx, ebx
mov edx, eax
push esi
call fcn.0043564b
pop eax
mov ecx, ebx
call fcn.00435697
test eax, eax
je 0x44f511
mov ecx, eax
call fcn.004326d5
mov esi, edx
lea edi, [esp + 0x2d8]
lea edx, [esp + 0x708]
mov ecx, edi
push esi
push eax
call fcn.00434027
pop eax
pop ecx
mov ecx, edi
call fcn.00447218
jmp 0x44f4db
lea ecx, [esp + 0x468]
call fcn.00401e4e
push 5
pop edi
lea esi, [esp + 0x88]
sub edi, 1
jb 0x44f538
mov ecx, esi
call fcn.00432954
add esi, 0x10
jmp 0x44f527
lea ecx, [esp + 0x88]
lea edx, [esp + 0x1b0]
call fcn.004532c8
mov eax, dword [esp + 0x88]
or eax, dword [esp + 0x8c]
push 3
pop edi
je 0x44f5ba
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x9c]
xor ecx, edx
xor esi, eax
or esi, ecx
jne 0x44f5ba
mov ecx, edx
or ecx, eax
je 0x44f598
lea ecx, [esp + 0x708]
push eax
call fcn.004359ac
pop eax
jmp 0x44f5ba
movzx eax, byte [esp + 0x74c]
xor edx, edx
cmp eax, 7
ja 0x45008e
mov ecx, 0xb2
bt ecx, eax
mov eax, 0
jae 0x44f588
lea ecx, [esp + 0x74c]
mov edx, 0x53b24c
call fcn.00428b5b
cmp dword [esp + 0x1bc], 0
mov byte [esp + 0x18], al
je 0x44f5e8
cmp dword [esp + 0x1b4], 0
sete byte [esp + 0x28]
jmp 0x44f604
mov eax, dword [esp + 0x1b4]
push dword [esp + 0x1b0]
call dword [eax + 0x14]
add esp, 4
mov byte [esp + 0x28], al
mov al, byte [esp + 0x18]
test al, al
je 0x44f6b1
lea ecx, [esp + 0x4f0]
lea edx, [esp + 0x708]
call fcn.0043580e
cmp dword [esp + 0x4f0], 0
je 0x44f6b1
mov eax, dword [esp + 0x4fc]
or eax, dword [esp + 0x4f8]
je 0x44f6b1
mov eax, dword [esp + 0x70]
movsd xmm0, qword [esp + 0x68]
lea esi, [esp + 0x88]
mov byte [esp + 0x88], 2
mov dword [esp + 0x8c], 2
mov ecx, esi
mov dword [esp + 0x1c8], eax
movsd qword [esp + 0x1c0], xmm0
call fcn.00434fc7
mov dword [esp + 0x88], eax
and dword [esp + 0xac], 0
lea ecx, [esp + 0x1c0]
mov edx, esi
mov dword [esp + 0xa8], 3
call fcn.00442a24
lea ecx, [esp + 0x708]
call fcn.00442212
jmp 0x44fdcc
mov ecx, dword [esp + 0x748]
test ecx, ecx
je 0x44f794
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], 0xdf82dd8e
mov dword [esp + 0x88], 0x12dfabe5
call fcn.0045386a
test eax, eax
je 0x44f794
mov esi, eax
mov edi, edx
push eax
call dword [edx + 0xc]
add esp, 4
xor edx, 0xdf82dd8e
xor eax, 0x12dfabe5
or eax, edx
jne 0x44f77a
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.004147c0
test edi, edi
je 0x44f794
mov eax, dword [esp + 0x2e0]
movsd xmm0, qword [esp + 0x2d8]
lea esi, [esp + 0x1c0]
lea edx, [esp + 0x748]
mov ecx, esi
mov dword [esp + 0x90], eax
lea eax, [esp + 0x88]
movsd qword [esp + 0x88], xmm0
mov dword [esp + 0x94], edi
push eax
call fcn.00422791
pop eax
mov ecx, esi
call fcn.00432954
jmp 0x44f794
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
call fcn.00470396
push 0x88
lea eax, [esp + 0x70c]
push eax
lea eax, [esp + 0x470]
push eax
call fcn.004fea40
add esp, 0xc
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x74]
mov eax, dword [eax + 0x68]
test eax, eax
mov dword [esp + 0x2c], eax
cmove ecx, eax
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x4a8]
test ecx, ecx
je 0x44f859
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], 0xf08b049d
mov dword [esp + 0x88], 0xb022a6ad
call fcn.0045386a
test eax, eax
je 0x44f859
mov esi, eax
mov edi, edx
push eax
call dword [edx + 0xc]
add esp, 4
xor edx, 0xf08b049d
xor eax, 0xb022a6ad
or eax, edx
jne 0x44f83f
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
mov ecx, esi
movsd qword [esp + 0x3a0], xmm1
movsd qword [esp + 0x398], xmm0
push 4
pop edx
call fcn.004147c0
jmp 0x44f861
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
call fcn.00470396
and dword [esp + 0x3a4], 0
mov esi, dword [esp + 0x4a8]
test esi, esi
je 0x44f87a
mov ecx, esi
call fcn.0042cf47
mov ecx, esi
call fcn.00453833
mov edi, dword [esp + 4]
lea esi, [esp + 0x88]
mov ecx, esi
mov edx, dword [edi + 0x58]
add edx, 8
call fcn.0042069c
mov ecx, esi
mov edx, 0x539f44
call fcn.004532f7
mov edi, dword [edi + 0x5c]
mov byte [esp + 0x30], dl
mov ebx, eax
add eax, 8
mov ecx, esi
mov dword [esp + 0xc], eax
lea edx, [edi + 8]
call fcn.00431d21
mov ecx, esi
mov edx, 0x539f54
call fcn.00453333
mov byte [esp + 8], dl
mov edx, dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.00429465
mov al, byte [esp + 0x88]
movzx ecx, byte [esp + 0x30]
movzx edx, byte [esp + 8]
cmp al, 3
mov byte [esp + 0xc], al
mov dword [esp + 0x30], ecx
jne 0x44f913
cmp dword [ebx + 0xb8], 0
mov dword [esp + 0x5c], edi
mov byte [esp + 0xc], 3
push 3
pop edi
mov esi, ebx
je 0x44fde4
mov bl, 5
jmp 0x44f965
movzx eax, word [esp + 0x8a]
mov edi, dword [esp + 0x9c]
mov cl, byte [esp + 0x89]
mov word [esp + 0x60], ax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x64], edi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x34], eax
push 3
pop edi
mov esi, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x24]
call fcn.0043bbaa
mov edx, dword [esp + 0x30]
mov ecx, esi
call fcn.0043bbaa
lea ecx, [esp + 0x398]
call fcn.00432954
lea ecx, [esp + 0x468]
call fcn.00442212
mov esi, dword [esp + 0x34]
mov al, byte [esp + 0xc]
mov ecx, ebx
mov byte [esp + 0x14], cl
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x48]
cmp al, 3
mov dword [esp + 0x34], esi
jne 0x44f9c7
mov al, byte [esp + 0x14]
mov byte [esp + 0x2c0], 3
mov byte [esp + 0x2c1], al
jmp 0x44fd2b
mov byte [esp + 0x88], al
mov al, byte [esp + 0x14]
movzx ebx, word [esp + 0x60]
mov byte [esp + 0x89], al
mov word [esp + 0x8a], bx
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x98], esi
lea edx, [esp + 0x88]
mov dword [esp + 0x9c], ecx
lea ecx, [esp + 0x2c0]
call fcn.004274af
cmp byte [esp + 0x2c0], 5
jne 0x44fd2b
lea eax, [esp + 0x2c4]
lea ebx, [esp + 0x2d8]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov ecx, ebx
movsd qword [esp + 0x1c8], xmm1
movsd qword [esp + 0x1c0], xmm0
mov edx, dword [esp + 0x1c8]
add edx, 8
call fcn.0042069c
mov ecx, ebx
mov edx, 0x539e44
call fcn.004532f7
mov ecx, dword [esp + 0x1c0]
mov byte [esp + 0xc], dl
mov edx, dword [esp + 0x1c4]
mov esi, eax
add eax, 0x128
mov dword [esp + 0x2d8], ecx
mov ecx, ebx
mov dword [esp + 0x2dc], edx
mov dword [esp + 0x2e0], eax
call fcn.00421124
mov al, byte [eax + 0xe4]
movzx edx, byte [esp + 0xc]
mov ecx, esi
mov byte [esp + 0x24], al
call fcn.0043bbaa
cmp byte [esp + 0x24], 0
lea edi, [esp + 0x1c0]
je 0x44fafc
mov ecx, ebx
mov edx, edi
call fcn.0042939f
mov esi, dword [esp + 0x74]
mov ecx, esi
call fcn.00452535
mov eax, dword [esp + 0x2e0]
movsd xmm0, qword [esp + 0x2d8]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
lea esi, [esp + 0x88]
mov edx, edi
mov ecx, esi
call fcn.0042939f
lea eax, [esp + 0x2c4]
lea ecx, [esp + 0x1e0]
mov dl, byte [esp + 0x18]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x98]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov byte [esp + 0x94], 0
lea eax, [esp + 0x6f8]
movsd xmm0, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0x98]
movsd qword [esp + 0x3c0], xmm0
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0x3b8], xmm1
movsd qword [esp + 0x3a8], xmm0
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x3b0], xmm0
movsd xmm0, qword [esp + 0x3a8]
movsd xmm1, qword [esp + 0x3b0]
movsd qword [esp + 0x6e8], xmm0
movsd xmm0, qword [esp + 0x3b8]
movsd qword [ecx + 8], xmm1
movsd qword [esp + 0x6f8], xmm0
movsd xmm0, qword [esp + 0x3c0]
movsd qword [esp + 0x700], xmm0
movsd xmm0, qword [esp + 0x3b0]
movsd qword [esp + 0x6f0], xmm0
movsd xmm0, qword [esp + 0x3a8]
movsd xmm1, qword [eax + 8]
movsd qword [ecx], xmm0
movsd xmm0, qword [eax]
lea eax, [esp + 0x1d0]
movsd qword [eax + 8], xmm1
movsd xmm1, qword [esp + 0x1b8]
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0x1b0]
mov eax, dword [esp + 0x70]
movsd qword [esp + 0x1c8], xmm1
movsd qword [esp + 0x1c0], xmm0
movsd xmm0, qword [esp + 0x68]
mov dword [ecx + 0x18], eax
movsd qword [ecx + 0x10], xmm0
mov cl, byte [esp + 0x28]
mov byte [esp + 0x1fc], dl
mov edx, dword [esp + 0x3c]
mov byte [esp + 0x1fd], cl
mov ecx, ebx
mov ebx, dword [esp + 0x10]
push dword [ebx]
call fcn.00452963
pop eax
movzx eax, byte [esp + 0x2d8]
cmp eax, 5
je 0x44fe38
cmp eax, 6
je 0x452179
movsd xmm1, qword [esp + 0x2e0]
lea esi, [esp + 0x1e0]
movsd xmm0, qword [esp + 0x2e8]
movsd xmm2, qword [esp + 0x2d8]
lea ecx, [esp + 0x6c0]
mov eax, dword [esi + 0x18]
movsd qword [esp + 0x6c8], xmm1
movsd xmm1, qword [esi + 0x10]
movsd qword [esp + 0x6d0], xmm0
movsd qword [esp + 0x6c0], xmm2
mov dword [esp + 0x470], eax
movsd qword [esp + 0x468], xmm1
call fcn.00434fc7
mov dword [esp + 0x88], eax
and dword [esp + 0xac], 0
lea ecx, [esp + 0x468]
lea edx, [esp + 0x88]
mov dword [esp + 0xa8], 3
call fcn.00442a24
mov ecx, esi
call fcn.00442526
lea ecx, [esp + 0x1d0]
call fcn.00452570
mov ecx, edi
call fcn.00442239
jmp 0x44fe4e
movsd xmm1, qword [esp + 0x2c0]
movsd xmm0, qword [esp + 0x2d0]
movsd xmm2, qword [esp + 0x2c8]
mov eax, dword [esp + 0x70]
lea esi, [esp + 0x88]
mov ecx, esi
movsd qword [esp + 0x3a8], xmm1
movsd qword [esp + 0x88], xmm1
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x3b8], xmm0
movsd qword [esp + 0x3b0], xmm2
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0x90], xmm2
mov dword [esp + 0x1c8], eax
movsd qword [esp + 0x1c0], xmm1
call fcn.00434fc7
mov dword [esp + 0x88], eax
and dword [esp + 0xac], 0
lea ecx, [esp + 0x1c0]
mov edx, esi
mov dword [esp + 0xa8], 3
call fcn.00442a24
lea ecx, [esp + 0x1b0]
call fcn.00442239
lea ecx, [esp + 0x2d8]
jmp 0x44f0d8
cmp dword [esp + 0x2c], 0
je 0x44fe5d
mov ebx, dword [esp + 0x44]
mov dword [esp + 8], edx
lea eax, [esi + 0x128]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
call fcn.00421124
mov edx, dword [esp + 8]
cmp byte [eax + 0xe4], 0
je 0x44fe5d
mov byte [esp + 0xc], 3
mov bl, 3
jmp 0x44f965
push 0x10
pop ecx
mov edx, esi
mov esi, edi
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 4]
push ebx
call fcn.00452afe
pop eax
push 3
pop edi
lea ecx, [esp + 0x2d8]
jmp 0x44f0d8
cmp byte [esi + 0x194], 0
je 0x44fe6d
mov bl, 1
jmp 0x44f965
lea eax, [esi + 0xb8]
cmp dword [eax], 0
jne 0x44f90f
mov dword [esp + 8], edx
mov edx, dword [esi + 0xbc]
mov dword [esp + 0x390], eax
lea eax, [edx + 2]
mov dword [esp + 0x2c], edx
mov ecx, eax
shr ecx, 0x1f
mov dword [esi + 0xb8], ecx
mov dword [esi + 0xbc], eax
lea ecx, [esp + 0x1c0]
push dword [esi + 0x30]
mov dword [esp + 0x48], esi
push dword [esi + 0x11c]
call fcn.00429234
pop eax
pop ecx
lea ecx, [esp + 0x4ac]
mov edx, 0x539f64
call fcn.00428b5b
test al, al
je 0x44fee8
and dword [esp + 0x1d4], 0
mov dword [esp + 0x1d0], 1
movsd xmm0, qword [esp + 0x398]
movsd xmm1, qword [esp + 0x3a0]
movsd qword [esp + 0x508], xmm1
movsd qword [esp + 0x500], xmm0
push 0x88
lea ebx, [esp + 0x46c]
push ebx
lea eax, [esp + 0x90]
push eax
call fcn.004fea40
add esp, 0xc
lea eax, [esp + 0x98]
movsd xmm0, qword [eax + 0x34]
movsd xmm1, qword [eax + 0x3c]
mov eax, dword [eax + 0x44]
movsd qword [esp + 0x3c8], xmm0
movsd qword [esp + 0x3d0], xmm1
mov dword [esp + 0x3d8], eax
push 0xb
pop ecx
lea edi, [esp + 0x82c]
lea esi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
push 0x10
pop ecx
lea edi, [esp + 0x428]
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xc8]
mov al, byte [esp + 0x10c]
mov byte [esp + 0x54], al
call fcn.00420d13
lea ecx, [esp + 0x3c8]
mov edx, 0x53b24c
call fcn.00428b5b
lea ecx, [esp + 0x3e0]
lea edx, [esp + 0x82c]
call fcn.00431005
mov eax, dword [esp + 0x404]
test eax, eax
je 0x450095
lea edx, [esp + 0x3f8]
mov ecx, dword [edx + 8]
movsd xmm0, qword [edx]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x408]
movsd qword [esp + 0x88], xmm0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
mov ecx, 1
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
test eax, eax
cmove eax, ecx
mov ecx, 0x56d9a0
cmove edx, ecx
lea ecx, [esp + 0x190]
push eax
call fcn.00417c47
pop eax
lea esi, [esp + 0x88]
push esi
call fcn.0042064a
pop eax
mov eax, dword [esp + 0x19c]
and dword [esp + 0x8c], 0
and dword [esp + 0x90], 0
mov dword [esp + 0x88], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
mov dword [esp + 0x94], 0x53a9e8
test eax, eax
je 0x4500ca
movsd xmm0, qword [esp + 0x190]
movsd xmm1, qword [esp + 0x198]
movsd qword [esp + 0x188], xmm1
movsd qword [esp + 0x180], xmm0
push esi
call fcn.0042064a
pop eax
jmp 0x4500ee
xor eax, eax
jmp 0x44f588
mov dword [esp + 0x88], str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_strpattern.rs
and dword [esp + 0x8c], 0
and dword [esp + 0x90], 0
and dword [esp + 0x19c], 0
mov dword [esp + 0x94], 0x53a9e8
lea esi, [esp + 0x88]
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
movsd qword [esp + 0x188], xmm1
movsd qword [esp + 0x180], xmm0
movzx eax, byte [esp + 0x3c8]
test eax, eax
je 0x45010d
cmp eax, 7
je 0x45010d
cmp dword [esp + 0x184], 0
je 0x4507c7
mov eax, dword [esp + 0x18c]
test eax, eax
je 0x450179
movsd xmm0, qword [esp + 0x180]
mov ecx, dword [esp + 0x188]
movsd qword [esp + 0x190], xmm0
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], eax
cmp dword [esp + 0x194], 0
je 0x45016b
mov ecx, dword [esp + 0x188]
movsd xmm0, qword [esp + 0x180]
mov dword [esp + 0x2b8], ecx
movsd qword [esp + 0x2b0], xmm0
jmp 0x45017b
lea eax, [esp + 0x190]
push eax
call fcn.0042064a
pop eax
xor eax, eax
movsd xmm1, qword [esp + 0x3d0]
mov ecx, dword [esp + 0x3d8]
lea edx, [esp + 0xc8]
movsd xmm0, qword [esp + 0x3c8]
movsd xmm2, qword [esp + 0x500]
mov bl, 3
movsd qword [edx + 8], xmm1
movsd xmm1, qword [esp + 0x2b0]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 0x2b8]
movsd qword [edx], xmm0
lea edx, [esp + 0x98]
and dword [esp + 0x94], 0
and dword [esp + 0xa4], 0
movsd qword [edx + 0x10], xmm1
movsd xmm1, qword [esp + 0x508]
mov dword [edx + 0x18], ecx
mov dword [esp + 0xb4], eax
mov al, byte [esp + 0x3f0]
movsd qword [edx + 0x20], xmm2
movsd qword [edx + 0x28], xmm1
and word [esp + 0xdc], 0
cmp al, 3
mov byte [esp + 0xc], al
je 0x45023d
mov ebx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3f4]
mov ecx, esi
lea edx, [esp + 0x410]
mov dword [esp + 0x414], eax
mov dword [esp + 0x410], ebx
call fcn.0042b4d3
cmp dword [esp + 0x3ec], 0
je 0x4502bd
movsd xmm0, qword [esp + 0x3e0]
movsd xmm1, qword [esp + 0x3e8]
lea ecx, [esp + 0x190]
movsd qword [esp + 0x2b0], xmm0
movsd qword [esp + 0x2b8], xmm1
mov edx, dword [esp + 0x2b0]
push dword [esp + 0x2b4]
call fcn.00417c47
pop eax
lea esi, [esp + 0x98]
mov ecx, esi
call fcn.0042063c
movsd xmm0, qword [esp + 0x190]
movsd xmm1, qword [esp + 0x198]
lea eax, [esp + 0x2b0]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
push eax
call fcn.0042064a
pop eax
cmp byte [esp + 0xc], 3
push 0x16
pop ecx
lea edi, [esp + 0x7d0]
lea esi, [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
jne 0x4502e8
cmp bl, 3
je 0x4502e8
lea ecx, [esp + 0x3f0]
call fcn.00420b20
mov eax, dword [esp + 0x7dc]
mov esi, dword [esp + 0x50]
or eax, dword [esp + 0x7ec]
mov eax, dword [esp + 0x58]
jne 0x45035b
cmp byte [esp + 0x54], 3
push 3
pop edi
jne 0x450335
lea ecx, [esp + 0x7d0]
mov dword [esp + 0x58], eax
call fcn.00424d29
lea ecx, [esp + 0x428]
call fcn.00420abc
mov byte [esp + 0xc], 3
mov byte [esp + 0x14], 7
jmp 0x45046c
and dword [esp + 0x8c], 0
lea ecx, [esp + 0x7d0]
lea edx, [esp + 0x88]
mov dword [esp + 0x88], 1
call fcn.0042b4d3
mov dl, byte [esp + 0x18]
xor dl, 1
and dl, byte [esp + 0x28]
push 0x16
pop ecx
lea edi, [esp + 0xa0]
lea esi, [esp + 0x7d0]
or dl, 4
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x428]
mov ecx, dword [esp + 0x430]
mov dh, byte [esp + 0x439]
mov ebx, dword [esp + 0x444]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x434]
mov dword [esp + 0x50], ecx
xor ecx, 3
or ecx, eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x42c]
lea ecx, [esp + 0x450]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov dword [esp + 0x388], eax
mov al, byte [esp + 0x438]
movsd qword [esp + 0x88], xmm0
movsd xmm0, qword [ecx + 0x10]
movsd qword [esp + 0x90], xmm1
mov byte [esp + 0xc], al
movzx eax, word [esp + 0x43a]
movsd qword [esp + 0x98], xmm0
mov word [esp + 0x4e], ax
mov eax, dword [esp + 0x43c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x440]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x448]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x44c]
mov dword [esp + 0x80], eax
push 0x1c
pop eax
mov ecx, eax
lea esi, [esp + 0x88]
lea edi, [esp + 0x510]
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x87], dl
mov dword [esp + 0x1a4], ebx
jne 0x450506
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x14], dh
push 3
pop edi
mov al, byte [esp + 0x200]
mov ecx, eax
add cl, 0xfa
cmp cl, 6
jb 0x450493
add al, 0xfd
cmp al, 2
ja 0x450487
cmp al, 1
jne 0x450493
lea ecx, [esp + 0x200]
call fcn.004535cc
mov eax, dword [esp + 0x1ec]
test eax, eax
je 0x4504ab
push dword [esp + 0x1e8]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x1fc]
test eax, eax
je 0x4504c3
push dword [esp + 0x1f8]
call dword [eax + 0xc]
add esp, 4
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov ebx, esi
movzx esi, word [esp + 0x4e]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x64], edx
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x1a4]
mov word [esp + 0x60], si
mov esi, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x20], ecx
jmp 0x450754
mov ecx, eax
lea edi, [esp + 0x300]
lea esi, [esp + 0x510]
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x2d9]
mov byte [esp + 0x370], 0
mov ecx, dword [esp + 0x6e4]
movsd xmm0, qword [esp + 0x6dc]
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
mov dword [esi + 0xa0], ecx
movsd qword [esi + 0x98], xmm0
mov byte [esp + 0x37d], 2
mov dword [esp + 0x380], eax
movzx eax, word [esp + 0x1ad]
mov byte [esp + 0x384], dl
mov dl, byte [esp + 0x1af]
add edi, 8
mov word [esi + 0xac], ax
mov eax, dword [esp + 0x388]
mov byte [esi + 0xae], dl
mov esi, dword [esp + 0x44]
mov dword [esp + 0x2dc], eax
mov eax, dword [esp + 0x38c]
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x2e4], eax
lea eax, [esi + 0x174]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2e0], eax
mov al, byte [esp + 0xc]
mov byte [esp + 0x2e8], al
movzx eax, word [esp + 0x4e]
mov byte [esp + 0x2e9], dh
mov word [esp + 0x2ea], ax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2f4], ebx
mov dword [esp + 0x2f8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x2fc], eax
lea eax, [esi + 0x128]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x218]
mov dword [esp + 0xc], eax
push 0xf0
lea eax, [esp + 0x1c4]
push eax
lea ebx, [esp + 0x90]
push ebx
call fcn.004fea40
add esp, 0xc
mov edx, dword [esp + 0x50]
lea ecx, [esp + 0x510]
push ebx
push dword [esp + 0x10]
call fcn.00428f1c
pop eax
pop ecx
mov ecx, dword [esp + 0x390]
mov eax, esi
lea edx, [esp + 0x2d8]
add eax, 0x98
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x518]
push eax
push edi
call fcn.00453370
add esp, 0x10
cmp al, 0xc
jne 0x450705
mov eax, dword [esp + 0x3c]
inc dword [esi + 0x170]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
lock inc dword [eax]
jle 0x4522ed
lea ecx, [esp + 0x510]
call fcn.0042110c
mov ecx, eax
call fcn.00429332
mov eax, dword [esp + 0x510]
mov ecx, dword [esp + 0x514]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], ecx
lock inc dword [edi]
jle 0x4522ed
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
call fcn.0043bbaa
mov edx, dword [esp + 0x30]
mov ecx, esi
call fcn.0043bbaa
mov cl, byte [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov esi, edi
jmp 0x45078a
mov ecx, dword [esp + 0x514]
mov edx, dword [esp + 0x518]
mov byte [esp + 0x14], al
call fcn.004214d3
mov eax, dword [esp + 0x518]
movsd xmm0, qword [esp + 0x510]
lea ecx, [esp + 0x88]
mov dword [esp + 0x90], eax
movsd qword [esp + 0x88], xmm0
call fcn.0042165f
mov byte [esp + 0xc], 3
push 3
pop edi
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
call fcn.0043bbaa
mov edx, dword [esp + 0x30]
mov ecx, esi
call fcn.0043bbaa
mov al, byte [esp + 0xc]
mov esi, dword [esp + 0x34]
mov cl, byte [esp + 0x14]
mov edx, ebx
mov dword [esp + 0x50], ebx
cmp al, 4
mov dword [esp + 0x5c], esi
jne 0x44f99b
mov byte [esp + 0x14], cl
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x50], edx
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x2c8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x2cc], esi
mov dword [esp + 0x2d0], ecx
jmp 0x44fa32
lea eax, [esp + 0x180]
push eax
call fcn.0042064a
pop eax
mov dword [esp + 0x180], 0x56d9a0
mov dword [esp + 0x184], 1
and dword [esp + 0x188], 0
mov eax, 0x53a9e8
mov dword [esp + 0x18c], 0x53a9e8
jmp 0x450118
lea eax, [ebx + 0x18]
mov dword [esp + 0x18], eax
lea eax, [ebx + 0x114]
mov dword [esp + 0xc], eax
lea eax, [ebx + 0x60]
mov dword [esp + 0x1c], eax
lea eax, [ebx + 0x125]
mov dword [esp + 0x34], eax
lea eax, [ebx + 8]
mov dword [esp + 0x3c], eax
lea eax, [ebx + 0x5c]
mov dword [esp + 0x2c], eax
lea eax, [ebx + 0xd8]
mov dword [esp + 0x24], eax
lea eax, [ebx + 0xc8]
mov dword [esp + 0x38], eax
lea eax, [ebx + 0xcc]
mov dword [esp + 0x30], eax
xor eax, eax
cmp eax, 0x10
je 0x451d68
inc eax
mov dword [esp + 0x74], eax
mov al, byte [ebx + 0x128]
test al, al
jne 0x450fda
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x7c]
mov edx, eax
or edx, ecx
jne 0x4508e7
mov esi, dword [esp + 0x1c]
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 0x4508a1
test edx, edx
je 0x4508e7
mov eax, dword [esp + 0x3c]
cmp dword [eax], 2
je 0x4508bf
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x10]
call fcn.00441da4
test al, al
jne 0x4509c3
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 0x45086c
mov dl, byte [ebx + 0x124]
mov byte [ebx + 0x124], 3
cmp dl, 3
je 0x450eb3
mov ecx, dword [esp + 0xc]
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 + 0x34]
mov cl, byte [edx + 2]
movzx edx, word [edx]
mov byte [esi + 2], cl
mov word [esi], dx
jae 0x450cd7
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x2d8]
call fcn.004350ca
test eax, eax
jne 0x450f0a
test edx, edx
je 0x450a46
mov eax, dword [ebx + 0x78]
mov dword [esp + 0x1c0], edx
xor eax, 1
or eax, dword [ebx + 0x7c]
jne 0x450981
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 2
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x88]
push dword [esp + 0x10]
call fcn.00458850
pop eax
test byte [esp + 0x88], 1
je 0x450cab
cmp dword [esp + 0x98], 0
je 0x450c9d
lea ecx, [esp + 0x8c]
call fcn.00401e4e
jmp 0x450cab
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1c0]
push dword [esp + 0x10]
call fcn.0045949c
pop eax
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d4]
mov edx, eax
xor edx, 5
or edx, ecx
je 0x450fda
mov edx, dword [esp + 0x1c0]
mov ebx, eax
and bl, 7
cmp bl, 3
je 0x450b02
mov esi, eax
and esi, 7
cmp esi, 4
jne 0x450b5f
mov ecx, dword [esp + 0x1c]
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 0x450866
cmp eax, 3
je 0x450b36
jmp 0x450866
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1c0]
push dword [esp + 0x10]
call fcn.00458850
pop eax
mov eax, dword [esp + 0x1c0]
test eax, eax
je 0x450cd7
cmp eax, 1
jne 0x450f0a
cmp dword [esp + 0x1d0], 0
je 0x450ce8
lea eax, [esp + 0x1c4]
lea ecx, [esp + 0x88]
lea edx, [esp + 0x2e0]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x618]
movsd qword [esp + 0x620], xmm1
movsd qword [esp + 0x618], xmm0
push eax
call fcn.00432025
pop eax
cmp byte [esp + 0x98], 2
jne 0x450e47
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.00452466
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 0x450866
mov ebx, dword [esp + 4]
mov dword [esp + 0x88], edx
and dword [esp + 0x94], 0
lea edx, [esp + 0x88]
mov dword [esp + 0x90], 3
mov ecx, ebx
call fcn.00442cbc
test eax, eax
jne 0x450f7d
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 0x450866
mov esi, dword [esp + 0x1cc]
mov bl, byte [esp + 0x210]
mov dword [esp + 0x2dc], esi
mov esi, dword [esp + 0x1c8]
mov byte [esp + 8], bl
mov dword [esp + 0x2d8], esi
mov esi, dword [esp + 0x1c4]
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 + 0x1d8]
rep movsd dword es:[edi], dword [esi]
je 0x450d48
mov al, byte [esp + 8]
lea ecx, [esp + 0x88]
and al, 1
movzx eax, al
push eax
push ebx
call fcn.00434997
pop eax
pop ecx
mov ecx, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0x88]
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x98]
movsd xmm1, qword [esp + 0x90]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x8c]
movsd qword [esp + 0x618], xmm0
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x628], eax
movsd qword [esp + 0x620], xmm1
mov esi, dword [ecx + 0x20]
movsd xmm0, qword [ecx + 0x18]
mov dword [esp + 0x20], edx
mov dword [esp + 0x588], esi
mov esi, dword [ecx + 0x30]
movsd qword [esp + 0x580], xmm0
movsd xmm0, qword [ecx + 0x28]
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x470], esi
mov esi, dword [esp + 0xc]
mov dword [esp + 0x48], ecx
movsd qword [esp + 0x468], xmm0
mov ecx, esi
call fcn.00452466
mov eax, dword [esp + 0x628]
movsd xmm0, qword [esp + 0x618]
movsd xmm1, qword [esp + 0x620]
mov dword [esi + 0x10], eax
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
jmp 0x450d60
lea eax, [esp + 0x8c]
push eax
call fcn.00441d62
pop eax
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x450cc9
cmp eax, 3
je 0x450cc9
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
mov byte [ebx + 0xa9], 2
lea eax, [esp + 0x1c0]
push eax
call fcn.004317dc
pop eax
lea ecx, [esp + 0x2d8]
call fcn.004526a8
jmp 0x450866
mov ebx, dword [esp + 0x1c8]
mov esi, dword [esp + 0x1c4]
push 8
pop ecx
call fcn.00431f5c
mov edi, eax
mov ecx, eax
mov edx, esi
push ebx
mov ebx, dword [esp + 8]
call fcn.0043507f
pop ecx
mov dword [esp + 0x618], edi
push 3
pop edi
and dword [esp + 0x624], 0
lea esi, [esp + 0x88]
lea eax, [esp + 0x618]
lea edx, [esp + 0x2e0]
mov ecx, esi
push eax
call fcn.00432025
pop eax
mov ecx, esi
call fcn.004352d7
jmp 0x450cd7
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], 0
mov ebx, dword [esp + 4]
test byte [esp + 8], 2
je 0x450db8
call fcn.0043428b
cmp dword [ebx + 0x58], 0
mov edi, eax
mov esi, edx
je 0x450d83
mov ecx, dword [esp + 0x2c]
call fcn.00434265
xor edx, edx
mov dword [ebx + 0x58], 1
mov dword [ebx + 0x5c], edi
lea ecx, [esp + 0x318]
inc edx
push esi
call fcn.0045475b
pop ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
call fcn.00454805
push 0x12
pop ecx
lea edx, [esp + 0x88]
lea esi, [esp + 0x2d8]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x8c]
mov eax, dword [esp + 0x588]
movsd xmm0, qword [esp + 0x580]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x470]
movsd qword [ecx + 0x48], xmm0
movsd xmm0, qword [esp + 0x468]
mov dword [ecx + 0x60], eax
mov eax, dword [esp + 0x14]
movsd qword [ecx + 0x58], xmm0
mov ecx, ebx
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xf4], eax
call fcn.00442cbc
test eax, eax
jne 0x450f7d
push 3
pop edi
jmp 0x450866
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x88]
test eax, eax
je 0x452295
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x88], ecx
mov ecx, dword [ebx + 0x78]
dec ecx
mov dword [esp + 0x90], esi
mov dword [esp + 0x8c], edx
mov dword [esp + 0x94], eax
cmp ecx, 2
jae 0x450ea2
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
mov byte [ebx + 0xa9], 2
lea ecx, [esp + 0x88]
call fcn.00401e4e
jmp 0x450cd7
mov edx, eax
xor edx, 4
or edx, ecx
je 0x450fda
or eax, ecx
je 0x450f3f
cmp byte [ebx + 0xaa], 0
mov edi, 1
jne 0x450fc7
cmp dword [ebx + 0xb8], 0
jne 0x450fc7
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1c0]
push dword [esp + 0x10]
call fcn.00459402
pop eax
cmp byte [esp + 0x1c0], 5
jne 0x450f81
xor edi, edi
inc edi
jmp 0x450fc7
mov esi, dword [esp + 0xc]
mov ecx, esi
call fcn.00452466
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 0x450fda
mov ecx, dword [esp + 0x1c]
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 0x450ec4
test eax, eax
jne 0x450ec4
cmp dword [ebx + 0xb8], 0
je 0x451bc7
xor edi, edi
call fcn.0043530d
mov esi, eax
jmp 0x450fc7
mov esi, eax
jmp 0x450fc5
mov ecx, dword [esp + 0x1c4]
mov eax, dword [esp + 0x1c0]
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], ecx
lea ecx, [esp + 0x2d8]
mov dword [esp + 0x88], eax
call fcn.00459471
cmp dword [esp + 0x2d8], 0
je 0x451bb0
mov esi, dword [esp + 0x2dc]
xor edi, edi
test edi, edi
jne 0x450fd7
test esi, esi
push 3
pop edi
je 0x450fda
jmp 0x4520cd
push 3
pop edi
cmp byte [ebx + 0x128], 0
jne 0x451c8a
mov eax, dword [ebx + 0x110]
cmp dword [eax], 0
jne 0x451001
mov eax, dword [ebx + 0x78]
xor eax, 4
or eax, dword [ebx + 0x7c]
jne 0x451153
cmp byte [ebx + 0x108], 0
jne 0x451035
cmp byte [ebx + 0xec], 0
je 0x451020
cmp dword [ebx + 0xe4], 0xf
ja 0x451553
mov ecx, dword [esp + 0x38]
call fcn.0045728a
cmp eax, dword [ebx + 0xe8]
jae 0x451553
mov ebx, dword [ebx + 0x110]
mov eax, dword [ebx]
lea esi, [ebx + 4]
test eax, eax
cmove esi, eax
je 0x451b5e
mov ecx, dword [esp + 0x1c]
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 0x451070
mov cl, 1
cmp eax, 1
jne 0x451140
lea ecx, [esp + 0x88]
mov edx, esi
push dword [esp + 0x10]
call fcn.004430da
pop eax
cmp dword [esp + 0x88], 2
je 0x451b5e
movsd xmm0, qword [esp + 0x88]
mov eax, dword [esp + 0x98]
movsd xmm1, qword [esp + 0x90]
movsd qword [esp + 0x618], xmm0
mov dword [esp + 0x628], eax
movsd qword [esp + 0x620], xmm1
cmp dword [esp + 0x618], 0
je 0x451575
mov eax, dword [esp + 0x628]
mov ecx, dword [esp + 0x61c]
test eax, eax
je 0x451b65
mov edx, dword [esp + 0x620]
mov edi, dword [esp + 0x624]
mov dword [esp + 0x580], ecx
mov ecx, esi
mov dword [esp + 0x584], edx
mov dword [esp + 0x588], edi
mov dword [esp + 0x58c], eax
call fcn.00456977
mov esi, dword [esp + 0x584]
test al, al
jne 0x4515aa
test esi, esi
jne 0x4516c1
lea ecx, [esp + 0x580]
call fcn.00401e4e
xor ecx, ecx
push 3
pop edi
movzx edx, cl
mov ecx, ebx
call fcn.004584d4
mov ebx, dword [esp + 4]
jmp 0x450fda
mov ecx, dword [esp + 0x1c]
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 0x451001
test eax, eax
jne 0x451001
mov ecx, dword [esp + 0x24]
call fcn.004574c6
test eax, eax
jne 0x451001
mov eax, dword [esp + 0x3c]
cmp dword [eax], 2
jne 0x451001
lea ecx, [esp + 0x88]
mov edx, ebx
push dword [esp + 0x10]
call fcn.00441fbd
pop eax
mov eax, dword [esp + 0xa0]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x451c63
cmp eax, 4
je 0x451c8a
push 0x98
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x1c8]
push eax
call fcn.004fea40
add esp, 0xc
lea ecx, [esp + 0x8c]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + 0x9c]
movsd xmm0, qword [ecx + 0x94]
lea ecx, [esp + 0x3e0]
mov dword [esp + 0x3e8], eax
movsd qword [esp + 0x3e0], xmm0
call fcn.00441da4
test al, al
je 0x451c69
movsd xmm0, qword [esp + 0x1d0]
movsd xmm1, qword [esp + 0x1c8]
mov eax, dword [esp + 0x1dc]
mov ebx, dword [esp + 0x1d8]
movsd qword [esp + 0x7e0], xmm0
movsd xmm0, qword [esp + 0x1c0]
movsd qword [esp + 0x7d8], xmm1
mov dword [esp + 8], eax
movsd qword [esp + 0x7d0], xmm0
push 0xc
pop ecx
lea edi, [esp + 0x708]
lea esi, [esp + 0x1e0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x210]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x214]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x1c4]
movsd xmm0, qword [eax + 0x54]
movsd xmm1, qword [eax + 0x5c]
mov al, byte [esp + 0x254]
movsd qword [esp + 0x468], xmm0
movsd xmm0, qword [esp + 0x7e0]
movsd qword [esp + 0x470], xmm1
movsd xmm1, qword [esp + 0x1c8]
mov byte [esp + 0x44], al
lea eax, [esp + 0x793]
movsd qword [esp + 0x654], xmm0
movsd xmm0, qword [esp + 0x1c0]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
push 0xb
pop ecx
lea esi, [esp + 0x228]
lea edi, [esp + 0x478]
rep movsd dword es:[edi], dword [esi]
push 0xf
pop ecx
lea esi, [esp + 0x468]
lea edi, [esp + 0x618]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x3e8]
movsd xmm0, qword [esp + 0x3e0]
mov ecx, esi
mov dword [esp + 0x470], eax
movsd qword [esp + 0x468], xmm0
call fcn.00442208
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x470]
movsd xmm0, qword [esp + 0x468]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
push 0x11
pop ecx
lea edi, [esp + 0x580]
lea esi, [esp + 0x618]
mov eax, ebx
rep movsd dword es:[edi], dword [esi]
xor eax, 3
or eax, edx
push 0xc
pop ecx
lea edi, [esp + 0x510]
lea esi, [esp + 0x708]
rep movsd dword es:[edi], dword [esi]
je 0x451cc0
mov eax, ebx
xor eax, 4
or eax, edx
je 0x451c83
push 0x11
pop ecx
lea edi, [esp + 0x2dc]
lea esi, [esp + 0x580]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x79f]
movsd xmm0, qword [esp + 0x790]
movsd xmm1, qword [esp + 0x798]
mov dword [esp + 0x437], eax
mov eax, dword [esp + 0x64]
movsd qword [esp + 0x430], xmm1
movsd qword [esp + 0x428], 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 + 0x510]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x2e9]
mov eax, dword [esp + 0x40]
mov dh, byte [esp + 0x44]
movzx esi, word [esp + 0x790]
mov dl, byte [esp + 0x792]
and dword [esp + 0x94], 0
mov dword [esp + 0x358], eax
mov byte [esp + 0x35c], dh
mov word [ecx + 0x74], si
mov byte [ecx + 0x76], dl
lea ecx, [esp + 0x42b]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
lea ecx, [esp + 0x88]
movsd qword [esp + 0x1c8], xmm1
movsd qword [esp + 0x1c0], xmm0
call fcn.00432954
cmp dword [esp + 0x1cc], 0
je 0x451a61
cmp dword [esp + 0x1c4], 0
lea edx, [esp + 0x1c0]
je 0x451a84
lea ecx, [esp + 0x88]
call fcn.004532c8
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
movsd xmm1, qword [esp + 0x1c8]
movsd xmm0, qword [esp + 0x1c0]
mov dword [esp + 8], 0
or eax, dword [esp + 0x8c]
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x88], 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 + 0x14], eax
mov esi, dword [ecx + 0x110]
mov ecx, esi
call fcn.00476b3e
mov dword [esi], 1
xor eax, eax
movsd xmm0, qword [esp + 0x88]
movsd xmm1, qword [esp + 0x90]
movsd qword [esi + 4], xmm0
movsd qword [esi + 0xc], xmm1
mov esi, dword [esp + 0x14]
jmp 0x451aab
mov edx, dword [esp + 0x10]
mov ecx, ebx
call fcn.00456a4c
test eax, eax
jne 0x451c8a
mov esi, edx
test edx, edx
je 0x450fda
jmp 0x451b96
mov ecx, dword [esp + 0x18]
call fcn.004584e5
mov esi, eax
test eax, eax
mov eax, dword [esp + 0x618]
jne 0x451b9a
mov cl, 1
test eax, eax
je 0x451140
lea ecx, [esp + 0x61c]
call fcn.0045859a
jmp 0x451b57
test esi, esi
je 0x451782
mov ecx, dword [esp + 0x1c]
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 + 0x580]
jb 0x4515e5
cmp edx, 1
jne 0x452220
movsd xmm0, qword [esp + 0x588]
or eax, dword [esp + 8]
movsd qword [esp + 0x468], xmm0
je 0x4518b5
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 0x45197e
movzx eax, al
cmp eax, 1
jne 0x4519c4
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58c]
mov edx, dword [esp + 0x588]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x1c8], edx
mov dword [esp + 0x1d0], edi
cmp byte [ecx + 0xec], 0
je 0x451ae9
mov eax, dword [esp + 0x1d0]
movsd xmm0, qword [esp + 0x1c0]
movsd xmm1, qword [esp + 0x1c8]
lea ecx, [esp + 0x8c]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov dword [esp + 0x88], 1
jmp 0x45196c
mov ecx, dword [esp + 0x1c]
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 + 0x580]
movsd xmm1, qword [esp + 0x588]
cmp edi, edx
mov edi, 0
sbb edi, esi
movsd qword [esp + 0x1c8], xmm1
movsd qword [esp + 0x1c0], xmm0
jb 0x45170f
cmp edx, 1
jne 0x4521d5
mov esi, dword [esp + 0x580]
mov edx, dword [esp + 0x584]
movsd xmm0, qword [esp + 0x1c8]
or eax, ecx
mov dword [esp + 0x708], esi
mov dword [esp + 0x70c], edx
movsd qword [esp + 0x510], xmm0
je 0x4517ab
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 0x4517eb
mov ecx, dword [esp + 0x708]
and dword [edi + 0x6c], 0
and dword [edi + 0x68], 0
mov dword [esp + 0x28], eax
xor eax, eax
lea esi, [esp + 0x510]
inc eax
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
jmp 0x451810
mov ecx, dword [esp + 0x18]
call fcn.004584e5
lea ecx, [esp + 0x580]
mov esi, eax
call fcn.00401e4e
mov cl, 1
test esi, esi
push 3
pop edi
je 0x451140
jmp 0x451b6c
lea ecx, [esp + 0x468]
call fcn.00435e9a
mov eax, dword [esp + 0x510]
mov ecx, dword [esp + 0x514]
lea esi, [esp + 0x708]
mov dword [esp + 8], 0x53ae93
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
push 2
pop ecx
mov edi, dword [esp + 4]
mov edx, ecx
mov dword [esp + 0x14], ecx
jmp 0x451810
sub eax, edx
mov dword [esp + 0x14], 0
lea esi, [esp + 0x510]
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x708]
sbb ecx, 0
mov dword [edi + 0x6c], ecx
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x470]
movsd xmm0, qword [esp + 0x468]
lea eax, [esp + 0x8c]
mov dword [eax + 0x20], ecx
movsd qword [eax + 0x18], xmm0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x98], ecx
mov ecx, dword [esi]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x9c], edx
lea edx, [esp + 0x88]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x38]
call fcn.004585ac
mov eax, dword [edi + 0x60]
or eax, dword [edi + 0x64]
je 0x45113b
mov eax, dword [edi + 0x6c]
or eax, dword [edi + 0x68]
jne 0x45113b
xor eax, eax
cmp byte [edi + 0x70], 0
sete al
and dword [edi + 0x64], 0
xor eax, 5
mov dword [edi + 0x60], eax
jmp 0x45113b
lea ecx, [esp + 0x98]
mov edx, esi
call fcn.00435e9a
mov eax, dword [esp + 0x468]
mov ecx, dword [esp + 0x46c]
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x1c8]
mov eax, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0x98]
movsd xmm2, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x88]
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 + 0x1c0], 0x53ae87
mov dword [esp + 0x1c4], 7
cmp byte [eax + 0xec], 0
je 0x451a0a
push 9
pop ecx
lea edi, [esp + 0x8c]
lea esi, [esp + 0x1c0]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x88], 2
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x88]
call fcn.00458668
jmp 0x4519bc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58c]
mov edx, dword [esp + 0x588]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x90], edx
lea edx, [esp + 0x88]
call fcn.004587d0
push 3
pop edi
jmp 0x451b39
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x58c]
mov edx, dword [esp + 0x588]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x90], edx
lea edx, [esp + 0x88]
call fcn.004587d0
push 3
pop edi
jmp 0x451b43
lea ecx, [esp + 0x1c0]
call fcn.004438dc
mov ecx, dword [esp + 0x38]
mov edx, eax
call fcn.00435f4c
push 3
pop edi
lea ecx, [esp + 0x1c0]
call fcn.004586a5
test edx, edx
je 0x451a55
mov ecx, dword [esp + 0x30]
mov esi, edx
mov edx, eax
add edx, esi
push eax
call fcn.00416a75
pop eax
lea ecx, [esp + 0x1c0]
mov edx, esi
call fcn.00457397
jmp 0x451a24
lea ecx, [esp + 0x1c8]
jmp 0x451b34
mov eax, dword [esp + 0x1c4]
push dword [esp + 0x1c0]
call dword [eax + 0x14]
add esp, 4
test al, al
lea edx, [esp + 0x1c0]
je 0x45149e
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x110]
mov ecx, esi
call fcn.00476b3e
and dword [esi], 0
xor eax, eax
mov cl, 1
mov dword [esp + 8], ecx
push 2
pop esi
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x2d8]
mov dword [esp + 0x5c], edi
push edi
mov dword [esp + 0x64], ebx
push ebx
push eax
push esi
call fcn.004574fc
add esp, 0x10
cmp byte [esp + 8], 0
je 0x451add
lea ecx, [esp + 0x1c0]
call fcn.00442239
mov ebx, dword [esp + 4]
push 3
pop edi
jmp 0x450fda
mov ecx, dword [esp + 0x38]
cmp esi, edi
cmovb edi, esi
mov edx, edi
call fcn.00435f4c
push 3
pop edi
lea ecx, [esp + 0x1c0]
call fcn.00457494
test edx, edx
je 0x451b2d
mov ecx, dword [esp + 0x30]
mov esi, edx
mov edx, eax
add edx, esi
push eax
call fcn.00416a75
pop eax
lea ecx, [esp + 0x1c0]
mov edx, esi
call fcn.0045736c
jmp 0x451afc
lea ecx, [esp + 0x1c0]
call fcn.00401e4e
mov eax, dword [esp + 4]
cmp byte [eax + 0x70], 0
je 0x451b49
xor eax, eax
push 5
jmp 0x451b4d
xor eax, eax
push 4
pop ecx
mov edx, dword [esp + 0x1c]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov cl, 1
jmp 0x451140
xor ecx, ecx
xor edi, edi
inc edi
jmp 0x451b70
call fcn.00456a21
mov esi, eax
xor edi, edi
mov cl, 1
movzx edx, cl
mov ecx, ebx
call fcn.004584d4
mov ebx, dword [esp + 4]
test edi, edi
jne 0x451c87
test esi, esi
push 3
pop edi
je 0x451c8a
jmp 0x4520cd
xor edi, edi
jmp 0x451b7e
xor edi, edi
mov cl, 1
test eax, eax
je 0x451b70
lea ecx, [esp + 0x61c]
call fcn.0045859a
jmp 0x451b6e
xor edi, edi
cmp dword [esp + 0x2dc], 0
je 0x451ced
xor esi, esi
jmp 0x450fc7
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1c0]
push dword [esp + 0x10]
call fcn.00459402
pop eax
cmp byte [esp + 0x1c0], 5
je 0x450f02
mov ecx, dword [esp + 0x1c4]
mov eax, dword [esp + 0x1c0]
lea edx, [esp + 0x88]
mov dword [esp + 0x8c], ecx
lea ecx, [esp + 0x2d8]
mov dword [esp + 0x88], eax
call fcn.00459471
cmp dword [esp + 0x2d8], 0
jne 0x450fbe
cmp dword [esp + 0x2dc], 0
jne 0x450f72
xor edi, edi
cmp byte [ebx + 0xa9], 0
mov esi, 0
je 0x451c4c
call fcn.00435304
mov esi, eax
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
mov byte [ebx + 0xa9], 2
jmp 0x450fc7
mov byte [ebx + 0x14], 1
jmp 0x451cc7
lea ecx, [esp + 0x3e0]
call fcn.004420f7
lea ecx, [esp + 0x1c0]
call fcn.004421f5
jmp 0x451cc7
mov ebx, dword [esp + 4]
push 3
pop edi
mov edx, dword [esp + 0x10]
mov ecx, ebx
call fcn.00456a4c
test eax, eax
jne 0x451ca3
mov esi, edx
test edx, edx
jne 0x4520cd
cmp byte [ebx + 0xb3], 0
mov eax, dword [esp + 0x74]
mov byte [ebx + 0xb3], 0
jne 0x450858
jmp 0x451d7e
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 0x451c8a
and dword [ebx + 0x7c], 0
mov dword [ebx + 0x78], 4
mov byte [ebx + 0xa9], 2
call fcn.00435304
jmp 0x450f79
cmp eax, 6
jne 0x451d13
jmp 0x451e0b
mov byte [esp + 0x1c0], al
lea eax, [esp + 0x2d9]
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x1c9], xmm1
movsd xmm1, qword [eax + 0xf]
mov eax, dword [esp + 4]
movsd qword [esp + 0x1c1], xmm0
mov ecx, dword [eax + 0x50]
movsd qword [esp + 0x1d0], xmm1
call fcn.00435a39
test eax, eax
je 0x451de1
mov ebx, eax
push 2
pop edi
jmp 0x451dff
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 8]
add esp, 4
jmp 0x451e10
cmp byte [ebx + 0x128], 0
jne 0x451d92
mov eax, dword [ebx + 0x78]
xor eax, 4
or eax, dword [ebx + 0x7c]
jne 0x451e10
mov eax, dword [ebx + 0x58]
mov edi, ebx
mov ebx, dword [ebx + 0x5c]
and dword [edi + 0x58], 0
test eax, eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], ebx
je 0x452037
mov esi, dword [edi + 0x90]
and dword [edi + 0x90], 0
mov dword [esp + 0x88], ebx
test esi, esi
je 0x451e28
lea ecx, [esp + 0x88]
call fcn.0045271b
mov ebx, dword [esp + 4]
jmp 0x4520cd
lea ecx, [esp + 0x1c0]
call fcn.00427452
test eax, eax
je 0x451ff8
test edx, edx
jne 0x451ff8
xor edi, edi
lea ecx, [esp + 0x1c0]
call fcn.00452ad6
cmp edi, 3
jne 0x451e17
mov al, 1
jmp 0x45214f
test edi, edi
je 0x4520ee
cmp edi, 2
je 0x4520f0
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 0x4522b8
movsd xmm1, qword [edi + 0x10]
lea esi, [esp + 0x870]
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 + 0x880]
push 0x108
push dword [esp + 0x398]
push eax
call fcn.004fea40
add esp, 0xc
lea eax, [esp + 0x88]
push 0xf8
push esi
push eax
call fcn.004fea40
add esp, 0xc
lea eax, [esp + 0x128]
push 0x15
pop ecx
lea edx, [esp + 0x1c0]
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 + 0x618]
mov dword [edi - 4], ecx
mov ecx, edi
movsd qword [edi - 0xc], xmm0
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm2
call fcn.00452899
lea ecx, [esp + 0x1d0]
call fcn.004523bd
lea esi, [esp + 0x88]
mov ecx, esi
call fcn.00452430
mov eax, dword [edi - 4]
movsd xmm0, qword [edi - 0xc]
movsd xmm1, qword [edi + 8]
movsd xmm2, qword [edi]
lea edi, [esp + 0xa4]
lea ecx, [esp + 0x96c]
mov dword [esi + 0x18], eax
lea eax, [esp + 0x880]
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.00452466
lea ecx, [esp + 0x968]
call fcn.00452471
mov eax, dword [edi - 4]
movsd xmm0, qword [edi - 0xc]
movsd xmm2, qword [edi - 0x1c]
movsd xmm1, qword [edi - 0x14]
lea esi, [esp + 0x1d0]
mov ecx, edi
mov dword [esp + 0x420], eax
movsd qword [esp + 0x418], xmm0
movsd qword [esi - 8], xmm1
movsd qword [esi - 0x10], xmm2
call fcn.00452453
push 0xc
pop ecx
push 4
pop edx
call fcn.00422855
movsd xmm0, qword [esp + 0x418]
lea edx, [esp + 0x1c0]
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x420]
mov dword [eax + 8], ecx
mov ecx, ebx
mov dword [esi], eax
mov dword [esi + 4], 0x53b67c
call fcn.00435509
jmp 0x4520ee
movsd xmm0, qword [esp + 0x1d0]
movsd xmm2, qword [esp + 0x1c0]
movsd xmm1, qword [esp + 0x1c8]
lea ecx, [esp + 0x88]
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
call fcn.00434fc7
mov ebx, eax
push 2
pop edi
jmp 0x451e0b
mov eax, dword [edi + 0xf4]
push dword [esp + 0x10]
push dword [edi + 0xf0]
lea ecx, [esp + 0x90]
push ecx
call dword [eax + 0x18]
add esp, 0xc
movzx eax, byte [esp + 0x88]
cmp eax, 4
je 0x4520ae
cmp eax, 5
je 0x451e10
movzx ecx, byte [esp + 0x8f]
movzx ebx, word [esp + 0x8d]
mov edi, dword [esp + 0x89]
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.00431f5c
mov esi, eax
mov ecx, eax
mov edx, edi
push ebx
mov ebx, dword [esp + 8]
call fcn.0043507f
pop ecx
jmp 0x4520cd
lea ecx, [esp + 0x1c0]
mov ebx, edi
call fcn.0045270d
mov esi, dword [edi + 0x90]
and dword [edi + 0x90], 0
test esi, esi
je 0x4520ee
lea edx, [esp + 0x88]
mov ecx, ebx
mov dword [edx], esi
and dword [edx + 0xc], 0
mov dword [edx + 8], 3
call fcn.00442cbc
mov ebx, eax
test eax, eax
jne 0x4520f0
xor ebx, ebx
mov esi, dword [esp + 0x1a8]
mov eax, dword [esi + 0x20]
xor eax, 6
or eax, dword [esi + 0x24]
je 0x452213
mov ecx, esi
call fcn.00452301
and dword [esi + 0x24], 0
test ebx, ebx
mov dword [esi + 0x20], 6
je 0x45213b
lea eax, [esp + 0x858]
mov dword [eax], ebx
push eax
call fcn.004317dc
pop eax
mov eax, dword [esi + 0x20]
xor eax, 7
or eax, dword [esi + 0x24]
je 0x452266
mov ecx, esi
call fcn.004522f1
and dword [esi + 0x24], 0
xor eax, eax
mov dword [esi + 0x20], 7
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 0x54]
call fcn.004348b8
movzx eax, al
lea edi, [eax + eax*2]
jmp 0x451d0e
xor edi, edi
jmp 0x451d0e
push 0x10
pop ebx
lea edi, [esp + 0x88]
lea esi, [esp + 0x1c0]
mov ecx, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 4]
mov ecx, edi
call fcn.00452540
mov ecx, ebx
lea esi, [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
push 3
pop edi
jmp 0x451d0e
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.28_src_future_futuremap.rs
push 0x5388e4
call fcn.0050ceed
jmp 0x452283
push 0x2b
pop edx
mov ecx, str.called__Option::unwrap____on_a__None__value
push 0x53c800
jmp 0x45227e
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x88]
lea edx, [esp + 0x468]
mov dword [ecx + 8], 0x53ac40
mov dword [esp + 0x468], eax
xor eax, eax
mov dword [esp + 0x46c], 0x435c9c
inc eax
mov dword [ecx + 0xc], eax
and dword [ecx], 0
mov dword [ecx + 0x10], edx
mov edx, 0x53ac48
jmp 0x45225c
and dword [esi + 0x24], 0
mov dword [esi + 0x20], 6
jmp 0x452271
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x88]
lea edx, [esp + 0x1c0]
mov dword [ecx + 8], 0x53ac40
mov dword [esp + 0x1c0], eax
xor eax, eax
mov dword [esp + 0x1c4], 0x435c9c
inc eax
mov dword [ecx + 0xc], eax
and dword [ecx], 0
mov dword [ecx + 0x10], edx
mov edx, 0x53ad00
mov dword [ecx + 0x14], eax
call fcn.0050ae80
ud2
and dword [esi + 0x24], 0
mov dword [esi + 0x20], 7
push 0x28
pop edx
mov ecx, 0x56e192
push 0x5388f4
call fcn.0050af40
pop eax
ud2
push 0x28
pop edx
mov ecx, 0x56e192
push 0x53b454
jmp 0x45227e
mov dword [esp + 0x618], ecx
push 0xc
pop edx
mov ecx, str.just_sent_Ok
push 0x527900
push 0x526f14
lea eax, [esp + 0x620]
push eax
jmp 0x4522e3
mov ecx, ebx
call fcn.004527cb
mov ecx, 0x53c824
mov edx, 0x53c82c
call fcn.00436286
ud2
push 0x2b
pop edx
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x5280fc
push 0x526fa4
push ebx
call fcn.0050b0f0
add esp, 0xc
ud2
ud2