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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2b0
mov esi, esp
mov dword [esi + 0x298], ebp
mov dword [esi + 0x29c], esp
mov dword [esi + 0x2a8], 0xffffffff
mov dword [esi + 0x2a4], 0x52ff10
lea eax, [esi + 0x2a0]
mov ecx, dword fs:[0]
mov dword [esi + 0x2a0], ecx
mov dword fs:[0], eax
lea eax, [esi + 0xc8]
mov byte [esi + 0x21], 1
mov byte [esi + 0x22], 1
mov byte [esi + 0x23], 1
mov byte [esi + 0x24], 1
mov byte [esi + 0x25], 1
mov byte [esi + 0x26], 1
mov dword [esi + 0x2a8], 4
push eax
call fcn.0056d9c0
add esp, 4
lea ebx, [esi + 0x210]
push 0x88
lea eax, [esi + 0xc8]
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esi + 0x210]
mov ecx, dword [esi + 0x214]
mov dword [esi + 0x10], edi
xor edi, 3
mov dword [esi + 0x1c], ecx
mov eax, edi
or eax, ecx
lea eax, [esi + 0x21a]
je 0x52d43a
push 0x7a
push eax
lea eax, [esi + 0xc8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [ebx + 0x85]
mov word [esi + 0x150], ax
movzx eax, byte [ebx + 0x87]
mov byte [esi + 0x152], al
lea eax, [esi + 0x21a]
push 0x7a
lea ecx, [esi + 0xc8]
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp + 0xc]
movzx eax, byte [esi + 0x152]
movzx edx, byte [ecx]
mov byte [ebx + 0x87], al
movzx eax, word [esi + 0x150]
cmp dl, 0xb
mov word [ebx + 0x85], ax
mov byte [esi + 0x294], 3
mov byte [esi + 0x20], dl
je 0x52d4ec
mov eax, edi
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 8]
or eax, dword [esi + 0x1c]
movzx eax, byte [ecx + 1]
mov dword [esi + 0x44], edx
mov byte [esi + 0x18], al
movzx eax, byte [ecx + 2]
mov byte [esi + 0x2c], al
movzx eax, byte [ecx + 3]
mov byte [esi + 0xc0], al
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 0xc]
mov dword [esi + 0x14], eax
movzx eax, byte [esi + 0x218]
mov dword [esi + 0xbc], ecx
mov byte [esi + 0xb8], al
movzx eax, byte [esi + 0x219]
mov byte [esi + 0xb4], al
jne 0x52d527
cmp byte [esi + 0x20], 0xa
jb 0x52d563
test ebx, ebx
je 0x52d563
push 1
push ebx
push dword [esi + 0x14]
call fcn.00407080
jmp 0x52d560
mov eax, dword [0x69b710]
mov eax, dword [eax]
cmp eax, 1
ja 0x52dac7
movzx eax, byte [0x69b624]
test al, al
je 0x52dac7
movzx ecx, al
cmp ecx, 1
je 0x52d9c7
cmp ecx, 2
jne 0x52d98c
mov al, 2
jmp 0x52d9c7
cmp byte [esi + 0x27c], 0xa
jb 0x52d54b
mov eax, dword [esi + 0x284]
test eax, eax
je 0x52d54b
push 1
push eax
push dword [esi + 0x280]
call fcn.00407080
add esp, 0xc
push 0x62
lea eax, [esi + 0x21a]
push eax
lea eax, [esi + 0xc8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x62
lea eax, [esi + 0xc8]
push eax
lea eax, [esi + 0x21a]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, byte [esi + 0x20]
movzx eax, byte [esi + 0x18]
mov edx, dword [esi + 0x44]
mov byte [esi + 0x27c], cl
mov byte [esi + 0x27d], al
movzx eax, byte [esi + 0x2c]
mov byte [esi + 0x27e], al
movzx eax, byte [esi + 0xc0]
mov byte [esi + 0x27f], al
mov eax, dword [esi + 0x14]
mov dword [esi + 0x280], eax
mov dword [esi + 0x284], ebx
mov dword [esi + 0x28c], edx
mov edx, dword [ebp + 0xc]
mov ebx, dword [esi + 0xbc]
mov edx, dword [edx + 0x44]
mov dword [esi + 0x288], ebx
test edx, edx
je 0x52d65a
cmp cl, 7
jne 0x52d6b2
mov ecx, dword [ebp + 0xc]
mov ebx, dword [esi + 0x1c]
mov dword [esi + 0x2c], edx
mov eax, dword [ecx + 0x50]
movsd xmm0, qword [ecx + 0x48]
or edi, ebx
mov dword [esi + 0x58], eax
movsd qword [esi + 0x50], xmm0
mov dword [esi + 0x4c], edx
jne 0x52d6ed
mov edi, dword [esi + 0x54]
mov eax, dword [edx + 8]
mov edx, dword [esi + 0x50]
lea ecx, [esi + 0x58]
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xc], 0
mov byte [esi + 0xd], 0
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x2a8], 5
push edi
push edx
push ecx
call eax
add esp, 0xc
movzx ebx, byte [esi + 0xb8]
mov bh, byte [esi + 0xb4]
xor edi, edi
mov dword [esi + 0x1c], 3
jmp 0x52d7bd
mov al, 1
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 0xc]
cmp word [eax + 0x54], 0
je 0x52d80c
mov eax, dword [0x69b710]
mov eax, dword [eax]
cmp eax, 1
ja 0x52dda9
movzx eax, byte [0x69b63c]
test al, al
je 0x52dda9
movzx ecx, al
cmp ecx, 1
je 0x52dca5
cmp ecx, 2
jne 0x52dc68
mov dword [esi + 0x2a8], 5
mov al, 2
jmp 0x52dca5
mov eax, dword [0x69b710]
mov eax, dword [eax]
cmp eax, 1
ja 0x52df0e
movzx eax, byte [0x69b630]
test al, al
je 0x52df0e
movzx ecx, al
cmp ecx, 1
je 0x52de0e
cmp ecx, 2
jne 0x52ddd3
mov al, 2
jmp 0x52de0e
mov eax, dword [esi + 0x10]
mov dword [esi + 0xcc], ebx
lea ecx, [esi + 0xd2]
mov dword [esi + 0xc8], eax
movzx eax, byte [esi + 0xb8]
mov byte [esi + 0xd0], al
movzx eax, byte [esi + 0xb4]
mov byte [esi + 0xd1], al
push 0x7e
lea eax, [esi + 0x21a]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esi + 0x4c]
movsd xmm1, qword [esi + 0x54]
lea edx, [esi + 0x150]
lea eax, [esi + 0x148]
mov dword [esi + 0x2a8], 0x10
lea ecx, [esi + 0x78]
movsd qword [esi + 0x158], xmm1
movsd qword [esi + 0x150], xmm0
push edx
push eax
push ecx
call fcn.005039f0
add esp, 0xc
mov eax, dword [esi + 0x78]
test eax, eax
je 0x52d789
lea ecx, [esi + 0x84]
push dword [esi + 0x80]
push dword [esi + 0x7c]
push ecx
call dword [eax + 8]
add esp, 0xc
mov eax, dword [esi + 0xc8]
mov edi, dword [esi + 0xcc]
movzx ebx, byte [esi + 0xd0]
mov bh, byte [esi + 0xd1]
mov dword [esi + 0x1c], eax
push 0x7e
lea eax, [esi + 0xd2]
push eax
lea eax, [esi + 0x150]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea eax, [esi + 0x150]
push 0x7e
push eax
lea eax, [esi + 0x21a]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1c]
movzx ecx, byte [esi + 0x20]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x214], edi
mov dword [esi + 0x1c], 0
mov dword [esi + 0x210], eax
mov byte [esi + 0x218], bl
mov byte [esi + 0x219], bh
mov eax, dword [ebp + 0xc]
cmp word [eax + 0x54], 0
jne 0x52d66d
lea edi, [eax + 0x24]
mov eax, dword [eax + 0x24]
mov byte [esi + 0x4c], 3
mov dword [esi + 0x54], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x2c], edx
mov dword [esi + 0xbc], edi
test eax, eax
mov dword [esi + 0xc0], eax
je 0x52dad4
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
lea edi, [esi + 0x3c]
movsd qword [esi + 0x30], xmm0
movsd qword [esi + 0x38], xmm1
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x34]
mov eax, dword [eax]
mov dword [esi + 0x2a8], 0xc
push edx
push ecx
push edi
lea ecx, [esi + 0xc8]
push ecx
call eax
add esp, 0x10
mov eax, dword [esi + 0xc8]
movsd xmm0, qword [esi + 0xcc]
mov ecx, dword [esi + 0xd4]
test eax, eax
movsd qword [esi + 0x150], xmm0
mov dword [esi + 0x158], ecx
je 0x52f2a5
mov dword [esi + 0xc8], eax
movsd xmm0, qword [esi + 0x150]
mov eax, dword [esi + 0x158]
lea ecx, [esi + 0xc8]
mov dword [esi + 0xd4], eax
movsd qword [esi + 0xcc], xmm0
lea eax, [esi + 0x1ec]
push ecx
push eax
call fcn.00573f00
add esp, 8
mov eax, dword [esi + 0x1ec]
test eax, eax
je 0x52dc23
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x1f0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x1f4]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x54]
test eax, eax
je 0x52d928
mov edi, dword [esi + 0x5c]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x58]
lea ecx, [esi + 0x60]
mov dword [esi + 0x2a8], 0xd
push edi
push edx
push ecx
call eax
add esp, 0xc
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 8]
mov byte [esi + 3], 1
mov byte [esi + 4], 1
mov byte [esi + 5], 0
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
push edx
push ecx
lea ecx, [esi + 0x3c]
push ecx
call eax
add esp, 0xc
movzx ecx, byte [esi + 0x20]
mov edx, dword [esi + 0x2c]
mov dword [esi + 0x10], 0
jmp 0x52dad9
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xc], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 1
mov byte [esi + 0xf], 1
mov dword [esi + 0x2a8], 5
push 0x69b61c
call fcn.0059e2f0
add esp, 4
test al, al
je 0x52dac7
mov ecx, dword [0x69b61c]
movzx eax, al
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xc], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 1
mov byte [esi + 0xf], 1
mov dword [esi + 0x2a8], 5
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x52dac7
mov eax, dword [0x69b61c]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f270
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0xc8], 0x636ee8
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd8], 0
mov dword [esi + 0xd0], 0x636060
mov dword [esi + 0xd4], 0
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xc], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 1
mov byte [esi + 0xf], 1
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
lea ecx, [esi + 0x150]
movlps qword [esi + 0x158], xmm0
mov dword [esi + 0x160], 0
mov dword [esi + 0x4c], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0x50], ecx
lea ecx, [esi + 0x4c]
mov dword [esi + 0x54], 0x636c6c
mov dword [esi + 0x78], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x7c], 1
mov dword [esi + 0x80], ecx
lea ecx, [esi + 0x78]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov bl, 1
jmp 0x52df16
mov al, 1
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0xc]
lea ebx, [eax + 0x14]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x52db52
movsd xmm0, qword [ebx]
movsd xmm1, qword [ebx + 8]
test edx, edx
movsd qword [esi + 0x80], xmm1
movsd qword [esi + 0x78], xmm0
jne 0x52dbac
cmp cl, 7
jne 0x52dbac
mov eax, dword [0x69b710]
mov eax, dword [eax]
cmp eax, 1
ja 0x52e304
movzx eax, byte [0x69b654]
test al, al
je 0x52e304
movzx ecx, al
cmp ecx, 1
je 0x52e233
cmp ecx, 2
jne 0x52e214
mov dword [esi + 0x2a8], 0xa
mov al, 2
jmp 0x52e233
test edx, edx
mov dword [esi + 0xb8], eax
jne 0x52db67
mov al, 1
cmp cl, 7
je 0x52dfe8
mov eax, dword [0x69b710]
mov eax, dword [eax]
cmp eax, 1
ja 0x52ea33
movzx eax, byte [0x69b66c]
test al, al
je 0x52ea33
movzx ecx, al
cmp ecx, 1
je 0x52e937
cmp ecx, 2
jne 0x52e8fe
mov al, 2
mov dword [esi + 0x2a8], 6
jmp 0x52e937
mov ecx, dword [esi + 0x80]
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x44], ebx
mov dword [esi + 0x2a8], 0xa
lea edx, [esi + 0x1e4]
push ecx
push eax
push edx
call fcn.0056dbe0
add esp, 0xc
cmp byte [esi + 0x1e4], 3
jne 0x52df5e
movzx eax, byte [esi + 0x1e5]
lea edi, [ebp + 0x14]
lea ecx, [esi + 0xc8]
lea edx, [esi + 0x78]
push eax
push edi
call fcn.0052fbd0
add esp, 8
movzx eax, byte [esi + 0xc8]
cmp al, 3
jne 0x52e185
mov ecx, dword [esi + 0xcc]
mov edx, dword [esi + 0xd0]
jmp 0x52df6a
movzx eax, byte [esi + 0x1f0]
mov byte [esi + 0x49], al
mov eax, dword [0x69b710]
mov eax, dword [eax]
cmp eax, 1
ja 0x52e489
movzx eax, byte [0x69b648]
test al, al
je 0x52e489
movzx ecx, al
cmp ecx, 1
je 0x52e398
cmp ecx, 2
jne 0x52e383
mov al, 2
jmp 0x52e398
mov eax, dword [esi + 0x1c]
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x2a8], 5
mov byte [esi + 0xc], al
push 0x69b634
call fcn.0059e2f0
add esp, 4
test al, al
je 0x52dda9
mov edx, dword [esi + 0x1c]
mov ecx, dword [0x69b634]
movzx eax, al
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x2a8], 5
mov byte [esi + 0xc], dl
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x52dda9
mov eax, dword [0x69b634]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f2be
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0xc8], 0x636d04
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd8], 0
mov dword [esi + 0xd0], 0x636060
mov dword [esi + 0xd4], 0
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
lea ecx, [esi + 0x150]
movlps qword [esi + 0x158], xmm0
mov dword [esi + 0x160], 0
mov dword [esi + 0x4c], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0x50], ecx
lea ecx, [esi + 0x4c]
mov dword [esi + 0x54], 0x636c6c
mov dword [esi + 0x78], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x7c], 1
mov dword [esi + 0x80], ecx
mov ecx, dword [esi + 0x1c]
mov byte [esi + 0xc], cl
lea ecx, [esi + 0x78]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
xor ebx, ebx
mov word [ecx + 8], 0x100
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 1
mov dword [ecx + 4], 0
mov dword [ecx], 3
jmp 0x52df38
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xc], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x2a8], 5
push 0x69b628
call fcn.0059e2f0
add esp, 4
test al, al
je 0x52df0e
mov ecx, dword [0x69b628]
movzx eax, al
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xc], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x2a8], 5
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x52df0e
mov eax, dword [0x69b628]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f2f5
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0xc8], 0x636cc0
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd8], 0
mov dword [esi + 0xd0], 0x636060
mov dword [esi + 0xd4], 0
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xc], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
lea ecx, [esi + 0x150]
movlps qword [esi + 0x158], xmm0
mov dword [esi + 0x160], 0
mov dword [esi + 0x4c], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0x50], ecx
lea ecx, [esi + 0x4c]
mov dword [esi + 0x54], 0x636c6c
mov dword [esi + 0x78], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x7c], 1
mov dword [esi + 0x80], ecx
lea ecx, [esi + 0x78]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
xor ebx, ebx
mov word [ecx + 8], 0x100
mov dword [ecx + 0xc], eax
mov al, 1
mov dword [ecx + 0x10], 1
mov dword [ecx + 4], 0
mov dword [ecx], 3
mov dword [esi + 0x1c], eax
mov cl, 1
mov al, 1
mov dl, 1
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x210]
xor eax, 3
or eax, dword [esi + 0x214]
jne 0x52f0b4
mov eax, dword [esi + 0x1c]
jmp 0x52f0f7
mov ecx, dword [esi + 0x1e4]
mov edx, dword [esi + 0x1e8]
cmp dword [esi + 0x54], 0
je 0x52df99
mov dword [esi + 0x18], ecx
mov dword [esi + 0x14], edx
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x50]
mov dword [esi + 0x2a8], 0xb
call fcn.004e3f40
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ecx
jmp 0x52df9e
call fcn.00414720
mov eax, dword [esi + 0x78]
mov edi, dword [esi + 0x80]
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0x7c]
lea edx, [esi + 0x84]
mov eax, dword [eax + 8]
mov byte [esi + 3], 1
mov byte [esi + 4], 0
mov byte [esi + 5], bl
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
push edi
push ecx
push edx
call eax
add esp, 0xc
movzx ecx, byte [esi + 0x20]
mov ebx, dword [esi + 0x44]
xor eax, eax
mov dword [esi + 0x18], eax
mov eax, dword [ebp + 0xc]
lea edx, [eax + 0x34]
mov eax, dword [eax + 0x34]
test eax, eax
mov dword [esi + 0xb4], eax
je 0x52e06d
mov eax, dword [esi + 0x2c]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
test eax, eax
movsd qword [esi + 0x80], xmm1
movsd qword [esi + 0x78], xmm0
jne 0x52e0d3
cmp cl, 7
jne 0x52e0d3
mov eax, dword [0x69b710]
mov eax, dword [eax]
cmp eax, 1
ja 0x52ef99
movzx eax, byte [0x69b678]
test al, al
je 0x52ef99
movzx ecx, al
cmp ecx, 1
je 0x52ea84
cmp ecx, 2
jne 0x52ea65
mov dword [esi + 0x2a8], 8
mov al, 2
jmp 0x52ea84
cmp cl, 7
mov al, 1
mov dword [esi + 0xc4], edx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x14], eax
jne 0x52e5d9
cmp dword [esi + 0x2c], 0
je 0x52e5d9
mov eax, dword [0x69b710]
mov eax, dword [eax]
cmp eax, 1
ja 0x52ecef
movzx eax, byte [0x69b69c]
test al, al
je 0x52ecef
movzx ecx, al
cmp ecx, 1
je 0x52ebef
cmp ecx, 2
jne 0x52ebb4
mov dword [esi + 0x2a8], 6
mov al, 2
jmp 0x52ebef
mov eax, dword [esi + 0x80]
test eax, eax
je 0x52e1cf
mov ecx, dword [esi + 0x78]
mov dword [esi + 0xc4], edx
mov edx, dword [esi + 0x7c]
mov dword [esi + 0x44], ebx
lea edi, [esi + 0x84]
mov ecx, dword [ecx]
mov dword [esi + 0x2a8], 8
push eax
push edx
push edi
lea eax, [esi + 0xc8]
push eax
call ecx
add esp, 0x10
movsd xmm0, qword [esi + 0xc8]
movsd xmm1, qword [esi + 0xd0]
lea eax, [esi + 0x150]
lea ecx, [esi + 0x1fc]
movsd qword [esi + 0x158], xmm1
movsd qword [esi + 0x150], xmm0
push eax
push ecx
call fcn.005298d0
add esp, 8
cmp dword [esi + 0x1fc], 0
je 0x52e4f3
mov eax, dword [esi + 0x20c]
movsd xmm0, qword [esi + 0x1fc]
movsd xmm1, qword [esi + 0x204]
mov dword [esi + 0xdc], eax
movsd qword [esi + 0xd4], xmm1
movsd qword [esi + 0xcc], xmm0
jmp 0x52e51d
movzx ecx, byte [esi + 0xcb]
mov edx, dword [ebp + 8]
movsd xmm0, qword [esi + 0xd4]
mov ebx, dword [esi + 0xd0]
mov edi, dword [esi + 0xcc]
mov byte [edx + 0xb], cl
movzx ecx, word [esi + 0xc9]
mov word [edx + 9], cx
mov ecx, dword [esi + 0xdc]
movsd qword [edx + 0x14], xmm0
mov dword [edx + 0x1c], ecx
mov byte [edx + 8], al
mov ecx, edx
mov dword [edx + 0x10], ebx
mov dword [edx + 0xc], edi
jmp 0x52e324
mov eax, dword [0x69b710]
mov eax, dword [eax]
cmp eax, 1
ja 0x52ef99
movzx eax, byte [0x69b684]
test al, al
je 0x52ef99
movzx ecx, al
cmp ecx, 1
je 0x52eec8
cmp ecx, 2
jne 0x52eea9
mov dword [esi + 0x2a8], 8
mov al, 2
jmp 0x52eec8
mov dword [esi + 0x2a8], 0xa
push 0x69b64c
call fcn.0059e2f0
add esp, 4
test al, al
je 0x52e304
mov ecx, dword [0x69b64c]
movzx eax, al
mov dword [esi + 0x2a8], 0xa
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x52e304
mov eax, dword [0x69b64c]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f32a
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0xc8], 0x636d44
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd8], 0
mov dword [esi + 0xd0], 0x636060
mov dword [esi + 0xd4], 0
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
lea ecx, [esi + 0x150]
movlps qword [esi + 0x158], xmm0
mov dword [esi + 0x160], 0
mov dword [esi + 0xa8], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0xac], ecx
lea ecx, [esi + 0xa8]
mov dword [esi + 0xb0], 0x636c6c
mov dword [esi + 0x30], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x30]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x2a8], 6
mov word [ecx + 8], 0x100
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 1
mov eax, dword [esi + 0x78]
mov dword [ecx], 3
mov dword [ecx + 4], 0
mov ecx, dword [esi + 0x80]
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0x7c]
lea edx, [esi + 0x84]
mov eax, dword [eax + 8]
mov byte [esi + 3], 1
mov byte [esi + 4], 0
mov byte [esi + 5], bl
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
push ecx
push edi
push edx
call eax
add esp, 0xc
mov al, 1
mov dword [esi + 0x18], 0
mov dword [esi + 0x14], eax
jmp 0x52f010
push 0x69b640
call fcn.0059e2f0
add esp, 4
test al, al
je 0x52e489
movzx eax, al
push eax
push dword [0x69b640]
call fcn.005313d0
add esp, 8
test al, al
je 0x52e489
mov eax, dword [0x69b640]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f343
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0xc8], 0x636f2c
mov dword [esi + 0xcc], 2
mov dword [esi + 0xd8], 0
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
lea ecx, [esi + 0x30]
movlps qword [esi + 0x158], xmm0
mov dword [esi + 0x160], 0
mov dword [esi + 0x78], ecx
lea ecx, [esi + 0x49]
mov dword [esi + 0x7c], 0x529510
mov dword [esi + 0x80], ecx
lea ecx, [esi + 0x78]
mov dword [esi + 0x84], 0x572690
mov dword [esi + 0xd0], ecx
lea ecx, [esi + 0x150]
mov dword [esi + 0xd4], 2
mov dword [esi + 0x1d8], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0x1dc], ecx
lea ecx, [esi + 0x1d8]
mov dword [esi + 0x1e0], 0x636c6c
mov dword [esi + 0xa8], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0xac], 1
mov dword [esi + 0xb0], ecx
lea ecx, [esi + 0xa8]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov edx, dword [esi + 0x34]
mov word [ecx + 8], 0x100
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x30]
mov dword [ecx + 0x10], 1
mov dword [ecx], 3
mov dword [ecx + 4], 0
mov ecx, dword [esi + 0x38]
mov eax, dword [eax + 8]
mov byte [esi + 3], 1
mov byte [esi + 4], 1
mov byte [esi + 5], 0
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
push ecx
push edx
lea ecx, [esi + 0x3c]
push ecx
call eax
add esp, 0xc
mov al, 1
mov dword [esi + 0x10], 0
jmp 0x52ea58
lea eax, [ebp + 0x14]
lea ecx, [esi + 0xc8]
lea edx, [esi + 0x78]
push dword [esi + 0x200]
push eax
call fcn.0052fd20
add esp, 8
movzx eax, byte [esi + 0xc8]
cmp al, 3
jne 0x52eb5a
mov eax, dword [esi + 0xdc]
movsd xmm0, qword [esi + 0xcc]
movsd xmm1, qword [esi + 0xd4]
mov dword [esi + 0x163], eax
mov eax, dword [esi + 0x64]
movsd qword [esi + 0x15b], xmm1
movsd qword [esi + 0x153], xmm0
test eax, eax
je 0x52e56e
mov edi, dword [esi + 0x6c]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x68]
lea ecx, [esi + 0x70]
mov dword [esi + 0x2a8], 9
push edi
push edx
push ecx
call eax
add esp, 0xc
lea edx, [esi + 0x153]
lea ecx, [esi + 0x64]
mov ebx, dword [esi + 0x18]
mov eax, dword [edx + 0x10]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov edx, dword [esi + 0x80]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x78]
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm0
mov ecx, dword [esi + 0x7c]
mov eax, dword [eax + 8]
mov byte [esi + 4], bl
mov ebx, dword [esi + 0x10]
mov byte [esi + 3], 0
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
mov byte [esi + 5], bl
push edx
push ecx
lea ecx, [esi + 0x84]
push ecx
call eax
add esp, 0xc
mov dword [esi + 0x14], 0
push 0x88
lea eax, [esi + 0x210]
push eax
lea edi, [esi + 0xc8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x74]
movsd xmm2, qword [esi + 0x64]
movsd xmm1, qword [esi + 0x5c]
movsd xmm0, qword [esi + 0x6c]
mov byte [esi + 6], 1
mov byte [esi + 7], 0
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
lea ecx, [esi + 0x150]
mov edx, edi
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x14]
movsd qword [esi + 0x90], xmm2
movsd qword [esi + 0x88], xmm1
movsd xmm2, qword [esi + 0x4c]
movsd xmm1, qword [esi + 0x54]
movsd qword [esi + 0x98], xmm0
mov byte [esi + 3], al
mov eax, dword [esi + 0x18]
movsd qword [esi + 0x80], xmm1
movsd qword [esi + 0x78], xmm2
mov byte [esi + 4], al
mov eax, dword [esi + 0x10]
mov byte [esi + 5], al
lea eax, [esi + 0x78]
push eax
call fcn.0052bac0
add esp, 4
push 0x88
lea eax, [esi + 0x150]
push eax
lea eax, [esi + 0x210]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edi, dword [esi + 0x210]
mov ebx, dword [esi + 0x214]
movzx edx, byte [esi + 0x218]
movzx ecx, byte [esi + 0x219]
mov eax, edi
xor eax, 3
or eax, ebx
jne 0x52e6fc
mov eax, dword [0x69b710]
mov byte [esi + 0x49], dl
mov byte [esi + 0x4a], cl
mov eax, dword [eax]
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
cmp eax, 1
ja 0x52ee7a
movzx eax, byte [0x69b6a8]
test al, al
je 0x52ee7a
movzx ecx, al
cmp ecx, 1
je 0x52ed52
cmp ecx, 2
jne 0x52ed1c
mov al, 2
jmp 0x52ed52
lea eax, [esi + 0xd2]
push 0x7e
mov byte [esi + 0x20], cl
lea ecx, [esi + 0x21a]
push ecx
push eax
mov byte [esi + 0x4b], dl
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp + 0x10]
movzx eax, byte [esi + 0x4b]
movzx edx, byte [esi + 0x20]
mov dword [esi + 0xcc], ebx
mov dword [esi + 0xc8], edi
mov dword [esi + 0x2a8], 7
movsd xmm1, qword [ecx + 0x30]
movsd xmm2, qword [ecx + 0x28]
movsd xmm0, qword [ecx + 0x38]
mov byte [esi + 0xd0], al
mov byte [esi + 0xd1], dl
movsd qword [esi + 0x180], xmm1
movsd xmm1, qword [ecx + 0x20]
movsd qword [esi + 0x178], xmm2
movsd xmm2, qword [ecx + 0x18]
movsd qword [esi + 0x188], xmm0
movsd qword [esi + 0x170], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [esi + 0x168], xmm2
movsd xmm2, qword [ecx]
movsd qword [esi + 0x160], xmm1
movsd xmm1, qword [ecx + 8]
lea ecx, [esi + 0xc8]
movsd qword [esi + 0x150], xmm2
movsd qword [esi + 0x158], xmm1
call fcn.0040b460
movsd xmm1, qword [esi + 0x180]
movsd xmm2, qword [esi + 0x178]
movsd xmm0, qword [esi + 0x188]
movsd qword [esi + 0xf8], xmm1
movsd xmm1, qword [esi + 0x170]
movsd qword [esi + 0xf0], xmm2
movsd xmm2, qword [esi + 0x168]
movsd qword [esi + 0x100], xmm0
movsd qword [esi + 0xe8], xmm1
movsd xmm1, qword [esi + 0x160]
movsd qword [esi + 0xe0], xmm2
movsd xmm2, qword [esi + 0x150]
movsd qword [esi + 0xd8], xmm1
movsd xmm1, qword [esi + 0x158]
movsd qword [esi + 0xc8], xmm2
movsd qword [esi + 0xd0], xmm1
push 0x88
lea eax, [esi + 0xc8]
push eax
push dword [ebp + 8]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0xb8], 0
mov eax, dword [esi + 0x44]
jne 0x52e883
mov eax, dword [eax]
test eax, eax
je 0x52e883
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esi + 0x2a8], 2
lea ecx, [edi + 0x20]
mov edx, dword [edi + 0x18]
mov edi, dword [edi + 0x1c]
push edi
push edx
push ecx
call eax
add esp, 0xc
cmp dword [esi + 0xc0], 0
jne 0x52e8b9
mov eax, dword [esi + 0xbc]
mov eax, dword [eax]
test eax, eax
je 0x52e8b9
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esi + 0x2a8], 1
lea ecx, [edi + 0x30]
mov edx, dword [edi + 0x28]
mov edi, dword [edi + 0x2c]
push edi
push edx
push ecx
call eax
add esp, 0xc
cmp dword [esi + 0xb4], 0
jne 0x52e8ef
mov eax, dword [esi + 0xc4]
mov eax, dword [eax]
test eax, eax
je 0x52e8ef
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esi + 0x2a8], 0
lea ecx, [edi + 0x40]
mov edx, dword [edi + 0x38]
mov edi, dword [edi + 0x3c]
push edi
push edx
push ecx
call eax
add esp, 0xc
cmp dword [esi + 0x2c], 0
je 0x52f1ec
jmp 0x52f217
mov eax, dword [esi + 0x10]
mov byte [esi + 3], 1
mov byte [esi + 4], 1
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
mov byte [esi + 5], al
push 0x69b664
call fcn.0059e2f0
add esp, 4
test al, al
je 0x52ea33
mov edx, dword [esi + 0x10]
mov ecx, dword [0x69b664]
movzx eax, al
mov byte [esi + 3], 1
mov byte [esi + 4], 1
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
mov byte [esi + 5], dl
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x52ea33
mov eax, dword [0x69b664]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f35c
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0xc8], 0x636eac
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd8], 0
mov dword [esi + 0xd0], 0x636060
mov dword [esi + 0xd4], 0
mov byte [esi + 3], 1
mov byte [esi + 4], 1
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
lea ecx, [esi + 0x150]
movlps qword [esi + 0x158], xmm0
mov dword [esi + 0x160], 0
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0x34], ecx
lea ecx, [esi + 0x30]
mov dword [esi + 0x38], 0x636c6c
mov dword [esi + 0x78], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x7c], 1
mov dword [esi + 0x80], ecx
mov ecx, dword [esi + 0x10]
mov byte [esi + 5], cl
lea ecx, [esi + 0x78]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov word [ecx + 8], 0x100
mov dword [ecx + 0xc], eax
mov al, 1
mov dword [ecx + 0x10], 1
mov dword [ecx + 4], 0
mov dword [ecx], 3
mov dword [esi + 0x14], eax
mov al, 1
mov dword [esi + 0x18], eax
jmp 0x52f010
mov dword [esi + 0x2a8], 8
push 0x69b670
call fcn.0059e2f0
add esp, 4
test al, al
je 0x52ef99
mov ecx, dword [0x69b670]
movzx eax, al
mov dword [esi + 0x2a8], 8
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x52ef99
mov eax, dword [0x69b670]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f38f
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0xc8], 0x636d80
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd8], 0
mov dword [esi + 0xd0], 0x636060
mov dword [esi + 0xd4], 0
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
lea ecx, [esi + 0x150]
movlps qword [esi + 0x158], xmm0
mov dword [esi + 0x160], 0
mov dword [esi + 0xa8], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0xac], ecx
lea ecx, [esi + 0xa8]
mov dword [esi + 0xb0], 0x636c6c
mov dword [esi + 0x30], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x30]
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x52ef99
movsd xmm0, qword [esi + 0xd8]
movsd xmm1, qword [esi + 0xd1]
mov ecx, dword [ebp + 8]
movsd qword [esi + 0x15f], xmm0
movsd qword [esi + 0x158], xmm1
movsd xmm0, qword [esi + 0xc9]
movsd xmm2, qword [esi + 0x15f]
movsd xmm1, qword [esi + 0x158]
movsd qword [esi + 0x150], xmm0
movsd qword [ecx + 9], xmm0
movsd qword [ecx + 0x18], xmm2
movsd qword [ecx + 0x11], xmm1
mov byte [ecx + 8], al
jmp 0x52efb9
mov eax, dword [esi + 0x18]
mov byte [esi + 3], 1
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
mov byte [esi + 4], al
mov eax, dword [esi + 0x10]
mov byte [esi + 5], al
push 0x69b694
call fcn.0059e2f0
add esp, 4
test al, al
je 0x52ecef
mov edx, dword [esi + 0x18]
mov ecx, dword [0x69b694]
movzx eax, al
mov byte [esi + 3], 1
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
mov byte [esi + 4], dl
mov edx, dword [esi + 0x10]
mov byte [esi + 5], dl
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x52ecef
mov eax, dword [0x69b694]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f3a5
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0xc8], 0x636e70
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd8], 0
mov dword [esi + 0xd0], 0x636060
mov dword [esi + 0xd4], 0
mov byte [esi + 3], 1
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
lea ecx, [esi + 0x150]
movlps qword [esi + 0x158], xmm0
mov dword [esi + 0x160], 0
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0x34], ecx
lea ecx, [esi + 0x30]
mov dword [esi + 0x38], 0x636c6c
mov dword [esi + 0x78], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x7c], 1
mov dword [esi + 0x80], ecx
mov ecx, dword [esi + 0x18]
mov byte [esi + 4], cl
mov ecx, dword [esi + 0x10]
mov byte [esi + 5], cl
lea ecx, [esi + 0x78]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov word [ecx + 8], 0x100
mov dword [ecx + 0xc], eax
mov al, 1
mov dword [ecx + 0x10], 1
mov dword [ecx + 4], 0
mov dword [ecx], 3
mov dword [esi + 0x14], eax
jmp 0x52f010
mov eax, dword [esi + 0x14]
mov byte [esi + 4], dl
mov byte [esi + 6], 1
mov byte [esi + 7], 0
mov byte [esi + 8], 1
mov byte [esi + 3], al
mov eax, dword [esi + 0x10]
mov byte [esi + 5], al
push 0x69b6a0
call fcn.0059e2f0
add esp, 4
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
test al, al
je 0x52ee7a
mov ebx, dword [esi + 0x14]
mov byte [esi + 4], dl
mov edx, dword [esi + 0x10]
mov ecx, dword [0x69b6a0]
movzx eax, al
mov byte [esi + 6], 1
mov byte [esi + 7], 0
mov byte [esi + 8], 1
mov byte [esi + 3], bl
mov byte [esi + 5], dl
push eax
push ecx
call fcn.005313d0
add esp, 8
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
test al, al
je 0x52ee7a
mov eax, dword [0x69b6a0]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f3d7
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + str.stream_error_PROTOCOL_ERROR____error_building_request:___stream_], 0x636e14
mov dword [esi + 0x154], 3
mov dword [esi + 0x160], 0
mov byte [esi + 6], 1
mov byte [esi + 7], 0
mov byte [esi + 8], 1
mov dword [esi + 0x78], edx
mov dword [esi + 0x7c], ecx
lea ecx, [esi + 0x49]
movlps qword [esi + 0x80], xmm0
mov dword [esi + 0x88], 0
mov dword [esi + 0x30], ecx
lea ecx, [ebp + 0x14]
mov dword [esi + 0x34], 0x573a80
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x30]
mov dword [esi + 0x3c], 0x52fe70
mov dword [esi + 0x158], ecx
lea ecx, [esi + 0x78]
mov dword [esi + 0x15c], 2
mov dword [esi + 0x1d8], ecx
lea ecx, [esi + 0x150]
mov dword [esi + 0x1dc], ecx
lea ecx, [esi + 0x1d8]
mov dword [esi + 0x1e0], 0x636c6c
mov dword [esi + 0xa8], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0xac], 1
mov dword [esi + 0xb0], ecx
mov ecx, dword [esi + 0x14]
mov byte [esi + 3], cl
mov ecx, dword [esi + 0x18]
mov byte [esi + 4], cl
mov ecx, dword [esi + 0x10]
mov byte [esi + 5], cl
lea ecx, [esi + 0xa8]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
xor ebx, ebx
mov word [ecx + 8], 0x100
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 1
mov dword [ecx + 4], 0
mov dword [ecx], 3
mov ecx, dword [esi + 0x10]
mov eax, edi
jmp 0x52f0f7
mov dword [esi + 0x2a8], 8
push 0x69b67c
call fcn.0059e2f0
add esp, 4
test al, al
je 0x52ef99
mov ecx, dword [0x69b67c]
movzx eax, al
mov dword [esi + 0x2a8], 8
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x52ef99
mov eax, dword [0x69b67c]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x52f40b
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
mov dword [esi + 0xc8], 0x636db8
mov dword [esi + 0xcc], 1
mov dword [esi + 0xd8], 0
mov dword [esi + 0xd0], 0x636060
mov dword [esi + 0xd4], 0
mov dword [esi + 0x150], edx
mov dword [esi + 0x154], ecx
lea ecx, [esi + 0x150]
movlps qword [esi + 0x158], xmm0
mov dword [esi + 0x160], 0
mov dword [esi + 0xa8], ecx
lea ecx, [esi + 0xc8]
mov dword [esi + 0xac], ecx
lea ecx, [esi + 0xa8]
mov dword [esi + 0xb0], 0x636c6c
mov dword [esi + 0x30], ecx
lea ecx, [eax + 0x1c]
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x30]
push ecx
push eax
call fcn.00531b00
add esp, 8
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x2a8], 6
mov word [ecx + 8], 0x100
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 1
mov dword [ecx + 4], 0
mov dword [ecx], 3
mov eax, dword [esi + 0x78]
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x80]
mov ecx, dword [esi + 0x7c]
lea edx, [esi + 0x84]
mov eax, dword [eax + 8]
mov byte [esi + 4], bl
mov ebx, dword [esi + 0x10]
mov byte [esi + 3], 0
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov dword [esi + 0x2a8], 6
mov byte [esi + 5], bl
push edi
push ecx
push edx
call eax
add esp, 0xc
mov dword [esi + 0x14], 0
movzx eax, byte [esi + 0x4c]
mov edi, dword [esi + 0x50]
cmp eax, 3
ja 0x52f22e
cmp eax, 2
je 0x52f22e
mov eax, dword [esi + 0x54]
test eax, eax
je 0x52f04e
mov edi, dword [esi + 0x5c]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x58]
lea ecx, [esi + 0x60]
mov dword [esi + 0x2a8], 0xe
push edi
push edx
push ecx
call eax
add esp, 0xc
mov eax, dword [esi + 0x64]
test eax, eax
je 0x52f097
mov ebx, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov edi, dword [esi + 0x6c]
mov edx, dword [esi + 0x68]
lea ecx, [esi + 0x70]
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
mov dword [esi + 0x2a8], 5
mov byte [esi + 9], bl
mov ebx, dword [esi + 0x18]
mov byte [esi + 0xa], bl
mov ebx, dword [esi + 0x10]
mov byte [esi + 0xb], bl
mov ebx, dword [esi + 0x1c]
mov byte [esi + 0xc], bl
push edi
push edx
push ecx
call eax
add esp, 0xc
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x18]
xor ebx, ebx
mov eax, dword [esi + 0x210]
xor eax, 3
or eax, dword [esi + 0x214]
je 0x52df56
mov eax, dword [esi + 0x14]
mov byte [esi + 0x23], cl
mov dword [esi + 0x10], ecx
lea ecx, [esi + 0x210]
mov byte [esi + 0x22], dl
mov dword [esi + 0x2c], ebx
mov byte [esi + 0x25], bl
mov byte [esi + 0x26], 1
mov dword [esi + 0x2a8], 4
mov dword [esi + 0x18], edx
mov byte [esi + 0x21], al
mov eax, dword [esi + 0x1c]
mov byte [esi + 0x24], al
call fcn.00466410
mov ebx, dword [esi + 0x2c]
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x1c]
mov byte [esi + 0x2b], bl
mov ebx, dword [esi + 0x14]
mov dword [esi + 0x10], ecx
mov byte [esi + 0x29], cl
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x18], edx
mov byte [esi + 0x28], dl
mov dword [esi + 0x1c], eax
mov byte [esi + 0x2a], al
mov dword [esi + 0x2a8], 3
mov byte [esi + 0x27], bl
call fcn.0040b460
cmp byte [esi + 0x20], 0xb
jne 0x52f153
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp al, 0xb
je 0x52f153
cmp al, 0xa
jb 0x52f153
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
test eax, eax
je 0x52f153
push 1
push eax
mov eax, dword [ebp + 0xc]
push dword [eax + 4]
call fcn.00407080
add esp, 0xc
cmp byte [esi + 0x18], 0
je 0x52f184
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x52f184
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esi + 0x2a8], 0x13
lea ecx, [edi + 0x20]
mov edx, dword [edi + 0x18]
mov edi, dword [edi + 0x1c]
push edi
push edx
push ecx
call eax
add esp, 0xc
cmp byte [esi + 0x10], 0
je 0x52f1b5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x52f1b5
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esi + 0x2a8], 0x12
lea ecx, [edi + 0x30]
mov edx, dword [edi + 0x28]
mov edi, dword [edi + 0x2c]
push edi
push edx
push ecx
call eax
add esp, 0xc
cmp byte [esi + 0x14], 0
je 0x52f1e6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x52f1e6
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esi + 0x2a8], 0x11
lea ecx, [edi + 0x40]
mov edx, dword [edi + 0x38]
mov edi, dword [edi + 0x3c]
push edi
push edx
push ecx
call eax
add esp, 0xc
cmp byte [esi + 0x1c], 0
je 0x52f217
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x52f217
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esi + 0x2a8], 0xffffffff
lea ecx, [edi + 0x50]
mov edx, dword [edi + 0x48]
mov edi, dword [edi + 0x4c]
push edi
push edx
push ecx
call eax
add esp, 0xc
mov eax, dword [esi + 0x2a0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [edi]
mov ecx, dword [edi + 4]
lea edx, [edi + 0xc]
mov dword [esi + 0x2c], edi
mov edi, dword [edi + 8]
mov eax, dword [eax + 8]
mov dword [esi + 0x2a8], 0xf
push edi
push ecx
push edx
call eax
add esp, 0xc
push 4
push 0x10
push dword [esi + 0x2c]
call fcn.00407080
add esp, 0xc
mov eax, dword [esi + 0x54]
test eax, eax
jne 0x52f030
jmp 0x52f04e
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xc], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 1
mov byte [esi + 0xf], 1
push 0x636eb4
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
jmp 0x52f41f
push 0x61d4a4
push 0x2b
push str.called__Option::unwrap____on_a__None__valueC:UsersLitch1.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8http_0.2.9_srcuri_authority.rs
call fcn.005a0b60
add esp, 0xc
jmp 0x52f41f
mov eax, dword [esi + 0x1c]
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
mov byte [esi + 0xc], al
push 0x636cc8
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
jmp 0x52f41f
mov byte [esi + 9], 1
mov byte [esi + 0xa], 1
mov byte [esi + 0xb], 1
mov byte [esi + 0xc], 1
mov byte [esi + 0xd], 1
mov byte [esi + 0xe], 0
mov byte [esi + 0xf], 1
push 0x636c7c
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
jmp 0x52f41f
push 0x636d0c
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
jmp 0x52f41f
push 0x636ef0
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
jmp 0x52f41f
mov eax, dword [esi + 0x10]
mov byte [esi + 3], 1
mov byte [esi + 4], 1
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov byte [esi + 5], al
push 0x636e78
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
jmp 0x52f41f
push 0x636d4c
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
jmp 0x52f41f
mov eax, dword [esi + 0x18]
mov byte [esi + 3], 1
mov byte [esi + 6], 0
mov byte [esi + 7], 1
mov byte [esi + 8], 1
mov byte [esi + 4], al
mov eax, dword [esi + 0x10]
mov byte [esi + 5], al
push 0x636e2c
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
jmp 0x52f41f
mov eax, dword [esi + 0x14]
mov byte [esi + 6], 1
mov byte [esi + 7], 0
mov byte [esi + 8], 1
mov byte [esi + 3], al
mov eax, dword [esi + 0x18]
mov byte [esi + 4], al
mov eax, dword [esi + 0x10]
mov byte [esi + 5], al
push 0x636dc0
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
jmp 0x52f41f
push 0x636d88
push 0x22
push 0x636c49
call fcn.005a0a40
add esp, 0xc
ud2