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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x428
mov eax, ecx
add ecx, 0xf8
mov dword [esp + 0xb4], edx
xor edx, edx
mov dword [esp + 0x310], ecx
lea ecx, [eax + 0xa0]
inc edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x180], ecx
lea ecx, [eax + 0x70]
mov dword [esp + 0x1d8], edx
mov dword [esp + 0x184], ecx
lea ecx, [eax + 0x14]
mov dword [esp + 0x190], ecx
lea ecx, [eax + 0x5c]
mov dword [esp + 0x88], ecx
lea ecx, [eax + 0x6c]
mov dword [esp + 0x1dc], ecx
lea ecx, [eax + 0x54]
mov dword [esp + 0x188], ecx
lea ecx, [eax + 0x50]
mov dword [esp + 0x314], ecx
lea ecx, [eax + 0xc0]
mov dword [esp + 0x308], ecx
lea ecx, [esp + 0x318]
mov dword [esp + 0x194], eax
mov esi, eax
call fcn.004d2162
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa4]
mov esi, dword [esi + 0xac]
movdqa xmm0, xmmword [eax]
lea ecx, [ecx + eax + 1]
mov dword [esp + 0x1e0], eax
add eax, 0x10
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], ecx
pmovmskb edx, xmm0
not edx
mov word [esp + 0x1ec], dx
mov dword [esp + 0x1f0], esi
lea ecx, [esp + 0x1e0]
call fcn.004d21be
test eax, eax
je 0x4d2f5d
movzx edi, word [eax]
mov esi, edx
mov word [esp + 0x28], di
mov ecx, dword [edx + 0x10]
mov edx, dword [edx + 0x18]
call fcn.004b9a8e
test al, al
je 0x4d2d94
mov ecx, str.requestor_canceled
push 0x12
pop edx
call fcn.00489b0b
lea ecx, [esp + 0x318]
mov edx, edi
push eax
call fcn.004d2369
pop ecx
lea ecx, [esp + 0x260]
mov dword [esp + 0x260], eax
call fcn.004c2a12
mov eax, dword [esi + 0xc]
push dword [esp + 0xb4]
push dword [esi + 8]
call dword [eax + 0xc]
add esp, 8
test al, al
jne 0x4d2d37
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d2f1d
mov esi, dword [0x7f1f7c]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x50], 4
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x50]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d2f1d
mov eax, dword [esp + 0x58]
movq xmm0, qword [esp + 0x50]
mov dword [esp + 8], edi
mov edi, dword [0x7f1f7c]
mov dword [esp + 0x150], eax
movq qword [esp + 0x148], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d2e53
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0x264], ecx
mov ecx, dword [esp]
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], edx
and dword [esp + 0x270], 0
jmp 0x4d2e55
xor eax, eax
add edi, 0x1c
mov dword [esp + 0x260], eax
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x260]
push 0x739660
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x1a8]
xor ecx, ecx
mov dword [esp + str.request_timed_out:], 0x739684
mov edx, ebx
mov dword [esp + 0x90], eax
lea eax, [esp + 0x28]
inc ecx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x264], ecx
and dword [esp + 0x270], 0
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edi
mov dword [esp + 0x3c], fcn.0045c360
mov dword [esp + 0x268], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x26c], ecx
mov ecx, esi
mov dword [esp + 0x1a8], eax
lea eax, [esp + 0x260]
mov dword [esp + 0x1ac], eax
lea eax, [esp + 0x90]
mov dword [esp + fcn.00414ed0], 0x737ff8
push eax
lea eax, [esp + 0x14c]
push eax
mov eax, dword [esp + 0x10]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
movzx esi, word [esp + 0x28]
lea edi, [esp + 0x260]
mov word [esp + 0x260], 0x22
mov ecx, edi
call fcn.00489bc6
lea ecx, [esp + 0x318]
mov edx, esi
push eax
call fcn.004d2369
pop ecx
mov ecx, edi
mov dword [esp + 0x260], eax
call fcn.004c2a12
jmp 0x4d2d37
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x318]
call fcn.004d21cf
lea ecx, [esp + 0x1e0]
call fcn.004d224d
test edx, edx
je 0x4d3026
mov esi, edx
mov dword [esp + 0x1a8], edx
mov edx, dword [esp + 0x180]
mov word [esp + 0x90], ax
lea eax, [esp + 0x90]
lea ecx, [esp + 0xb8]
push eax
call fcn.004d229f
pop eax
cmp byte [esp + 0xd0], 3
jne 0x4d2fcb
lea eax, [esp + 0x1a8]
push eax
call fcn.004bc94c
pop eax
jmp 0x4d2f70
movsd xmm1, qword [esp + 0xc8]
movq xmm0, qword [esp + 0xd0]
movsd xmm2, qword [esp + 0xb8]
lea ecx, [esp + 0x260]
mov edx, esi
movsd qword [esp + 0x270], xmm1
movsd xmm1, qword [esp + 0xc0]
movq qword [esp + 0x278], xmm0
movsd qword [esp + 0x260], xmm2
movsd qword [esp + 0x268], xmm1
call fcn.004b9aa8
jmp 0x4d2f70
lea ecx, [esp + 0x1e0]
call fcn.004d2266
mov edx, dword [esp + 0xc]
cmp byte [edx + 0xf0], 0
je 0x4d304c
cmp dword [edx + 0xac], 0
je 0x4d60aa
xor esi, esi
cmp esi, 0x64
je 0x4d50cd
mov eax, dword [esp + 0x184]
inc esi
mov dword [esp + 0x84], esi
movsd xmm1, qword [eax + 0x10]
movq xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esp + 0x158], xmm1
movsd xmm1, qword [eax + 8]
movq qword [esp + 0x160], xmm0
movsd qword [esp + 0x148], xmm2
movsd qword [esp + 0x150], xmm1
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
cmp ecx, 0x80000002
jne 0x4d3219
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x190]
lea ecx, [esp + 0xb8]
push dword [eax]
call fcn.004d1976
pop eax
mov ebx, dword [esp + 0xb8]
cmp ebx, 0x80000000
je 0x4d3523
cmp ebx, 0x80000001
je 0x4d3734
push 0xb
pop ecx
lea edi, [esp + 0x260]
lea esi, [esp + 0xb8]
lea edx, [esp + 0x26c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x148]
movsd xmm1, qword [edx + 0x10]
movq xmm0, qword [edx + 0x18]
movsd xmm2, qword [edx]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xc0]
movsd qword [esp + 0xa0], xmm1
movsd xmm1, qword [edx + 8]
movq qword [esp + 0xa8], xmm0
movsd qword [esp + 0x90], xmm2
movsd qword [esp + 0x98], xmm1
call fcn.00539f7b
test al, al
jne 0x4d35cc
mov dword [esp + 8], esi
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d34b4
mov esi, dword [0x7f245c]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x19c], 4
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
call fcn.00513e14
mov ecx, eax
lea eax, [esp + 0x19c]
push eax
mov dword [esp + 4], ecx
push ecx
mov dword [esp + 0xc], edx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d34b4
mov eax, dword [esp + 0x1a4]
movq xmm0, qword [esp + 0x19c]
mov ecx, dword [0x7f245c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x178], eax
movq qword [esp + 0x170], xmm0
lea eax, [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x24], eax
test edx, edx
je 0x4d33fd
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], ecx
and dword [esp + 0x60], 0
jmp 0x4d33ff
lea eax, [ecx - 0x7fffffff]
cmp ecx, 0x80000002
mov esi, 0
cmovge eax, esi
test eax, eax
je 0x4d32a0
cmp eax, 1
jne 0x4d329b
mov ecx, dword [edx + 0x64]
mov edi, edx
mov edx, dword [edx + 0x68]
push 0x73da14
push dword [edi + 0x6c]
call fcn.0042776f
pop ecx
pop ecx
mov esi, edx
lea ecx, [esp + 0xb8]
mov edx, edi
push esi
push eax
push dword [esp + 0xbc]
call fcn.005d8c78
add esp, 0xc
cmp byte [esp + 0xb8], 5
je 0x4d3647
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xbc]
cmp cl, 4
jne 0x4d365c
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0xc]
add dword [ecx], eax
mov ebx, dword [edx + 0x68]
jmp 0x4d32fb
mov edi, edx
mov edx, dword [edx + 0x68]
mov ecx, dword [esp + 0x1dc]
call fcn.004d19e5
mov esi, edx
lea ecx, [esp + 0xb8]
mov edx, edi
push esi
push eax
push dword [esp + 0xbc]
call fcn.005d8c78
add esp, 0xc
cmp byte [esp + 0xb8], 5
je 0x4d3647
mov eax, dword [esp + 0xb8]
mov ebx, dword [esp + 0xbc]
cmp al, 4
jne 0x4d3677
mov edx, dword [esp + 0xc]
add ebx, dword [edx + 0x68]
mov dword [edx + 0x68], ebx
mov eax, dword [edx + 0x60]
mov edi, dword [edx + 0x5c]
mov ecx, dword [edx + 0x64]
movzx esi, word [edx + 0x6e]
mov dword [esp + 8], eax
movzx eax, word [edx + 0x6c]
mov word [esp + 4], ax
mov eax, 0x80000002
cmp edi, eax
mov dword [edx + 0x5c], eax
je 0x4d309d
lea eax, [edi - 0x7fffffff]
cmp edi, 0x80000002
mov edx, 0
mov dword [esp], ecx
cmovge eax, edx
cmp eax, 2
je 0x4d3389
mov ecx, dword [esp + 0x88]
cmp eax, 1
jne 0x4d33ca
movzx eax, word [esp + 4]
shl esi, 0x10
mov edi, ecx
or esi, eax
call fcn.004c37ad
cmp esi, ebx
jae 0x4d34e4
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov ecx, dword [esp]
mov dword [edx + 0x5c], 0x80000000
mov dword [edx + 0x60], eax
mov dword [edx + 0x64], ecx
mov dword [edx + 0x68], ebx
mov dword [edx + 0x6c], esi
jmp 0x4d309d
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + 0x10]
movq xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
lea ecx, [esp + 0xb8]
mov dword [esp + 0xc8], eax
movsd qword [esp + 0xc0], xmm1
movq qword [esp + 0xb8], xmm0
call fcn.004c37ad
mov edx, dword [esp + 0xc]
jmp 0x4d309d
call fcn.004c37ad
cmp ebx, 2
jae 0x4d34ff
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov esi, dword [esp]
movzx ecx, word [esp + 4]
mov dword [edx + 0x5c], edi
mov dword [edx + 0x60], eax
mov dword [edx + 0x64], esi
mov dword [edx + 0x68], ebx
mov word [edx + 0x6c], cx
jmp 0x4d309d
xor eax, eax
lea esi, [esp + 0x50]
mov dword [esp + 0x50], eax
lea ecx, [esp + 0x38]
mov edx, esi
push 0x73d708
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x10]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x50], 0x73d734
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x2c], fcn.004564b0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], fcn.0045bfb0
push 2
pop ecx
lea eax, [esp + 0x28]
mov dword [esp + 0x54], ecx
and dword [esp + 0x60], 0
mov edx, dword [esp]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x38]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], 0x737ff8
push eax
lea eax, [esp + 0x174]
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ecx, dword [esp + 0x88]
mov esi, edi
rol si, 8
call fcn.004c37ad
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [edx + 0x5c], ebx
mov dword [edx + 0x60], eax
mov dword [edx + 0x64], edi
and dword [edx + 0x68], 0
mov word [edx + 0x6c], si
jmp 0x4d309d
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov dword [edi], 0x80000001
call fcn.00454e92
mov edx, dword [esp + 0xc]
jmp 0x4d309d
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov ecx, dword [esp]
mov dword [edx + 0x5c], 0x80000000
mov dword [edx + 0x60], edi
mov dword [edx + 0x64], eax
mov dword [edx + 0x68], ecx
and dword [edx + 0x6c], 0
jmp 0x4d309d
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d3734
mov esi, dword [0x7f2450]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x6c], 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x6c]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d3734
mov eax, dword [esp + 0x74]
movq xmm0, qword [esp + 0x6c]
mov dword [esp + 8], edi
mov edi, dword [0x7f2450]
mov dword [esp + 0x18], eax
movq qword [esp + 0x10], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d369a
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp]
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
and dword [esp + 0xa0], 0
jmp 0x4d369c
lea eax, [esp + 0x148]
mov ecx, fcn.0045bfb0
mov dword [esp + 0x50], 0x73d760
mov dword [esp + 0x38], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
push 2
pop ecx
mov dword [esp + 0x54], ecx
and dword [esp + 0x60], 0
lea eax, [esp + 0x38]
mov edi, esi
lea esi, [esp + 0x28]
lea edx, [esp + 0x50]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov ecx, esi
call fcn.0041be53
lea ecx, [esp + 0x1e4]
push 0x15
pop edx
push esi
call fcn.0059e3aa
pop eax
mov ecx, ebx
mov edx, edi
mov dword [esp + 0x1e0], 0x80000000
call fcn.00454e92
jmp 0x4d3690
mov dword [esp + 0x1e0], 0x80000002
mov ebx, 0x80000002
jmp 0x4d48ef
mov dword [esp + 0x1e0], 0x80000000
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], eax
jmp 0x4d3690
mov dword [esp + 0x1e0], 0x80000000
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], ebx
mov ebx, 0x80000000
jmp 0x4d48ef
xor eax, eax
add edi, 0x1c
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x50]
lea edx, [esp + 0x90]
push 0x73d6dc
call fcn.0052f9f9
pop eax
xor eax, eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x90], 0x73d700
mov edx, ebx
inc eax
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x94], eax
and dword [esp + 0xa0], 0
mov dword [esp + 0x98], 0x7b0e68
and dword [esp + 0x9c], 0
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x40], 0x737ff8
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x30], edi
mov ecx, esi
push eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esp + 0x10]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov dword [esp + 8], 0x80000000
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
cmp ebx, 0x80000000
jne 0x4d4420
cmp dword [edx + 0x4c], 0x80000000
jne 0x4d3875
mov eax, dword [esp + 0x314]
mov edi, edx
mov edx, dword [edx + 0x50]
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x8c], eax
call fcn.004d19ba
mov esi, edx
lea ecx, [esp + 0xb8]
mov edx, edi
push esi
push eax
push dword [esp + 0xbc]
call fcn.004be12f
add esp, 0xc
cmp byte [esp + 0xb8], 5
je 0x4d44c9
mov eax, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
cmp al, 4
jne 0x4d44de
mov eax, dword [0x7f50bc]
mov edx, dword [esp + 0xc]
test edi, edi
je 0x4d45a0
cmp eax, 4
jb 0x4d3a3a
mov esi, dword [0x7f2480]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ecx, eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 4], ecx
push ecx
mov dword [esp + 0xc], edx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d3a36
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov ebx, dword [0x7f2480]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x4d397f
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x24], edx
mov edx, dword [ebx + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d3981
mov ecx, dword [edx + 0x50]
mov edi, edx
mov edx, dword [edx + 0x54]
push dword [edi + 0x58]
call fcn.004d19cf
pop ecx
mov esi, edx
lea ecx, [esp + 0xb8]
mov edx, edi
push esi
push eax
push dword [esp + 0xbc]
call fcn.004be12f
add esp, 0xc
cmp byte [esp + 0xb8], 5
je 0x4d44c9
mov eax, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
cmp al, 4
jne 0x4d44de
mov eax, dword [0x7f50bc]
test edi, edi
je 0x4d44fc
mov edx, dword [esp + 0xc]
cmp eax, 4
jb 0x4d3b31
mov esi, dword [0x7f24bc]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ecx, eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 4], ecx
push ecx
mov dword [esp + 0xc], edx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d3b2d
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov ebx, dword [0x7f24bc]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x4d3a66
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x24], edx
mov edx, dword [ebx + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d3a68
xor eax, eax
add ebx, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d7fc
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x50]
lea ecx, [esp + 0x8c]
mov dword [esp + 0xb8], 0x73d828
mov edx, dword [esp]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x70], 0x5130ff
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xbc], eax
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x40], ebx
mov ecx, esi
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x58], 0x737ff8
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x8c]
add dword [eax], edi
mov eax, dword [esp + 0x8c]
cmp dword [eax], 2
jae 0x4d3b53
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d3744
jmp 0x4d40ed
xor eax, eax
add ebx, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d930
call fcn.0052f9f9
pop eax
mov eax, dword [esp + 0x188]
lea ecx, [esp + 0x170]
mov dword [esp + 0xb8], 0x73d958
mov edx, dword [esp]
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x70], fcn.004564b0
mov eax, dword [eax]
mov dword [esp + 0x170], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x38], eax
xor eax, eax
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xbc], eax
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x40], ebx
mov ecx, esi
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x58], 0x737ff8
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0xc]
add edi, dword [edx + 0x58]
mov dword [edx + 0x58], edi
cmp edi, dword [edx + 0x54]
mov eax, dword [0x7f50bc]
jae 0x4d3c10
cmp eax, 4
jb 0x4d3744
jmp 0x4d4188
mov eax, dword [esp + 0x188]
movzx eax, word [eax]
rol ax, 8
mov word [esp + 0x7e], ax
mov ecx, dword [0x7f50bc]
cmp ecx, 4
jb 0x4d3d7d
mov esi, dword [0x7f248c]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d3d78
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp + 4], edi
mov edi, dword [0x7f248c]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d3cc9
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], edx
mov edx, dword [esp]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d3ccb
pxor xmm0, xmm0
mov ebx, 0x80000000
cmp eax, 4
jb 0x4d3cc2
mov esi, dword [0x7f24c8]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ecx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
mov dword [esp + 8], ecx
push ecx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d3ef2
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp], edi
mov edi, dword [0x7f24c8]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d3e4d
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x24], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d3e4f
xor esi, esi
jmp 0x4d3ff2
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d830
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x50]
lea ecx, [esp + 0x7e]
mov dword [esp + 0xb8], 0x73d84c
mov edx, ebx
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x70], fcn.0045c360
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xbc], eax
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x40], edi
mov ecx, esi
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x58], 0x737ff8
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
movzx eax, word [esp + 0x7e]
xor edx, edx
movzx esi, ax
mov ecx, esi
inc edx
call fcn.0050d387
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
movzx edx, word [esp + 0x7e]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x74], esi
call fcn.00464186
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d3fc7
mov esi, dword [0x7f2498]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d3fc7
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp + 4], edi
mov edi, dword [0x7f2498]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d3f01
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], edx
mov edx, dword [esp]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d3f03
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d960
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x50]
mov dword [esp + 0xb8], 0x73d990
mov edx, dword [esp + 4]
mov ecx, esi
mov dword [esp + 0x38], eax
xor eax, eax
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x198]
and dword [esp + 0xc8], 0
mov dword [esp + 0x40], edi
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x90]
and dword [esp + 0xc4], 0
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x58], 0x737ff8
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 8]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov edx, dword [esp + 0xc]
xor esi, esi
pxor xmm0, xmm0
jmp 0x4d3ff2
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d854
call fcn.0052f9f9
pop eax
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x19c]
mov dword [esp + 0xb8], 0x73d880
mov edx, ebx
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x170]
mov dword [esp + 0x174], fcn.004564b0
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x38], eax
xor eax, eax
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xbc], eax
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x40], edi
mov ecx, esi
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x58], 0x737ff8
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 0x6c]
movzx eax, word [esp + 0x76]
mov edx, dword [esp + 0xc]
cmp ebx, 0x80000001
mov word [esp + 0x19a], ax
je 0x4d3740
mov esi, dword [esp + 0x70]
movd xmm0, dword [esp + 0x74]
mov ecx, dword [edx + 0x50]
mov eax, dword [edx + 0x4c]
mov edi, dword [edx + 0x54]
mov dword [esp + 4], ecx
mov ecx, dword [edx + 0x58]
mov dword [edx + 0x4c], ebx
mov dword [edx + 0x50], esi
movzx esi, word [esp + 0x19a]
mov ebx, eax
movd eax, xmm0
mov word [edx + 0x54], ax
mov word [edx + 0x56], si
and dword [edx + 0x58], 0
cmp ebx, 0x80000000
je 0x4d3740
mov dword [esp], edi
mov dword [esp + 0x6c], ecx
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d43e3
mov dword [esp + 0x24], ebx
mov ebx, dword [0x7f24e0]
mov dword [esp + 0x20], ecx
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ecx, eax
mov esi, edx
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x7c], ecx
push ecx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d43db
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp + 0x80], esi
mov esi, dword [0x7f24e0]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x4d4336
mov edi, dword [esi + 0x28]
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x24]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x16c], edi
mov dword [esp + 0xc0], edx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0xc4], ecx
and dword [esp + 0xc8], 0
jmp 0x4d4338
mov esi, dword [0x7f24a4]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d373c
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp + 4], edi
mov edi, dword [0x7f24a4]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d4220
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], edx
mov edx, dword [esp]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d4222
mov esi, dword [0x7f24d4]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d373c
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp + 4], edi
mov edi, dword [0x7f24d4]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d426f
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], edx
mov edx, dword [esp]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d4271
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d888
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x50]
lea ecx, [esp + 0x8c]
mov dword [esp + 0xb8], 0x73d8b8
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], 0x5130ff
jmp 0x4d42cc
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d998
call fcn.0052f9f9
pop eax
mov eax, dword [esp + 0x188]
lea ecx, [esp + 0x170]
mov dword [esp + 0xb8], 0x73d9c4
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], fcn.004564b0
mov eax, dword [eax]
mov dword [esp + 0x170], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x38], eax
xor eax, eax
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edi
lea ecx, [esp + 0x6c]
mov dword [esp + 0xbc], eax
and dword [esp + 0xc8], 0
mov edx, ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x90]
mov ecx, esi
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x58], 0x737ff8
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
jmp 0x4d373c
xor eax, eax
add esi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d9cc
call fcn.0052f9f9
pop eax
xor ecx, ecx
lea eax, [esp + 0x90]
mov dword [esp + 0xb8], 0x73d9ec
mov edx, dword [esp + 0x78]
inc ecx
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xbc], ecx
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], 0x7b0e68
and dword [esp + 0xc4], 0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x58], 0x737ff8
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], esi
mov ecx, ebx
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x88]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp]
cmp ecx, esi
mov ecx, dword [esp + 8]
mov dword [esp + 0x90], esi
jne 0x4d6259
mov edx, dword [esp + 0x18c]
call fcn.0059e46e
mov eax, dword [esp + 4]
mov dword [esp + 0x30c], esi
mov dword [esp + 8], ebx
mov dword [esp + 0x18c], eax
jmp 0x4d373c
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d46ec
mov esi, dword [0x7f2468]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d46e4
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp + 4], edi
mov edi, dword [0x7f2468]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d4644
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], edx
mov edx, dword [esp]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d4646
mov esi, 0x80000002
mov dword [esp + 0x1e0], 0x80000002
jmp 0x4d48df
mov dword [esp + 0x1e0], 0x80000000
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], edi
jmp 0x4d48da
cmp eax, 4
jb 0x4d47ed
mov esi, dword [0x7f24b0]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d47e9
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp + 4], edi
mov edi, dword [0x7f24b0]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d4749
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], edx
mov edx, dword [esp]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d474b
cmp eax, 4
jb 0x4d48a7
mov esi, dword [0x7f2474]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d48a3
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp + 4], edi
mov edi, dword [0x7f2474]
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d4803
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x20], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp], edx
mov edx, dword [esp]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d4805
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d770
call fcn.0052f9f9
pop eax
xor ecx, ecx
lea eax, [esp + 0x90]
mov dword [esp + 0xb8], 0x73d790
mov edx, ebx
inc ecx
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xbc], ecx
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], 0x7b0e68
and dword [esp + 0xc4], 0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x58], 0x737ff8
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
mov ecx, esi
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x184]
lea ecx, [esp + 0x1e4]
mov esi, dword [esp + 0x18c]
movsd xmm1, qword [eax + 0x10]
movq xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [ecx + 0x18], xmm1
movsd xmm1, qword [eax + 8]
movq qword [ecx + 0x20], xmm0
movsd qword [ecx + 8], xmm2
movsd qword [ecx + 0x10], xmm1
mov ecx, dword [esp + 0x30c]
mov dword [esp + 0x1e0], ebx
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e8], ecx
jmp 0x4d48f3
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d8d0
call fcn.0052f9f9
pop eax
xor ecx, ecx
lea eax, [esp + 0x90]
mov dword [esp + 0xb8], 0x73d90c
mov edx, ebx
inc ecx
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xbc], ecx
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], 0x7b0e68
and dword [esp + 0xc4], 0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x58], 0x737ff8
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
mov ecx, esi
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 8]
lea ecx, [esp + 0x1e4]
push 0xb
pop edx
push 0x1c
push str.closed_while_reading_message_
jmp 0x4d48c8
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0xb8]
push 0x73d7a8
call fcn.0052f9f9
pop eax
xor ecx, ecx
lea eax, [esp + 0x90]
mov dword [esp + 0xb8], 0x73d7d8
mov edx, ebx
inc ecx
mov dword [esp + 0x50], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xbc], ecx
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], 0x7b0e68
and dword [esp + 0xc4], 0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x58], 0x737ff8
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
mov ecx, esi
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x8c]
cmp dword [eax], 0
je 0x4d4a7e
lea ecx, [esp + 0x1e4]
push 0xb
pop edx
push 0x1b
push str.closed_while_reading_length
call fcn.00514804
pop eax
pop ecx
mov dword [esp + 0x1e0], 0x80000000
mov esi, 0x80000000
mov edx, dword [esp + 0x18c]
mov ecx, ebx
call fcn.0059e46e
mov ebx, esi
mov edx, dword [esp + 0xc]
cmp ebx, 0x80000000
je 0x4d4922
cmp ebx, 0x80000001
je 0x4d4962
cmp ebx, 0x80000002
lea eax, [esp + 0x318]
jne 0x4d4979
mov dword [esp + 0x1a8], 0x80000002
jmp 0x4d4bc3
mov ecx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x264], ecx
lea ecx, [esp + 0x260]
mov dword [esp + 0x260], eax
call fcn.0048d565
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1a8], 0x80000000
mov dword [esp + 0x1ac], eax
jmp 0x4d496d
mov dword [esp + 0x1a8], 0x80000001
lea eax, [esp + 0x318]
jmp 0x4d4bc3
push 0xb
pop ecx
mov edi, eax
lea esi, [esp + 0x1e0]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x324]
mov edx, dword [esp + 0x184]
movsd xmm1, qword [edx + 0x10]
movq xmm0, qword [edx + 0x18]
movsd xmm2, qword [edx]
movsd qword [esp + 0xc8], xmm1
movsd xmm1, qword [edx + 8]
movq qword [esp + 0xd0], xmm0
movsd qword [esp + 0xb8], xmm2
movsd qword [esp + 0xc0], xmm1
call fcn.00539f7b
test al, al
je 0x4d4ba3
mov eax, dword [0x7f50bc]
cmp eax, 2
jb 0x4d4ba3
mov esi, dword [0x7f1e50]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d4ba3
mov eax, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x10]
mov ecx, dword [0x7f1e50]
mov dword [esp + 0x30], eax
movsd qword [esp + 0x28], xmm0
lea eax, [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
mov dword [esp + 8], eax
test edx, edx
je 0x4d4a93
mov dword [esp], edi
mov edi, dword [ecx + 0x24]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x264], edx
mov dword [esp + 4], edi
mov edi, dword [esp]
mov edx, dword [esp + 4]
mov dword [esp + 0x268], edx
mov dword [esp + 0x26c], ecx
and dword [esp + 0x270], 0
jmp 0x4d4a95
mov dword [esp + 0x1e0], 0x80000001
mov esi, 0x80000001
jmp 0x4d48df
xor eax, eax
mov dword [esp + 0x260], eax
lea ecx, [esp + 0x90]
lea edx, [esp + 0x260]
push 0x738430
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x50]
mov ecx, fcn.0045bfb0
mov dword [esp + 0x1e0], 0x738460
mov dword [esp + 0x38], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], eax
lea eax, [esp + 0x324]
movsd xmm1, qword [eax + 0x10]
movq xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esp + 0x270], xmm1
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x260]
movq qword [esp + 0x278], xmm0
movsd qword [esp + 0x260], xmm2
mov dword [esp + 0x148], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ecx
movsd qword [esp + 0x268], xmm1
push 2
pop ecx
lea eax, [esp + 0x148]
mov dword [esp + 0x1e4], ecx
and dword [esp + 0x1f0], 0
mov edx, ebx
mov dword [esp + 0x1e8], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x1ec], ecx
mov ecx, esi
mov dword [esp + 0x50], eax
lea eax, [esp + 0x1e0]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x58], 0x737ff8
push eax
lea eax, [esp + 0x2c]
push eax
push dword [edi + 0x10]
call fcn.005de194
add esp, 0xc
push 0xb
pop ecx
lea eax, [esp + 0x318]
lea edi, [esp + 0x1a8]
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x1a8]
mov edx, dword [esp + 0xc]
cmp ebx, 0x80000000
je 0x4d5c9f
cmp ebx, 0x80000001
je 0x4d5ca8
cmp ebx, 0x80000002
je 0x4d50cd
mov dword [esp + 8], ebx
mov edi, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x1b0]
mov esi, eax
mov ecx, eax
mov edx, edi
push ebx
call fcn.004bc14f
pop eax
cmp dword [esp + 0x370], 0x80000000
jne 0x4d4ce2
mov eax, dword [esp + 0x318]
mov dword [esp + 0x10], eax
mov eax, dword [0x7f50bc]
mov ebx, dword [esp + 8]
cmp eax, 4
jb 0x4d4fc7
mov esi, dword [0x7f1e68]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x38], 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
call fcn.00513e14
mov ecx, eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x24], ecx
push ecx
mov dword [esp + 8], edx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d4fc7
mov eax, dword [esp + 0x40]
movq xmm0, qword [esp + 0x38]
mov dword [esp + 4], edi
mov edi, dword [0x7f1e68]
mov dword [esp + 0x58], eax
movq qword [esp + 0x50], xmm0
mov ebx, dword [edi + 0x20]
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x24]
mov edx, dword [edi + 0x28]
test ebx, ebx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x16c], edx
je 0x4d4e6e
mov dword [esp + 0x264], ebx
mov dword [esp + 0x268], eax
mov dword [esp + 0x26c], edx
and dword [esp + 0x270], 0
xor eax, eax
inc eax
mov dword [esp + 0x24], eax
mov eax, ecx
jmp 0x4d4e78
mov dword [esp + 4], edi
push 0x20
pop ecx
lea edi, [esp + 0x1e0]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x90]
mov edi, dword [esp + 0x248]
mov edx, dword [esp + 0x180]
push edi
call fcn.004d15d4
pop eax
cmp dword [esp + 0x90], 0
je 0x4d4dcd
mov eax, dword [0x7f50bc]
mov ebx, dword [esp + 8]
cmp eax, 4
jb 0x4d50a4
mov esi, dword [0x7f1e5c]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x28], 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
call fcn.00513e14
mov ecx, eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x24], ecx
push ecx
mov dword [esp + 8], edx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d50a4
mov eax, dword [esp + 0x30]
movq xmm0, qword [esp + 0x28]
mov ebx, dword [0x7f1e5c]
mov dword [esp + 0x40], eax
movq qword [esp + 0x38], xmm0
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x4d4fde
mov edx, dword [ebx + 0x24]
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x78], edx
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], edx
and dword [esp + 0x270], 0
jmp 0x4d4fe0
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx - 0x20]
lea edx, [ecx - 0x10]
test eax, eax
je 0x4d4e15
mov ecx, dword [ecx - 0x1c]
push ebx
push dword [esp + 8]
push eax
lea esi, [esp + 0xc4]
push esi
mov ebx, edx
call dword [ecx + 0x10]
add esp, 0x10
lea edi, [esp + 0x260]
mov edx, ebx
mov ecx, edi
push esi
call fcn.0048edfc
pop eax
mov ecx, edi
call fcn.004b9b48
jmp 0x4d50a0
push 0x20
pop ecx
lea eax, [esp + 0xb8]
lea esi, [esp + 0x318]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x260]
mov ecx, dword [esp + 8]
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], ebx
mov ecx, esi
push eax
call fcn.0048edfc
pop eax
mov ecx, esi
call fcn.004b9b48
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x84]
jmp 0x4d304e
mov dword [esp + 0x24], 0
xor eax, eax
lea ecx, [esp + 0x90]
mov dword [esp + 0x260], eax
lea edx, [esp + 0x260]
push 0x73851c
call fcn.0052f9f9
pop eax
mov ecx, dword [esp + 0x24]
mov dword [esp + str.error_decoding_message], 0x738544
mov dword [esp + 0x264], 1
and dword [esp + 0x270], 0
mov dword [esp + fcn.00414ed0], 0x7b0e68
and dword [esp + 0x26c], 0
mov eax, 0
cmp ecx, ebx
jae 0x4d4f04
mov eax, dword [esp + 0x80]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc8], ecx
lea ebx, [esp + 0xb8]
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x1e0]
mov edx, ebx
push 0x73851c
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x10]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], 2
mov dword [esp + 0x150], edi
mov ecx, esi
mov dword [esp + 0x28], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x2c], 0x739a44
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x260]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x1e0]
mov dword [esp + 0xc0], 0x737ff8
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x28]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x148]
mov dword [esp + 0xcc], 0x73854c
push eax
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 8]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 8]
mov edi, dword [esp + 4]
lea eax, [esp + 0x10]
push eax
call fcn.004bc94c
pop eax
mov esi, dword [esp + 0x84]
jmp 0x4d50bb
xor eax, eax
add ebx, 0x1c
mov dword [esp + 0x260], eax
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x260]
push 0x7384ec
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x148]
lea ecx, [esp + 0x6c]
mov dword [esp + str.unexpected_request_id:], 0x738514
mov edx, dword [esp + 0x20]
mov word [esp + 0x6c], di
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], fcn.0045c360
inc eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x264], eax
and dword [esp + 0x270], 0
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x58], ebx
mov ecx, esi
mov dword [esp + 0x148], eax
lea eax, [esp + 0x260]
mov dword [esp + 0x14c], eax
lea eax, [esp + 0x50]
mov dword [esp + fcn.00414ed0], 0x737ff8
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 8]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 8]
lea ecx, [esp + 0x1e0]
call fcn.004be0c8
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 4]
mov ecx, ebx
mov edx, edi
call fcn.00454e92
mov edx, dword [esp + 0xc]
jmp 0x4d304e
cmp byte [edx + 0xf0], 0
jne 0x4d6099
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0x310]
lea ecx, [esp + 0x260]
push dword [eax]
call fcn.004cb5f0
pop eax
mov eax, dword [esp + 0x2c0]
cmp eax, 0x80000000
je 0x4d516b
cmp eax, 0x80000001
je 0x4d6099
push 0x88
lea eax, [esp + 0x264]
push eax
lea eax, [esp + 0x3a0]
push eax
call fcn.00616830
add esp, 0xc
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xf0], 0
jne 0x4d6220
mov ebx, dword [esp + 0x2e8]
cmp dword [eax + 0xac], 0x20
jbe 0x4d5182
lea ecx, [esp + 0xb8]
mov word [esp + 0xb8], 3
call fcn.00489bc6
mov edi, eax
jmp 0x4d5260
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x318]
mov byte [eax + 0xf0], 1
jmp 0x4d2ce2
mov dword [esp + 8], ebx
call fcn.005585dc
mov esi, eax
push 0x64
pop edi
sub edi, 1
jb 0x4d5246
mov ecx, esi
call fcn.004d1472
mov ecx, dword [esp + 0x180]
lea edx, [esp + 0xb8]
mov ebx, eax
mov word [esp + 0xb8], ax
call fcn.004d14b0
test al, al
jne 0x4d5190
mov ecx, esi
call fcn.005564c3
push 0x20
pop ecx
lea edi, [esp + 0x318]
lea esi, [esp + 0x3a0]
rep movsd dword es:[edi], dword [esi]
mov word [esp + 0x380], bx
call fcn.005bf9e0
mov esi, edx
lea ecx, [esp + 0xb8]
mov edx, eax
push 0x19db1de
push 0xd53e8000
push esi
call fcn.005bfa50
add esp, 0xc
mov eax, dword [esp + 0xb8]
or eax, dword [esp + 0xbc]
je 0x4d5286
mov ecx, str.Current_time_is_before_the_Unix_epoch.can_not_send_messages_after_stream_is_shutdown2
push 0x26
pop edx
call fcn.00489b0b
mov ebx, dword [esp + 8]
mov dword [esp + 0x148], 2
mov dword [esp + 0x14c], eax
mov byte [esp + 0x154], 0
jmp 0x4d5ab5
mov ecx, str.id_space_exhausted__consider_filing_an_issuep
push 0x2c
pop edx
call fcn.00489b0b
mov ecx, esi
mov edi, eax
call fcn.005564c3
mov ebx, dword [esp + 8]
lea ecx, [esp + 0x3a0]
mov dword [esp + 0x148], 2
mov dword [esp + 0x14c], edi
mov byte [esp + 0x154], 0
jmp 0x4d5abc
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xec], 0
jne 0x4d624d
mov ecx, dword [eax + 0x90]
mov edx, dword [eax + 0x94]
push dword [eax + 0x98]
call fcn.004bc7fb
pop ecx
lea ecx, [esp + 0xb8]
mov esi, eax
call fcn.004d0e82
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0xa0]
movq xmm0, qword [esp + 0xb8]
movzx edi, word [esp + 0x380]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xc4]
movq qword [ecx], xmm0
mov dword [esp], eax
mov dword [esp + 0x194], eax
push 8
pop ecx
push 4
pop edx
call fcn.005086b2
mov dword [eax], esi
mov dword [eax + 4], 0x737bfc
mov word [esp + 0xac], di
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0x738a40
and dword [esp + 0x90], 0
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x318]
mov dword [esp + 4], edi
call fcn.0049e588
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 8]
cmp edi, 0x80000000
jne 0x4d5416
mov eax, dword [esp + 0x70]
mov dword [esp + 0x8c], eax
mov ecx, dword [0x7f50bc]
cmp ecx, 4
jb 0x4d5a83
mov esi, dword [0x7f1eec]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ecx, eax
mov edi, edx
lea eax, [esp + 0x10]
push eax
mov dword [esp + 4], ecx
push ecx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d56c1
mov eax, dword [esp + 0x18]
movq xmm0, qword [esp + 0x10]
mov dword [esp + 0x24], edi
mov edi, dword [0x7f1eec]
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], eax
movq qword [esp + 0x28], xmm0
mov ebx, dword [edi + 0x20]
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x28]
test ebx, ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x80], edx
je 0x4d54f1
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
xor esi, esi
inc esi
jmp 0x4d54f5
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x20], eax
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d5835
mov ecx, dword [0x7f1ed4]
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x84], ecx
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x28], 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
call fcn.00513e14
mov ecx, eax
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x84], ecx
push ecx
mov dword [esp + 0x80], edx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d5835
mov eax, dword [esp + 0x30]
movq xmm0, qword [esp + 0x28]
mov dword [esp + 0x24], esi
mov esi, dword [0x7f1ed4]
mov dword [esp + 0x40], eax
movq qword [esp + 0x38], xmm0
mov ebx, dword [esi + 0x20]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x28]
test ebx, ebx
mov dword [esp + 0x304], ecx
mov dword [esp + 0x300], eax
mov dword [esp + 0x2fc], edx
je 0x4d56cd
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
xor eax, eax
inc eax
mov dword [esp + 0x16c], eax
mov eax, ecx
jmp 0x4d56da
xor esi, esi
xor eax, eax
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x50]
lea edx, [esp + 0xb8]
push 0x738ae4
call fcn.0052f9f9
pop eax
mov dword [esp + str.error_message], 0x738b04
mov dword [esp + 0x1e4], 1
and dword [esp + 0x1f0], 0
mov dword [esp + fcn.00414ed0], 0x7b0e68
and dword [esp + 0x1ec], 0
cmp esi, ebx
jae 0x4d5578
mov eax, dword [esp + 0x78]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc8], esi
inc esi
jmp 0x4d557a
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x148]
lea edx, [esp + 0xb8]
push 0x738ae4
call fcn.0052f9f9
pop eax
mov eax, dword [esp + 4]
mov word [esp + 0x7e], ax
lea eax, [esp + 0x7e]
mov dword [esp + 0x19c], eax
xor eax, eax
cmp esi, ebx
jae 0x4d55e5
mov eax, dword [esp + 0x78]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc8], esi
lea ebx, [esp + 0x1a8]
lea esi, [esp + 0xb8]
mov dword [esp + 0xb8], eax
mov ecx, ebx
mov edx, esi
push 0x738ae4
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x8c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], 3
mov dword [esp + 0x40], edi
mov dword [esp + 0x170], eax
lea eax, [esp + 0x50]
mov dword [esp + fcn.004bc94c], 0x739a44
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x1e0]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x148]
mov dword [esp + 0xc0], 0x737ff8
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x19c]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0x170]
mov dword [esp + 0xcc], 0x738a78
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xd8], 0x73854c
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x2c]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x8c]
jmp 0x4d5a83
mov dword [esp + 0x16c], 0
xor eax, eax
lea ecx, [esp + 0x148]
mov dword [esp + 0xb8], eax
lea edx, [esp + 0xb8]
push 0x738a50
call fcn.0052f9f9
pop eax
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0xb8], 0x738a70
mov dword [esp + 0xbc], 1
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], 0x7b0e68
and dword [esp + 0xc4], 0
mov eax, 0
cmp ecx, ebx
jae 0x4d576c
mov eax, dword [esp + 0x300]
mov dword [esp + 0x1e4], ebx
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x2fc]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x304]
mov dword [esp + 0x1f0], ecx
lea ebx, [esp + 0x1e0]
add esi, 0x1c
mov dword [esp + 0x1e0], eax
lea ecx, [esp + 0x1a8]
mov edx, ebx
push 0x738a50
call fcn.0052f9f9
pop eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], 2
mov dword [esp + 0x58], esi
mov word [esp + 0x170], ax
lea eax, [esp + 0x170]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x148]
mov dword [esp + 0x1e0], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x1e4], eax
lea eax, [esp + 0x1a8]
mov dword [esp + fcn.00414ed0], 0x737ff8
mov dword [esp + 0x1ec], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0x50]
mov dword [esp + fcn.00414ed0], 0x738a78
push eax
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + 0x80]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x184]
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esp + 0x1b8], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x1c0], xmm0
movsd qword [esp + 0x1a8], xmm2
movsd qword [esp + 0x1b0], xmm1
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d5a11
mov dword [esp + 0x24], esi
mov esi, dword [0x7f1ee0]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00513e14
mov ecx, eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x7c], ecx
push ecx
mov dword [esp + 0x8c], edx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d5a0d
mov eax, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x10]
mov ecx, dword [0x7f1ee0]
mov dword [esp + 0x30], eax
movsd qword [esp + 0x28], xmm0
lea eax, [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x80], eax
test edx, edx
je 0x4d591a
mov eax, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ecx
and dword [esp + 0xc8], 0
jmp 0x4d591c
xor eax, eax
lea ebx, [esp + 0xb8]
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x148]
mov edx, ebx
push 0x738a88
call fcn.0052f9f9
pop eax
mov edx, dword [esp + 0x24]
mov ecx, ebx
push dword [esp + 0x20]
call fcn.004bc14f
pop eax
lea ecx, [esp + 0x1e0]
mov edx, ebx
push 0x738ad4
call fcn.004d0f23
pop eax
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x50]
mov dword [esp + 0xb8], 0x738aa8
mov edx, dword [esp + 0x78]
mov dword [esp + 0x38], eax
xor eax, eax
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0xbc], eax
and dword [esp + 0xc8], 0
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x170]
mov dword [esp + 0x174], 0x4b6646
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x148]
mov ecx, esi
mov dword [esp + 0x50], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], 0x737ff8
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x8c]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
lea ecx, [esp + 0x1e0]
call fcn.004be0c8
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
movsd xmm1, qword [esp + 0x1b8]
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], esi
movq xmm0, qword [esp + 0x1c0]
movsd xmm2, qword [esp + 0x1a8]
mov ecx, dword [esp + 0x308]
lea edx, [esp + 0xb8]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xc4]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0x1b0]
movq qword [eax + 0x18], xmm0
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
call fcn.004bc227
test eax, eax
je 0x4d5c62
lea ecx, [esp + 0x90]
mov dword [esp + 0x148], 2
mov dword [esp + 0x14c], eax
mov byte [esp + 0x154], 0
call fcn.004c36b4
lea ecx, [esp + 0x194]
call fcn.004c2a87
lea ecx, [esp + 0x318]
call fcn.004be0c8
lea eax, [esp + 0x148]
lea ecx, [esp + 0x318]
mov edx, ebx
push eax
call fcn.004bc49c
pop eax
cmp dword [esp + 0x318], 4
je 0x4d5c49
mov eax, dword [0x7f50bc]
cmp eax, 2
jb 0x4d5c49
mov esi, dword [0x7f1ec8]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x50], 2
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x50]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d5c49
mov eax, dword [esp + 0x58]
movq xmm0, qword [esp + 0x50]
mov dword [esp + 8], edi
mov edi, dword [0x7f1ec8]
mov dword [esp + 0x150], eax
movq qword [esp + 0x148], xmm0
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x4d5b8e
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp], edx
mov edx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp]
mov dword [esp + 4], edx
mov edx, dword [esp + 4]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
and dword [esp + 0xc8], 0
jmp 0x4d5b90
xor eax, eax
add edi, 0x1c
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0xb8]
push 0x738960
call fcn.0052f9f9
pop eax
xor ecx, ecx
lea eax, [esp + 0x1e0]
mov dword [esp + 0xb8], 0x7389a8
mov edx, ebx
inc ecx
mov dword [esp + 0x1a8], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xbc], ecx
and dword [esp + 0xc8], 0
mov dword [esp + 0xc0], 0x7b0e68
and dword [esp + 0xc4], 0
mov dword [esp + 0x1ac], eax
lea eax, [esp + 0x1a8]
mov dword [esp + fcn.00414ed0], 0x737ff8
mov dword [esp + 0x90], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edi
mov ecx, esi
push eax
lea eax, [esp + 0x14c]
push eax
mov eax, dword [esp + 0x10]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
lea esi, [esp + 0x318]
mov ecx, esi
call fcn.004cb6c5
mov eax, dword [esp + 0xc]
mov ecx, esi
jmp 0x4d2ce2
mov edx, dword [esp + 0x180]
lea esi, [esp + 0x1e0]
lea eax, [esp + 0x90]
mov ecx, esi
push eax
push dword [esp + 8]
call fcn.004d0f5c
pop eax
pop ecx
mov ecx, esi
call fcn.004d10a8
mov eax, dword [esp]
mov dword [esp + 0x148], 1
jmp 0x4d5232
mov eax, dword [esp + 0x1ac]
jmp 0x4d5cb5
push 0xd
pop edx
mov ecx, str.stream_closed
call fcn.00489b0b
mov dword [esp + 0x28], eax
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d5e8b
mov esi, dword [0x7f1f88]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x148], 4
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x148]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d5e8b
mov eax, dword [esp + 0x150]
movq xmm0, qword [esp + 0x148]
mov dword [esp + 0xb4], ebx
mov ebx, dword [0x7f1f88]
mov dword [esp + 0x88], edi
mov dword [esp + 0x98], eax
movq qword [esp + 0x90], xmm0
mov edi, dword [ebx + 0x20]
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x24]
mov edx, dword [ebx + 0x28]
test edi, edi
mov dword [esp + 4], eax
mov dword [esp + 0x190], ecx
mov dword [esp], edx
je 0x4d5d84
mov dword [esp + 0x264], edi
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], edx
and dword [esp + 0x270], 0
xor ecx, ecx
inc ecx
mov dword [esp + 8], ecx
jmp 0x4d5d8e
mov dword [esp + 8], 0
xor eax, eax
lea edx, [esp + 0x260]
add ebx, 0x1c
lea ecx, [esp + 0x1e0]
mov dword [edx], eax
push 0x7396b8
call fcn.0052f9f9
pop eax
mov ecx, dword [esp + 8]
lea eax, [esp + 0x28]
mov dword [esp + 0x50], eax
mov eax, 0
mov dword [esp + 0x54], 0x739a44
cmp ecx, edi
jae 0x4d5df3
mov eax, dword [esp + 0x190]
mov dword [esp + 0x264], edi
mov dword [esp + 0x268], eax
mov eax, dword [esp]
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x270], ecx
lea edi, [esp + 0x260]
lea ecx, [esp + 0xb8]
mov dword [edi], eax
mov edx, edi
push 0x7396b8
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x1e0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x318], edi
mov dword [esp + 0x31c], 2
mov dword [esp + 0x320], ebx
mov ecx, esi
mov dword [edi], eax
lea eax, [esp + 0x50]
mov dword [edi + 4], eax
lea eax, [esp + 0xb8]
mov dword [edi + 8], 0x73854c
mov dword [edi + 0xc], eax
lea eax, [esp + 0x38]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x14], 0x7396d8
mov dword [esp + 0x38], eax
lea eax, [esp + 0x318]
push eax
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x90]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov edx, dword [esp + 0x180]
lea ecx, [esp + 0x260]
call fcn.004d17d2
lea esi, [esp + 0xbc]
lea edi, [esp + 0xb8]
lea ebx, [esp + 0x1e0]
mov ecx, edi
lea edx, [esp + 0x260]
call fcn.004d1830
cmp byte [esp + 0xd4], 3
je 0x4d5f16
movsd xmm1, qword [esi + 0x10]
movq xmm0, qword [esi + 0x18]
movsd xmm2, qword [esi]
mov ecx, dword [esp + 0x28]
movsd qword [esp + 0x1f0], xmm1
movsd xmm1, qword [esi + 8]
movq qword [esp + 0x1f8], xmm0
movsd qword [esp + 0x1e0], xmm2
movsd qword [esp + 0x1e8], xmm1
call fcn.004d18c0
mov ecx, ebx
mov edx, eax
call fcn.004b9aa8
jmp 0x4d5eb3
lea ecx, [esp + 0x260]
call fcn.004d1852
lea eax, [esp + 0x28]
push eax
call fcn.004bc94c
pop eax
mov eax, dword [esp + 0xc]
mov byte [eax + 0xf0], 1
mov eax, dword [0x7f50bc]
mov dword [esp + 0x1d8], 0
cmp eax, 4
jb 0x4d6099
mov esi, dword [0x7f1eb0]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x90], 4
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x90]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d6099
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov ecx, dword [0x7f1eb0]
mov dword [esp + 0x88], edi
mov dword [esp + 0x1b0], eax
movq qword [esp + 0x1a8], xmm0
lea eax, [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
mov dword [esp + 0xc], eax
test edx, edx
je 0x4d5ff9
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x264], edx
mov dword [esp + 0x268], edi
mov dword [esp + 0x26c], ecx
and dword [esp + 0x270], 0
jmp 0x4d5ffb
xor eax, eax
lea edi, [esp + 0x260]
lea ecx, [esp + 0xb8]
mov dword [edi], eax
mov edx, edi
push 0x7388e8
call fcn.0052f9f9
pop eax
xor eax, eax
lea ecx, [esp + 0xb8]
mov dword [edi], str.io_stream_is_done__shutting_down
mov edx, ebx
mov dword [esp + 0x1e0], ecx
inc eax
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1e4], edi
mov dword [esp + fcn.00414ed0], 0x737ff8
mov dword [esp + 0x318], ecx
mov dword [edi + 4], eax
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0xc]
and dword [edi + 0x10], 0
mov dword [edi + 8], 0x7b0e68
and dword [edi + 0xc], 0
mov ecx, esi
mov dword [esp + 0x320], eax
lea eax, [esp + 0x318]
push eax
lea eax, [esp + 0x1ac]
push eax
mov eax, dword [esp + 0x90]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
mov eax, dword [esp + 0x1d8]
xor edx, edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x7f50bc]
cmp eax, 4
jb 0x4d5f38
mov esi, dword [0x7f1e74]
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x90], 4
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
call fcn.00513e14
mov ebx, eax
mov edi, edx
lea eax, [esp + 0x90]
push eax
push ebx
call dword [edx + 0xc]
add esp, 8
test al, al
je 0x4d5f38
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov ecx, dword [0x7f1e74]
mov dword [esp + 0x88], edi
mov dword [esp + 0x1b0], eax
movq qword [esp + 0x1a8], xmm0
lea eax, [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
mov dword [esp + 0xc], eax
test edx, edx
je 0x4d6160
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x264], edx
mov dword [esp + 0x268], edi
mov dword [esp + 0x26c], ecx
and dword [esp + 0x270], 0
jmp 0x4d6162
xor eax, eax
lea edi, [esp + 0x260]
lea ecx, [esp + 0xb8]
mov dword [edi], eax
mov edx, edi
push 0x73856c
call fcn.0052f9f9
pop eax
lea eax, [esp + 0x194]
lea ecx, [esp + 0x148]
mov dword [edi], str.stream_is_done:_
mov edx, ebx
mov dword [esp + 0x148], eax
xor eax, eax
mov dword [esp + 0x14c], 0x4d627e
inc eax
mov dword [edi + 4], eax
and dword [edi + 0x10], 0
mov dword [edi + 8], ecx
lea ecx, [esp + 0xb8]
mov dword [edi + 0xc], eax
mov dword [esp + 0x1e0], ecx
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1e4], edi
mov dword [esp + fcn.00414ed0], 0x737ff8
mov dword [esp + 0x318], ecx
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0xc]
mov ecx, esi
mov dword [esp + 0x320], eax
lea eax, [esp + 0x318]
push eax
lea eax, [esp + 0x1ac]
push eax
mov eax, dword [esp + 0x90]
push dword [eax + 0x10]
call fcn.005de194
add esp, 0xc
jmp 0x4d5f38
lea ecx, [esp + 0xb8]
mov edx, 0x738b68
mov dword [ecx], 0x738b60
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], 0x7b0e68
and dword [ecx + 0xc], 0
call fcn.0062d360
lea ecx, [esp + 0x318]
call fcn.004d0d72
and dword [esp + 0xb8], 0
lea ecx, [esp + 0x6c]
lea edx, [esp + 0x90]
push 0x73d9f4
lea eax, [esp + 0xbc]
push eax
call fcn.00632457
push esi
sub esp, 0x20
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov edx, esp
lea esi, [esp + 8]
mov dword [esi], 0x7b112c
mov ecx, dword [ecx]
mov dword [edx], ecx
xor ecx, ecx
mov dword [edx + 4], fcn.004d62c2
inc ecx
mov dword [esi + 4], ecx
and dword [esi + 0x10], 0
mov dword [esi + 8], edx
mov dword [esi + 0xc], ecx
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
push esi
call fcn.0045d4f0
add esp, 0x24
pop esi
ret