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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x890
mov eax, dword [edx]
mov edi, dword [ebp + 8]
mov ebx, edx
mov dword [esp + 0x38], ecx
mov dword [esp + 4], edx
xor eax, 4
or eax, dword [edx + 4]
jne 0x559bef
lea eax, [ebx + 0x58]
mov ecx, 0x88
lea esi, [ebx + 8]
mov dword [esp + 0x24], eax
lea eax, [ebx + 0xc]
mov dword [esp + 0x2c], eax
lea eax, [ebx + 0x6c]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xa8]
lea eax, [eax + ecx]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x200]
lea eax, [eax + ecx]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x610]
lea eax, [eax + ecx]
mov dword [esp + 0x64], eax
lea eax, [ebx + 0x60]
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x308]
push dword [edi]
call fcn.0055b55b
add esp, 4
movzx ebx, byte [esp + 0x308]
cmp ebx, 5
jne 0x55ae82
mov eax, dword [esi]
mov dword [esi], 2
cmp eax, 2
je 0x558231
mov edx, esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x820], eax
mov ecx, 0xf
lea edi, [esp + 0x824]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 8]
mov esi, edx
mov ecx, edx
lea edx, [esp + 0x820]
push edi
call fcn.0055b72f
add esp, 4
jmp 0x5581ca
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x550]
push dword [edi]
call fcn.0054fe50
add esp, 4
mov eax, dword [esp + 0x550]
lea ebx, [esp + 0x200]
mov ecx, eax
and cl, 7
cmp cl, 3
mov ecx, dword [esp + 4]
je 0x55b183
cmp eax, 4
je 0x55b192
push 0x98
lea eax, [esp + 0x554]
push eax
lea eax, [esp + 0x618]
push eax
call fcn.0064a810
add esp, 0xc
lea ecx, [esp + 0x5e8]
cmp dword [esp + 0x5e8], 0
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x5ec]
movq qword [esp + 0x1c0], xmm0
je 0x5582dc
test eax, eax
je 0x55b2a2
mov eax, dword [esp + 0x5f0]
test eax, eax
je 0x55b2b3
add eax, 0x88
jmp 0x5582f8
test eax, eax
je 0x55b2a2
mov eax, dword [esp + 0x5f0]
test eax, eax
je 0x55b2b3
add eax, 0xb8
mov eax, dword [eax]
test al, 4
jne 0x55860f
push 0x98
lea edi, [esp + 0x614]
push edi
lea eax, [esp + 0xb0]
push eax
call fcn.0064a810
add esp, 0xc
mov eax, 0x88
push eax
push edi
push ebx
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0xa0]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, 0x88
movsd qword [edi], xmm0
movsd qword [edi + 8], xmm1
push eax
lea eax, [esp + 0x614]
push eax
lea eax, [esp + 0x6b0]
push eax
call fcn.0064a810
add esp, 0xc
movq xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
mov ecx, ebx
mov edx, str.keep_aliveHTTP_1.1_100_Continue_r_n_r_ninternal_error:_entered_unreachable_code:_poll_read_body_invalid_state:
movsd qword [esp + 0x1a0], xmm1
movq qword [esp + 0x198], xmm0
push 0xa
call fcn.004c88cd
add esp, 4
cmp dword [esp + 0x200], 0
jne 0x55b37b
mov dword [esp + 0xc], esi
lea esi, [esp + 0x204]
mov ecx, ebx
mov edx, 0x752b08
movq xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [esp + 0x310], xmm1
movq qword [esp + 0x308], xmm0
push 0x10
call fcn.004c88cd
add esp, 4
cmp dword [esp + 0x200], 0
jne 0x55b38c
movsd xmm1, qword [esi + 8]
lea edi, [esp + 0xa8]
movq xmm0, qword [esi]
movsd xmm2, qword [esp + 0x308]
mov esi, 5
xor eax, eax
movsd qword [edi + 0x18], xmm1
movsd xmm1, qword [esp + 0x310]
movq qword [edi + 0x10], xmm0
movsd qword [esp + 0xa8], xmm2
movsd qword [esp + 0xb0], xmm1
mov dword [edi + 0x2c], eax
mov dword [edi + 0x28], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], 0x44
mov dword [edi + 0x3c], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], 0x45
mov dword [edi + 0x4c], eax
mov dword [edi + 0x48], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], 0x47
mov ecx, ebx
lea edx, [esp + 0x6a8]
push edi
call fcn.004cdfc9
add esp, 4
cmp byte [esp + 0x210], 2
je 0x55849d
mov eax, dword [esp + 0x200]
push dword [esp + 0x208]
push dword [esp + 0x208]
lea ecx, [esp + 0x214]
push ecx
call dword [eax + 8]
add esp, 0xc
add edi, 0x10
dec esi
jne 0x55845e
xor eax, eax
lea ecx, [esp + 0x6a8]
mov edx, ebx
mov dword [esp + 0x204], 0x43
mov dword [esp + 0x20c], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0x200], eax
call fcn.004b8950
test eax, eax
lea esi, [esp + 0x3c8]
lea edi, [esp + 0x314]
je 0x558571
cmp dword [eax + 8], 8
jne 0x558509
mov eax, dword [eax + 4]
mov edx, 0x69617274
mov ecx, dword [eax]
mov eax, dword [eax + 4]
xor ecx, edx
mov edx, 0x7372656c
xor eax, edx
or eax, ecx
je 0x558571
xor eax, eax
mov dword [esp + 0x30c], 0x43
mov ecx, ebx
lea edx, [esp + 0x6a8]
mov dword [esp + 0x314], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x308], eax
lea eax, [esp + 0x308]
push eax
call fcn.004cdb6f
add esp, 4
cmp byte [esp + 0x210], 2
je 0x558571
mov eax, dword [esp + 0x200]
push dword [esp + 0x208]
push dword [esp + 0x208]
lea ecx, [esp + 0x214]
push ecx
call dword [eax + 8]
add esp, 0xc
xor eax, eax
mov dword [esp + 0x204], 0x14
mov ecx, esi
lea edx, [esp + 0x6a8]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0x200], eax
push ebx
call fcn.004cdb6f
add esp, 4
cmp byte [esp + 0x3d8], 2
je 0x558707
movq xmm0, qword [esp + 0x3c8]
movsd xmm1, qword [esp + 0x3d0]
mov eax, dword [esp + 0x3d8]
xor edx, edx
movq qword [esp + 0x440], xmm0
movsd qword [esp + 0x448], xmm1
mov dword [esp + 0x450], eax
mov ecx, dword [esp + 0x444]
mov eax, dword [esp + 0x448]
cmp eax, edx
je 0x558635
mov bl, byte [ecx + edx]
inc edx
cmp bl, 9
je 0x5585f5
add bl, 0xe0
cmp bl, 0x5f
jb 0x5585f5
jmp 0x55b27c
lea ecx, [esp + 0x1c0]
call fcn.0054ff8b
lea ecx, [esp + 0x610]
call fcn.00550091
mov ecx, dword [esp + 0x64]
call fcn.005500cc
jmp 0x5581ca
mov edx, 0x2c
lea ebx, [esp + 0x200]
mov dword [esp + 0x200], edx
mov dword [esp + 0x204], ecx
xor ecx, ecx
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], 1
mov dword [esp + 0x218], edx
mov dword [esp + 0x21c], ecx
mov dword [esp + 0x220], eax
mov word [esp + 0x224], 1
mov ecx, ebx
call fcn.005ffe93
test eax, eax
je 0x5586e4
mov ecx, eax
call fcn.004cc5d4
mov esi, edx
lea ecx, [esp + 0x308]
lea edx, [esp + 0x6a8]
push esi
push eax
call fcn.004cdf0d
add esp, 8
cmp byte [esp + 0x318], 2
je 0x558690
mov eax, dword [esp + 0x308]
push dword [esp + 0x310]
push dword [esp + 0x310]
push edi
call dword [eax + 8]
add esp, 0xc
jmp 0x558690
mov eax, dword [esp + 0x440]
push dword [esp + 0x448]
push dword [esp + 0x448]
lea ecx, [esp + 0x454]
push ecx
call dword [eax + 8]
add esp, 0xc
mov esi, 5
lea edi, [esp + 0xb4]
mov eax, dword [edi - 0xc]
test eax, eax
je 0x558727
push dword [edi - 4]
push dword [edi - 8]
push edi
call dword [eax + 8]
add esp, 0xc
add edi, 0x10
dec esi
jne 0x558713
cmp dword [esp + 0x198], 0
je 0x55875f
mov edx, dword [esp + 0x1a0]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0xc]
xor eax, eax
mov ecx, edx
or ecx, eax
je 0x5587c3
lea ecx, [esp + 0x6a8]
push eax
call fcn.004cfcbf
add esp, 4
jmp 0x5587ba
mov eax, dword [esp + 0x1a0]
push dword [esp + 0x19c]
lea ecx, [esp + 0xac]
push ecx
call dword [eax + 0x18]
add esp, 8
mov eax, dword [esp + 0xa8]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0xc]
or eax, dword [esp + 0xac]
je 0x5587ba
mov edx, dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb4]
xor ecx, eax
xor esi, edx
or esi, ecx
mov esi, dword [esp + 0xc]
je 0x558747
mov cl, byte [esp + 0x714]
jmp 0x5587e9
movzx ecx, byte [esp + 0x714]
xor edx, edx
cmp ecx, 7
ja 0x55933e
mov eax, 0xb2
bt eax, ecx
mov eax, 0
jae 0x55874d
cmp dword [esp + 0x198], 0
mov dword [esp + 0x60], ecx
je 0x558806
cmp dword [esp + 0x1a0], 0
sete byte [esp + 0x1b]
jmp 0x558822
mov eax, dword [esp + 0x1a0]
push dword [esp + 0x19c]
call dword [eax + 0x14]
mov ecx, dword [esp + 0x64]
add esp, 4
mov byte [esp + 0x1b], al
cmp cl, 7
jne 0x5588d7
lea ecx, [esp + 0x500]
lea edx, [esp + 0x6a8]
call fcn.004cfaf9
cmp dword [esp + 0x500], 0
je 0x5588d7
mov eax, dword [esp + 0x50c]
or eax, dword [esp + 0x508]
je 0x5588d7
mov eax, dword [esp + 0x1c8]
movq xmm0, qword [esp + 0x1c0]
lea ecx, [esp + 0xa8]
mov byte [esp + 0xa8], 2
mov dword [esp + 0xac], 2
mov dword [esp + 0x208], eax
movq qword [esp + 0x200], xmm0
call fcn.004cf320
mov ecx, ebx
lea edx, [esp + 0xa8]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 3
call fcn.0055082c
lea ecx, [esp + 0x6a8]
call fcn.00550091
jmp 0x5590a1
mov ecx, dword [esp + 0x728]
test ecx, ecx
je 0x5589f3
mov edx, 0x8ce79c5a
push 0x332ac8d2
push 0x241a62c2
push 0x44eec3b9
call fcn.0055c414
add esp, 0xc
test eax, eax
je 0x5589f3
mov esi, eax
mov edi, edx
push eax
lea eax, [esp + 0x744]
push eax
call dword [edx + 0xc]
add esp, 8
movdqu xmm0, xmmword [esp + 0x740]
pcmpeqb xmm0, xmmword [0x661bc0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x5589cf
mov eax, dword [esi + 0xc]
mov edi, dword [esi]
mov dword [esp + 0x310], eax
movq xmm0, qword [esi + 4]
movq qword [esp + 0x308], xmm0
push esi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
test edi, edi
je 0x5589f3
mov eax, dword [esp + 0x310]
movq xmm0, qword [esp + 0x308]
lea esi, [esp + 0xa8]
mov dword [esp + 0xa8], edi
mov ecx, ebx
lea edx, [esp + 0x728]
mov dword [esi + 0xc], eax
movq qword [esi + 4], xmm0
push esi
call fcn.004b7460
add esp, 4
mov eax, dword [esp + 0x200]
test eax, eax
je 0x5589f3
push dword [esp + 0x208]
push dword [esp + 0x208]
lea ecx, [esp + 0x214]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x5589f3
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x5589f3
cmp dword [edi + 8], 9
jb 0x5589e4
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp byte [esp + 0x60], 7
setne byte [esp + 0x98]
push 0x88
lea eax, [esp + 0x6ac]
push eax
lea eax, [esp + 0x448]
push eax
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x1dc], ecx
cmove eax, ecx
mov ecx, dword [esp + 0x4c0]
mov dword [esp + 0x34], eax
test ecx, ecx
je 0x558ae1
mov edx, 0x4a93ba3c
push 0x1646e207
push 0xf9017617
push 0x10299bac
call fcn.0055c414
add esp, 0xc
test eax, eax
je 0x558ae1
mov esi, eax
mov edi, edx
push eax
lea eax, [esp + 0x734]
push eax
call dword [edx + 0xc]
add esp, 8
movdqu xmm0, xmmword [esp + 0x730]
pcmpeqb xmm0, xmmword [0x661ac0]
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x558abd
movq xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [esp + 0x2f8], xmm1
movq qword [esp + 0x2f0], xmm0
push esi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x558aec
push esi
call dword [edi]
add esp, 4
cmp dword [edi + 4], 0
je 0x558ae1
cmp dword [edi + 8], 9
jb 0x558ad2
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x8032a8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 0x2f0], 0
mov esi, dword [esp + 0x4c0]
mov edi, dword [ebp + 8]
test esi, esi
je 0x558b42
mov edx, dword [esi + 0xc]
test edx, edx
je 0x558b42
mov ecx, dword [esi]
call fcn.004c5a96
mov edi, dword [esi + 4]
test edi, edi
je 0x558b22
lea eax, [edi + 0x11]
push eax
push 0xff
push dword [esi]
call fcn.0064ad90
add esp, 0xc
lea eax, [edi + 1]
mov dword [esi + 0xc], 0
mov ecx, eax
and eax, 0xfffffff8
shr ecx, 3
sub eax, ecx
cmp edi, 8
cmovb eax, edi
mov edi, dword [ebp + 8]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0xa8]
mov eax, dword [eax]
lea edx, [eax + 8]
mov dword [esp + 0x1d8], eax
call fcn.005f8836
cmp dword [esp + 0xa8], 0
jne 0x55b3a5
mov al, byte [esp + 0xb0]
mov ebx, dword [esp + 0xac]
mov byte [esp + 3], al
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0x9c], eax
add eax, 8
mov dword [esp + 0x6c], eax
push eax
call dword [sym.imp.kernel32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x803890]
mov esi, dword [esp + 0xc]
test eax, 0x7fffffff
jne 0x559125
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x9c]
mov al, byte [eax + 0xc]
test al, al
jne 0x55b3e1
lea edx, [ebx + 8]
mov dword [esp + 0x14], ebx
lea ebx, [esp + 0xa8]
mov ecx, ebx
call fcn.004c191c
mov al, byte [esp + 0xa8]
mov ecx, dword [esp + 0x14]
cmp al, 3
jne 0x558c05
cmp dword [ecx + 0xb8], 0
je 0x5590b2
mov byte [esp + 0x10], 3
mov byte [esp + 0x1c], 5
jmp 0x558c68
mov byte [esp + 0x10], al
mov al, byte [esp + 0xa9]
mov cl, byte [ebx + 0x17]
mov dl, byte [esp + 0xbc]
mov byte [esp + 0x1c], al
movzx eax, word [esp + 0xaa]
mov byte [esp + 0x32], cl
mov ecx, dword [esp + 0xb8]
mov byte [esp + 0xb], dl
mov word [esp + 0x3e], ax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x54], eax
movzx eax, word [ebx + 0x15]
mov word [esp + 0x30], ax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x50], eax
movzx edx, byte [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
mov bl, byte [esp + 3]
call fcn.005aa9d0
mov ecx, dword [esp + 0x14]
movzx edx, bl
call fcn.005aa9d0
mov eax, dword [esp + 0x2f0]
test eax, eax
je 0x558cad
push dword [esp + 0x2f8]
push dword [esp + 0x2f8]
lea ecx, [esp + 0x304]
push ecx
call dword [eax + 8]
add esp, 0xc
lea ecx, [esp + 0x440]
call fcn.00550091
mov ecx, dword [esp + 0x20]
mov dl, byte [esp + 0x1c]
mov bh, byte [esp + 0x10]
movzx eax, word [esp + 0x3e]
mov bl, dl
mov dword [esp + 0x20], ecx
mov byte [esp + 0x1c], bl
mov byte [esp + 0xa8], bh
mov byte [esp + 0xa9], dl
mov word [esp + 0xaa], ax
mov eax, dword [esp + 0x58]
lea edx, [esp + 0xa8]
cmp bh, 3
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb4], eax
mov al, byte [esp + 0xb]
mov dword [esp + 0xb8], ecx
mov byte [esp + 0xbc], al
movzx eax, word [esp + 0x30]
mov word [edx + 0x15], ax
mov ah, byte [esp + 0x32]
mov byte [edx + 0x17], ah
jne 0x558d4d
mov byte [esp + 0x1a8], 3
mov byte [esp + 0x1a9], bl
jmp 0x55900f
lea ecx, [esp + 0x1a8]
call fcn.004bda34
cmp byte [esp + 0x1a8], 5
jne 0x55900f
mov bl, byte [esp + 0x1bc]
mov edx, dword [esp + 0x1ac]
lea eax, [esp + 0x1ac]
add edx, 8
lea ecx, [esp + 0x308]
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x208], xmm1
movq qword [esp + 0x200], xmm0
call fcn.005f8836
cmp dword [esp + 0x308], 0
jne 0x55b40e
mov esi, dword [esp + 0x30c]
mov edi, dword [esp + 0x310]
mov ecx, dword [esi + 0x158]
mov edx, dword [esi + 0x160]
push dword [esp + 0x1b4]
push dword [esp + 0x1b4]
call fcn.004b7306
add esp, 8
mov bh, byte [eax + 0xe4]
mov ecx, esi
mov edx, edi
call fcn.005aa9d0
mov edi, dword [ebp + 8]
test bl, bl
je 0x558e3d
test bh, bh
je 0x558e3d
lea ecx, [esp + 0x308]
lea edx, [esp + 0x200]
call fcn.004c14c1
cmp dword [esp + 0x1dc], 0
mov esi, dword [esp + 0x44]
je 0x558e26
mov ecx, esi
call fcn.005503b9
mov eax, dword [esp + 0x310]
movq xmm0, qword [esp + 0x308]
mov dword [esi + 8], eax
movq qword [esi], xmm0
lea ebx, [esp + 0xa8]
lea esi, [esp + 0x200]
mov ecx, ebx
mov edx, esi
call fcn.004c14c1
movsd xmm0, qword [esp + 0x200]
movsd xmm1, qword [esp + 0x208]
lea eax, [esp + 0x20c]
movsd xmm2, qword [esp + 0x1a0]
mov edx, dword [esp + 0x1c8]
cmp byte [esp + 0x60], 7
mov cl, byte [esp + 0x1b]
movsd qword [ebx + 0x18], xmm1
movsd qword [ebx + 0x10], xmm0
mov byte [esp + 0xb4], 0
movsd xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 0x4c8], xmm0
movsd xmm0, qword [esp + 0xb0]
movsd qword [esp + 0x4d8], xmm1
movsd qword [esp + 0x4d0], xmm0
movsd xmm0, qword [esp + 0xc0]
movsd qword [esp + 0x4e0], xmm0
movsd xmm0, qword [esp + 0x4d0]
movsd qword [eax + 8], xmm0
movsd xmm0, qword [esp + 0x4c8]
movsd qword [eax], xmm0
lea eax, [esp + 0x4d8]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x21c]
movsd qword [eax], xmm0
movsd xmm0, qword [esp + 0x198]
movsd qword [eax + 8], xmm1
lea eax, [esp + 0x22c]
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm0
movq xmm0, qword [esp + 0x1c0]
mov dword [esp + 0x208], edx
mov edx, dword [esp + 0x24]
movq qword [esp + 0x200], xmm0
sete byte [esp + 0x23c]
mov byte [esp + 0x23d], cl
lea ecx, [esp + 0x308]
push dword [edi]
call fcn.0055b55b
add esp, 4
movzx eax, byte [esp + 0x308]
cmp eax, 5
je 0x5590f9
cmp eax, 6
je 0x55b1f9
mov eax, dword [esp + 0x208]
movq xmm0, qword [esp + 0x200]
lea ecx, [esp + 0x308]
mov dword [esp + 0x448], eax
movq qword [esp + 0x440], xmm0
call fcn.004cf320
lea ecx, [esp + 0x440]
mov edx, ebx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 3
call fcn.0055082c
lea ecx, [esp + 0x20c]
call fcn.005503b9
lea ecx, [esp + 0x21c]
call fcn.00555b5c
lea ecx, [esp + 0x22c]
call fcn.005500cc
mov esi, dword [esp + 0xc]
jmp 0x5581ca
movsd xmm1, qword [esp + 0x1b0]
movq xmm0, qword [esp + 0x1b8]
movsd xmm2, qword [esp + 0x1a8]
mov eax, dword [esp + 0x1c8]
lea ecx, [esp + 0x4c8]
movsd qword [esp + 0x4d0], xmm1
movsd xmm1, qword [esp + 0x1c0]
movq qword [esp + 0x4d8], xmm0
movsd qword [esp + 0x4c8], xmm2
mov dword [esp + 0x208], eax
movsd qword [esp + 0x200], xmm1
call fcn.004cf320
lea ecx, [esp + 0x200]
lea edx, [esp + 0xa8]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 3
call fcn.0055082c
lea ecx, [esp + 0x198]
call fcn.005500cc
jmp 0x5581ca
cmp dword [esp + 0x1dc], 0
mov ebx, ecx
mov byte [esp + 0x10], 3
je 0x559112
mov eax, dword [esp + 0x34]
mov ecx, dword [ebx + 0x158]
mov edx, dword [ebx + 0x160]
push dword [eax + 8]
push dword [eax + 4]
call fcn.004b7306
add esp, 8
cmp byte [eax + 0xe4], 0
je 0x559112
mov byte [esp + 0x1c], 3
mov byte [esp + 0x10], 3
jmp 0x558c68
mov ecx, 0x10
mov edi, ebx
mov edx, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0xc]
mov ecx, esi
jmp 0x558226
cmp byte [ebx + 0x190], 0
je 0x559135
mov byte [esp + 0x1c], 1
jmp 0x558c68
call fcn.0065a0d0
xor al, 1
mov dword [esp + 0x5c], eax
jmp 0x558bb6
lea ecx, [ebx + 0xb8]
mov eax, ebx
lea ebx, [esp + 0x200]
cmp dword [ecx], 0
jne 0x558bfe
mov edx, dword [eax + 0xbc]
mov dword [esp + 0x304], ecx
lea esi, [edx + 2]
mov dword [esp + 0x300], edx
mov ecx, esi
shr ecx, 0x1f
mov dword [eax + 0xb8], ecx
mov dword [eax + 0xbc], esi
mov ecx, ebx
push dword [eax + 0x80]
push dword [eax + 0x11c]
call fcn.004c1393
add esp, 8
cmp byte [esp + 0x4ac], 5
jne 0x5591ab
mov dword [esp + 0x204], 0
mov dword [esp + 0x200], 1
push 0x88
lea eax, [esp + 0x444]
push eax
lea esi, [esp + 0xb0]
push esi
call fcn.0064a810
add esp, 0xc
movsd xmm0, qword [esp + 0x2f0]
movsd xmm1, qword [esp + 0x2f8]
mov al, byte [esp + 0x114]
lea ebx, [esp + 0x860]
mov ecx, 0xb
mov edi, ebx
movsd qword [esp + 0x518], xmm1
movsd qword [esp + 0x510], xmm0
mov byte [esp + 0x10], al
movsd xmm0, qword [esi + 0x6d]
movsd xmm1, qword [esi + 0x75]
mov eax, dword [esi + 0x7c]
lea esi, [esp + 0xe8]
movsd qword [esp + 0x4f0], xmm1
movsd qword [esp + 0x4e8], xmm0
mov dword [esp + 0x4f7], eax
rep movsd dword es:[edi], dword [esi]
mov al, byte [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov byte [esp + 0x34], al
call fcn.004b75a8
lea ecx, [esp + 0x524]
mov edx, ebx
call fcn.004caa66
mov eax, dword [esp + 0x53c]
test eax, eax
je 0x559345
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x540]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x3cc]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, 0x7f3994
mov ebx, dword [esp + 0x3d0]
mov edi, dword [esp + 0x3cc]
cmp ebx, 1
mov esi, ebx
mov dword [esp + 0x48], edi
adc esi, 0
test ebx, ebx
cmove edi, eax
mov ecx, esi
xor edx, edx
call fcn.004a2669
mov dword [esp + 0x90], edx
push esi
push edi
mov edi, eax
push eax
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x70]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], esi
call fcn.004a294d
push ebx
push dword [esp + 0x4c]
lea eax, [esp + 0x3dc]
push eax
mov eax, dword [esp + 0x58]
call dword [eax + 8]
add esp, 0xc
cmp dword [esp + 0x1e0], 0
je 0x559345
movsd xmm0, qword [esp + 0x1e0]
movsd xmm1, qword [esp + 0x1e8]
movsd qword [esp + 0x88], xmm1
movsd qword [esp + 0x80], xmm0
jmp 0x55936b
xor eax, eax
jmp 0x55874d
xor eax, eax
mov dword [esp + 0x80], 0x745180
mov dword [esp + 0x84], 0x7f59e0
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov bl, byte [esp + 0x10]
lea esi, [esp + 0x3c8]
movzx eax, bl
test eax, eax
je 0x559390
cmp eax, 7
je 0x559390
cmp dword [esp + 0x88], 0
je 0x559b86
lea edx, [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [edx + 8]
movsd xmm0, qword [edx]
test eax, eax
mov dword [esp + 0x78], ecx
movsd qword [esp + 0x70], xmm0
je 0x55940f
mov ecx, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x70]
lea edx, [esp + 0x1e4]
mov dword [esp + 0x1e0], eax
mov dword [edx + 8], ecx
movsd qword [edx], xmm0
cmp dword [esp + 0x1e8], 0
je 0x5593f8
mov ecx, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x70]
mov dword [esp + 0x1f8], ecx
movsd qword [esp + 0x1f0], xmm0
jmp 0x559411
push 0
push dword [esp + 0x1e8]
lea ecx, [esp + 0x1f4]
push ecx
call dword [eax + 8]
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0x4f7]
movsd xmm1, qword [esp + 0x4f0]
lea edx, [esp + 0x3cc]
mov byte [esp + 0x3c8], bl
movq xmm0, qword [esp + 0x4e8]
xor edi, edi
movsd xmm2, qword [esp + 0x3bc]
mov bl, byte [esp + 0x524]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x600]
movsd qword [edx + 5], xmm1
movsd xmm1, qword [esp + 0x5f8]
movq qword [edx - 3], xmm0
mov dword [esp + 0x3dc], edi
cmp bl, 3
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 0x3c4]
movsd qword [edx + 0x14], xmm1
movsd xmm1, qword [esp + 0x1f0]
mov dword [esp + 0x3ec], edi
movsd qword [edx + 0x24], xmm2
movsd xmm2, qword [esp + 0x510]
mov dword [edx + 0x2c], ecx
mov dword [esp + 0x3fc], eax
mov eax, dword [esp + 0x1f8]
movsd qword [edx + 0x34], xmm1
movsd xmm1, qword [esp + 0x518]
mov dword [edx + 0x3c], eax
mov al, 3
movsd qword [edx + 0x48], xmm1
movsd qword [edx + 0x40], xmm2
mov word [esp + 0x41c], 0
mov dword [esp + 0x10], eax
je 0x55950a
mov ecx, dword [esp + 0x524]
mov eax, dword [esp + 0x528]
lea edx, [esp + 0x3bc]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x3bc], ecx
mov ecx, esi
mov dword [esp + 0x3c0], eax
call fcn.004c4678
cmp dword [esp + 0x52c], 0
je 0x5595f6
lea eax, [esp + 0x540]
mov byte [esp + 0x48], bl
xor edx, edx
movsd xmm0, qword [eax - 0x14]
movsd xmm1, qword [eax - 0xc]
movsd qword [esp + 0x78], xmm1
movsd qword [esp + 0x70], xmm0
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov ecx, esi
call fcn.004a2669
mov edi, eax
mov dword [esp + 0x90], edx
push esi
mov dword [esp + 0x50], ebx
push ebx
push eax
call fcn.0064a810
add esp, 0xc
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x1e0]
lea edx, [esp + 0x1f0]
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], esi
call fcn.004a294d
mov eax, dword [esp + 0x3ec]
test eax, eax
je 0x5595b8
push dword [esp + 0x3f4]
push dword [esp + 0x3f4]
lea ecx, [esp + 0x400]
push ecx
call dword [eax + 8]
add esp, 0xc
movq xmm0, qword [esp + 0x1e0]
movsd xmm1, qword [esp + 0x1e8]
lea eax, [esp + 0x3cc]
movsd qword [eax + 0x28], xmm1
movq qword [eax + 0x20], xmm0
mov eax, dword [esp + 0x70]
push esi
push dword [esp + 0x50]
lea ecx, [esp + 0x84]
push ecx
call dword [eax + 8]
add esp, 0xc
mov bl, byte [esp + 0x48]
mov ecx, 0x16
lea edi, [esp + 0x7c8]
lea esi, [esp + 0x3c8]
cmp bl, 3
rep movsd dword es:[edi], dword [esi]
jne 0x55962a
cmp byte [esp + 0x10], 3
je 0x55962a
mov ecx, dword [esp + 0x524]
mov edx, dword [esp + 0x528]
call fcn.004c91e0
mov eax, dword [esp + 0x7dc]
or eax, dword [esp + 0x7ec]
jne 0x559695
cmp byte [esp + 0x34], 3
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0xc]
jne 0x55966c
lea ecx, [esp + 0x7c8]
call fcn.004bb47d
lea ecx, [esp + 0xa8]
call fcn.004cb423
mov bl, 7
mov byte [esp + 0x10], 3
jmp 0x5597a2
lea ecx, [esp + 0x7c8]
lea edx, [esp + 0x3c8]
mov dword [esp + 0x3cc], 0
mov dword [esp + 0x3c8], 1
call fcn.004c4678
mov ecx, 0x16
lea edi, [esp + 0x3e8]
lea esi, [esp + 0x7c8]
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x750]
mov al, byte [esp + 0xb0]
mov edx, dword [esp + 0xa8]
mov esi, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
mov byte [esp + 0x10], al
mov al, byte [esp + 0xb1]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], esi
mov byte [esp + 0x34], al
movzx eax, word [esp + 0xb2]
mov word [esp + 0x3c], ax
lea eax, [esp + 0xa8]
movzx ecx, word [eax + 0x1d]
movsd xmm0, qword [eax + 0x20]
movsd xmm1, qword [eax + 0x28]
mov word [esp + 0x40], cx
mov cl, byte [eax + 0x1f]
movsd qword [esp + 0x3c8], xmm0
movsd xmm0, qword [eax + 0x30]
movsd qword [esp + 0x3d0], xmm1
mov byte [esp + 0x42], cl
mov ecx, edx
movsd qword [esp + 0x3d8], xmm0
movq xmm0, qword [eax + 0x38]
mov al, byte [esp + 0xc4]
mov edx, dword [esp + 0xb8]
xor ecx, 3
or ecx, esi
mov ecx, dword [esp + 0xc0]
lea esi, [esp + 0x3c8]
mov byte [esp + 0x1a], al
movq qword [esp + 0x3e0], xmm0
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x94], ecx
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x1cc], eax
jne 0x559852
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0xc]
mov bl, byte [esp + 0x34]
mov al, byte [esp + 0x42]
movzx ecx, word [esp + 0x40]
mov byte [esp + 0x32], al
mov al, byte [esp + 0x220]
mov word [esp + 0x30], cx
mov ecx, eax
add cl, 0xfa
cmp cl, 6
jb 0x5597db
add al, 0xfd
cmp al, 2
ja 0x5597cf
cmp al, 1
jne 0x5597db
lea ecx, [esp + 0x220]
call fcn.004b94cf
mov eax, dword [esp + 0x240]
test eax, eax
je 0x5597f3
push dword [esp + 0x244]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x250]
mov byte [esp + 0x34], bl
test eax, eax
je 0x55980f
push dword [esp + 0x254]
call dword [eax + 0xc]
add esp, 4
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x1d4]
mov al, byte [esp + 0x1a]
movzx ebx, word [esp + 0x3c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1cc]
mov byte [esp + 0xb], al
mov word [esp + 0x3e], bx
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ecx
jmp 0x559af2
movzx ecx, word [esp + 0x40]
lea esi, [esp + 0x750]
lea edi, [esp + 0x328]
mov word [esp + 0x68], cx
mov cl, byte [esp + 0x42]
mov byte [esp + 0x6a], cl
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x309]
mov byte [esp + 0x3a0], 0
mov ecx, dword [esp + 0x60c]
movq xmm0, qword [esp + 0x604]
mov dword [esi + 0xa0], ecx
mov ecx, dword [esp + 0x300]
movq qword [esi + 0x98], xmm0
mov byte [esp + 0x3ad], 2
mov dword [esp + 0x3b0], ecx
mov cl, byte [esp + 0x98]
and cl, byte [esp + 0x1b]
or cl, 4
mov byte [esp + 0x3b4], cl
movzx ecx, word [esp + 0x1fd]
mov word [esi + 0xac], cx
mov cl, byte [esp + 0x1ff]
mov byte [esi + 0xae], cl
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x30c], ecx
mov ecx, dword [esp + 0x9c]
add ecx, 0x10
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x308], ecx
mov cl, byte [esp + 0x10]
mov byte [esp + 0x310], cl
mov cl, byte [esp + 0x34]
mov byte [esp + 0x311], cl
movzx ecx, word [esp + 0x3c]
mov word [esp + 0x312], cx
mov dword [esp + 0x314], ebx
mov dword [esp + 0x318], edx
mov dword [esp + 0x31c], eax
mov eax, dword [esp + 0x94]
mov ebx, dword [esp + 0x2cc]
mov dword [esp + 0x320], eax
mov al, byte [esp + 0x1a]
mov byte [esp + 0x324], al
mov al, byte [esp + 0x6a]
mov byte [esi + 0x1e], al
movzx eax, word [esp + 0x68]
mov word [esi + 0x1c], ax
mov eax, dword [esp + 0x14]
lea esi, [eax + 0x128]
push 0xf0
lea eax, [esp + 0x204]
push eax
lea edi, [esp + 0xb0]
push edi
call fcn.0064a810
add esp, 0xc
lea ecx, [esp + 0x3c8]
mov edx, esi
push edi
push ebx
mov esi, dword [esp + 0x1c]
call fcn.004c0cde
add esp, 8
mov ecx, dword [esp + 0x304]
lea eax, [esi + 0xb0]
lea edx, [esp + 0x308]
push eax
push dword [esi + 0x190]
lea eax, [esp + 0x3d0]
push eax
push dword [esp + 0xa4]
call fcn.0055c100
add esp, 0x10
cmp al, 0xc
jne 0x559aaa
inc dword [esi + 0x194]
mov ecx, dword [esp + 0x1d8]
mov eax, dword [esi + 0x170]
mov edi, dword [esi + 0x174]
mov dword [esp + 0x20], eax
lock inc dword [ecx]
jle 0x55b44a
mov eax, dword [esp + 0x3c8]
mov esi, dword [esp + 0x3d0]
mov ebx, dword [esp + 0x3cc]
mov ecx, dword [eax + 0x30]
mov edx, dword [eax + 0x38]
mov dword [esp + 0x50], esi
push esi
push ebx
call fcn.004be27b
add esp, 8
mov ecx, dword [eax + 0xd0]
cmp ecx, 0xffffffff
je 0x55b44e
mov esi, dword [esp + 0x9c]
inc ecx
mov dword [esp + 0x54], ebx
mov dword [eax + 0xd0], ecx
lock inc dword [esi]
jle 0x55b44a
inc edi
movzx edx, byte [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x20], edi
setbe byte [esp + 0xb]
call fcn.005aa9d0
movzx edx, byte [esp + 3]
mov ecx, dword [esp + 0x14]
call fcn.005aa9d0
mov eax, dword [esp + 0x1d8]
mov dl, byte [esp + 0x1c]
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x58], eax
mov eax, esi
jmp 0x559b27
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x3d0]
mov edx, dword [esp + 0x3c8]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x750], eax
lea eax, [esp + 0x750]
push eax
call fcn.004ba301
add esp, 4
lea ecx, [esp + 0x3c8]
call fcn.004be76f
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0xc]
mov byte [esp + 0x10], 3
movzx edx, byte [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
call fcn.005aa9d0
movzx edx, byte [esp + 3]
mov ecx, dword [esp + 0x14]
call fcn.005aa9d0
mov ecx, dword [esp + 0x20]
cmp byte [esp + 0x10], 4
mov ebx, dword [esp + 0x58]
mov dl, byte [esp + 0x34]
mov eax, ecx
jne 0x558cc1
mov dword [esp + 0x20], ecx
mov ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1ac], ebx
mov byte [esp + 0x1c], dl
mov edx, ebx
mov bl, byte [esp + 0xb]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1b4], eax
movzx eax, word [esp + 0x30]
mov dword [esp + 0x1b8], ecx
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x1bc], bl
mov word [ecx + 0x11], ax
mov ah, byte [esp + 0x32]
mov byte [ecx + 0x13], ah
mov byte [esp + 0x1a8], 5
jmp 0x558d75
mov eax, dword [esp + 0x80]
xor edi, edi
push edi
push dword [esp + 0x88]
lea ecx, [esp + 0x94]
push ecx
call dword [eax + 8]
add esp, 0xc
mov dword [esp + 0x80], 0x745180
mov dword [esp + 0x84], 0x7f3994
mov dword [esp + 0x88], 1
mov dword [esp + 0x8c], edi
lea edx, [esp + 0x84]
mov eax, 0x745180
mov ecx, dword [edx + 8]
movsd xmm0, qword [edx]
mov dword [esp + 0x78], ecx
movsd qword [esp + 0x70], xmm0
jmp 0x5593b3
lea ecx, [ebx + 0x121]
lea edx, [ebx + 0x110]
lea eax, [ebx + 0x58]
mov dword [esp + 0xa4], ecx
lea ecx, [ebx + 0xc8]
mov dword [esp + 0x2c], edx
lea edx, [ebx + 0xf8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x64], ecx
lea ecx, [ebx + 0x104]
mov dword [esp + 0x44], edx
lea edx, [ebx + 0xb8]
mov dword [esp + 0x60], ecx
xor ecx, ecx
mov dword [esp + 0xc], edx
cmp ecx, 0x10
je 0x55b009
mov dword [esp + 0xa0], ecx
cmp byte [ebx + 0x128], 0
jne 0x55a145
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x44]
or ecx, eax
jne 0x559c89
mov edx, dword [esp + 0x28]
mov esi, 3
mov ecx, dword [edx]
mov edx, dword [edx + 4]
add ecx, 0xfffffffe
adc edx, 0xffffffff
cmp esi, ecx
mov esi, 0
sbb esi, edx
jb 0x559d9b
test ecx, ecx
jne 0x559d9b
mov cl, byte [ebx + 0x120]
mov byte [ebx + 0x120], 3
cmp cl, 3
je 0x559f9f
mov edx, dword [esp + 0x2c]
dec eax
lea esi, [esp + 0x319]
cmp eax, 1
movq xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov edx, dword [esp + 0xa4]
movsd qword [esp + 0x310], xmm1
movq qword [esp + 0x308], xmm0
mov byte [esp + 0x318], cl
mov cl, byte [edx + 2]
movzx edx, word [edx]
mov byte [esi + 2], cl
mov word [esi], dx
ja 0x559dee
mov esi, dword [esp + 0x30c]
mov edx, dword [edi]
lea ecx, [esi + 0xc]
call fcn.004b54cd
mov eax, dword [esi + 8]
test eax, eax
je 0x559d26
cmp eax, 2
jne 0x55a062
cmp byte [esp + 0x318], 2
je 0x559d26
mov eax, dword [esp + 0x310]
mov eax, dword [eax + 0x1c]
test eax, eax
js 0x559dff
mov ecx, 5
call fcn.004cbacb
mov ecx, dword [ebx + 0x40]
mov dword [esp + 0x200], eax
xor ecx, 1
or ecx, dword [ebx + 0x44]
jne 0x559d50
mov dword [ebx + 0x44], 0
mov dword [ebx + 0x40], 2
lea ecx, [esp + 0xa8]
mov edx, ebx
push edi
call fcn.00563a18
add esp, 4
mov eax, dword [esp + 0xa8]
cmp eax, 2
je 0x559dcb
test eax, eax
je 0x559dcb
mov eax, dword [esp + 0xac]
test eax, eax
je 0x559dbb
push dword [esp + 0xb4]
push dword [esp + 0xb4]
lea ecx, [esp + 0xc0]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x559dcb
mov ecx, ebx
mov edx, edi
call fcn.005608e4
test eax, eax
jne 0x55a145
mov esi, edx
test edx, edx
je 0x559c47
jmp 0x55a134
lea eax, [esp + 0xb0]
push eax
call fcn.0054fbe4
add esp, 4
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x559dde
cmp eax, 3
je 0x559dde
mov ecx, ebx
call fcn.004d02ec
lea eax, [esp + 0x200]
push eax
call fcn.00550364
add esp, 4
lea ecx, [esp + 0x308]
call fcn.00557dac
jmp 0x559c47
lea ecx, [esp + 0x310]
mov edx, edi
call fcn.004cbc57
test al, al
jne 0x55a06b
lea ecx, [esp + 0x200]
mov edx, ebx
push edi
call fcn.00563a18
add esp, 4
mov eax, dword [esp + 0x200]
test eax, eax
je 0x559dee
cmp eax, 1
jne 0x55a06b
cmp dword [esp + 0x204], 0
je 0x559e76
cmp byte [esp + 0x318], 2
jne 0x559ec5
lea eax, [esp + 0x204]
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xb0], xmm1
movq qword [esp + 0xa8], xmm0
jmp 0x559f2d
mov ecx, dword [esp + 0x20c]
mov eax, dword [esp + 0x208]
mov dword [esp + 0x554], ecx
mov ecx, 8
mov dword [esp + 0x550], eax
call fcn.004cbacb
mov ecx, eax
lea edx, [esp + 0x550]
mov esi, eax
call fcn.004cf3b7
mov ecx, dword [esp + 0x310]
mov edx, dword [esp + 0x318]
push esi
call fcn.004cf570
jmp 0x559deb
lea eax, [esp + 0x204]
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x310]
push eax
call fcn.004cbd29
add esp, 4
cmp byte [esp + 0xb8], 2
jne 0x559f2d
cmp byte [ebx + 0x120], 3
je 0x559eff
mov ecx, dword [esp + 0x2c]
call fcn.00557dac
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x2c]
movq xmm0, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x310]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movq qword [ecx], xmm0
jmp 0x559c47
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xac]
test esi, esi
je 0x55b354
mov eax, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], edi
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xb0], ebx
mov eax, dword [eax + 0x40]
dec eax
cmp eax, 2
jae 0x559f83
mov ecx, dword [esp + 4]
call fcn.004d02ec
push ebx
push edi
lea eax, [esp + 0xbc]
push eax
call dword [esi + 8]
add esp, 0xc
mov ebx, dword [esp + 4]
mov edi, dword [ebp + 8]
jmp 0x559dee
mov ecx, eax
and cl, 7
cmp cl, 4
je 0x55a145
and eax, 7
jne 0x559fe9
mov ecx, dword [esp + 0x28]
mov edx, 3
mov esi, 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
cmp edx, eax
sbb esi, ecx
jb 0x559fe9
test eax, eax
jne 0x559fe9
cmp dword [ebx + 0xe4], 0
je 0x55a0ab
mov ecx, 3
jmp 0x55a056
cmp byte [ebx + 0x90], 0
jne 0x55a145
cmp dword [ebx + 0xe4], 0
jne 0x55a145
lea ecx, [esp + 0x200]
mov edx, ebx
push edi
call fcn.0056462c
add esp, 4
cmp byte [esp + 0x200], 5
mov edi, 1
je 0x55a136
mov ecx, dword [esp + 0x200]
mov eax, dword [esp + 0x204]
cmp cl, 4
jne 0x55a10c
mov edi, dword [ebp + 8]
test eax, eax
jne 0x55a145
mov ecx, ebx
call fcn.004d02ec
mov ecx, 2
call fcn.004cbacb
mov esi, eax
jmp 0x55a134
cmp eax, 1
jne 0x55b229
cmp byte [ebx + 0x120], 3
je 0x55a07d
mov ecx, dword [esp + 0x2c]
call fcn.00557dac
mov eax, dword [esp + 0x318]
mov ecx, dword [esp + 0x2c]
movq xmm0, qword [esp + 0x308]
movsd xmm1, qword [esp + 0x310]
mov dword [ecx + 0x10], eax
movsd qword [ecx + 8], xmm1
movq qword [ecx], xmm0
jmp 0x55a145
lea ecx, [esp + 0x200]
mov edx, ebx
push edi
call fcn.0056462c
add esp, 4
cmp byte [esp + 0x200], 5
mov edi, 1
je 0x55a136
mov ecx, dword [esp + 0x200]
mov eax, dword [esp + 0x204]
cmp cl, 4
jne 0x55a10c
test eax, eax
jne 0x559fe2
xor edi, edi
cmp byte [ebx + 0x9a], 0
mov esi, 0
je 0x55a103
mov ecx, 2
call fcn.004cbacb
mov esi, eax
mov ecx, ebx
call fcn.004d02ec
jmp 0x55a136
mov dword [esp + 0xa8], ecx
mov ecx, 6
mov dword [esp + 0xac], eax
call fcn.004cbacb
mov ecx, eax
lea edx, [esp + 0xa8]
mov esi, eax
call fcn.004cf3b7
xor edi, edi
test edi, edi
mov edi, dword [ebp + 8]
jne 0x55a145
test esi, esi
jne 0x55af21
cmp byte [ebx + 0x128], 0
je 0x55a186
mov ecx, ebx
mov edx, edi
call fcn.0055e5ec
test eax, eax
jne 0x55a165
mov esi, edx
test edx, edx
jne 0x55af21
mov ecx, dword [esp + 0xa0]
inc ecx
cmp byte [ebx + 0x99], 0
mov byte [ebx + 0x99], 0
jne 0x559c37
jmp 0x55b018
mov eax, dword [ebx + 0x124]
cmp dword [eax], 0
jne 0x55a19c
mov eax, dword [ebx + 0x40]
xor eax, 4
or eax, dword [ebx + 0x44]
jne 0x55a1c2
cmp byte [ebx + 0xf0], 0
jne 0x55a2c0
cmp byte [ebx + 0xdc], 0
je 0x55a227
mov esi, dword [ebx + 0xd4]
cmp esi, 0xf
jbe 0x55a22d
jmp 0x55a802
mov ecx, dword [esp + 0x28]
mov edx, 3
mov esi, 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
add eax, 0xfffffffe
adc ecx, 0xffffffff
cmp edx, eax
sbb esi, ecx
jb 0x55a19c
test eax, eax
jne 0x55a19c
mov edx, dword [ebx + 0xd4]
xor eax, eax
test edx, edx
je 0x55a531
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ebx + 0xd0]
mov edi, 0
cmp eax, ecx
mov esi, ecx
cmovb esi, edi
mov edi, ecx
sub eax, esi
mov esi, edx
sub edi, eax
sub esi, edi
ja 0x55a21f
add edx, eax
xor esi, esi
mov ecx, edx
mov edi, dword [ebp + 8]
jmp 0x55a535
mov esi, dword [ebx + 0xd4]
xor eax, eax
test esi, esi
je 0x55a262
mov ecx, dword [ebx + 0xcc]
mov eax, dword [ebx + 0xd0]
mov edi, 0
cmp eax, ecx
mov edx, ecx
cmovb edx, edi
mov edi, ecx
sub eax, edx
mov edx, esi
sub edi, eax
sub edx, edi
ja 0x55a25d
add esi, eax
xor edx, edx
mov ecx, esi
mov edi, dword [ebp + 8]
jmp 0x55a266
xor ecx, ecx
xor edx, edx
mov esi, dword [ebx + 0xc8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0xa8], eax
lea eax, [ecx + ecx*4]
lea ecx, [esp + 0xa8]
lea eax, [esi + eax*8]
mov dword [esp + 0xac], eax
lea eax, [edx + edx*4]
mov dword [esp + 0xb0], esi
lea eax, [esi + eax*8]
mov esi, dword [ebx + 0xc0]
mov dword [esp + 0xb4], eax
sub esi, dword [ebx + 0xc4]
call fcn.005519bf
add eax, esi
cmp eax, dword [ebx + 0xd8]
jae 0x55a802
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x5c]
mov edx, 3
mov esi, 0
mov ebx, dword [ebx + 0x124]
add eax, 0xfffffffe
adc ecx, 0xffffffff
cmp edx, eax
sbb esi, ecx
setb cl
cmp eax, 1
sete al
or al, cl
cmp dword [ebx], 0
je 0x55a7e2
lea edx, [ebx + 4]
test al, al
je 0x55a3db
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], edx
push edi
call fcn.00550e72
add esp, 4
cmp dword [esp + 0xa8], 2
je 0x55ae79
movq xmm0, qword [esp + 0xa8]
mov eax, dword [esp + 0xb8]
movsd xmm1, qword [esp + 0xb0]
movq qword [esp + 0x610], xmm0
mov dword [esp + 0x620], eax
movsd qword [esp + 0x618], xmm1
cmp dword [esp + 0x610], 0
je 0x55a822
mov eax, dword [esp + 0x614]
mov edi, dword [esp + 0x618]
test eax, eax
je 0x55aef4
mov ecx, dword [esp + 0x620]
mov esi, dword [esp + 0x61c]
mov dword [esp + 0x440], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x444], edi
mov dword [esp + 0x448], esi
mov dword [esp + 0x44c], ecx
cmp dword [eax], 0
je 0x55a3fe
cmp dword [ebx + 0xc], 0
mov edi, dword [ebp + 8]
je 0x55a418
test esi, esi
jne 0x55a855
mov eax, dword [esp + 0x440]
push 0
push dword [esp + 0x448]
lea ecx, [esp + 0x454]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x55a3e8
mov ecx, edx
call fcn.005500cc
mov dword [ebx], 0
mov ebx, dword [esp + 4]
cmp byte [ebx + 0x128], 0
je 0x55a186
jmp 0x55a14e
mov eax, dword [ebx + 0xc]
push dword [ebx + 8]
call dword [eax + 0x14]
add esp, 4
mov esi, dword [esp + 0x448]
mov edi, dword [ebp + 8]
test al, al
je 0x55a3b3
test esi, esi
je 0x55a8ee
mov ecx, dword [esp + 0x28]
movq xmm0, qword [esp + 0x440]
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov ecx, 3
movq qword [esp + 0x6a8], xmm0
mov edx, eax
mov dword [esp + 0x14], edi
add edx, 0xfffffffe
adc edi, 0xffffffff
cmp ecx, edx
mov ecx, 0
sbb ecx, edi
mov edi, dword [esp + 0x44c]
jb 0x55a467
cmp edx, 1
jne 0x55b30d
or eax, dword [esp + 0x14]
je 0x55aa45
mov eax, dword [esp + 4]
mov dword [esp + 0x14], edi
mov edi, dword [eax + 0x60]
mov ecx, dword [eax + 0x64]
xor eax, eax
mov edx, edi
xor edx, esi
or edx, ecx
mov edx, 0
setne al
cmp esi, edi
sbb edx, ecx
mov edx, 0xff
cmovb eax, edx
test al, al
je 0x55ab1d
movzx eax, al
cmp eax, 1
jne 0x55ab60
mov ecx, dword [esp + 0x440]
mov eax, dword [esp + 0x444]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x550], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0x554], eax
mov dword [esp + 0x558], esi
mov dword [esp + 0x55c], edx
mov dword [esp + 0x560], edi
cmp byte [ecx + 0xdc], 0
je 0x55ac80
mov eax, dword [esp + 0x560]
movq xmm0, qword [esp + 0x550]
movsd xmm1, qword [esp + 0x558]
lea ecx, [esp + 0xb4]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm1
movq qword [ecx - 8], xmm0
mov dword [esp + 0xa8], 1
jmp 0x55ab08
xor ecx, ecx
xor esi, esi
mov edx, dword [esp + 0x64]
lea eax, [eax + eax*4]
lea ecx, [ecx + ecx*4]
lea esi, [esi + esi*4]
mov edx, dword [edx]
lea eax, [edx + eax*8]
lea ecx, [edx + ecx*8]
lea esi, [edx + esi*8]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], esi
call fcn.005519bf
test eax, eax
jne 0x55a19c
mov eax, dword [esp + 0x44]
cmp dword [eax], 2
jne 0x55a19c
mov edx, dword [esp + 0x60]
lea ecx, [esp + 0xa8]
push dword [edi]
call fcn.0054fe50
add esp, 4
mov eax, dword [esp + 0xa8]
mov ecx, eax
and cl, 7
cmp cl, 3
je 0x55ae32
mov ebx, edi
cmp eax, 4
lea edi, [esp + 0x550]
je 0x55ae3b
push 0x98
lea eax, [esp + 0xac]
push eax
lea esi, [esp + 0x208]
push esi
call fcn.0064a810
add esp, 0xc
lea ecx, [esp + 0x140]
mov edx, ebx
mov eax, dword [ecx + 8]
movq xmm0, qword [ecx]
mov dword [esp + 0x758], eax
movq qword [esp + 0x750], xmm0
call fcn.0054fc3d
test al, al
je 0x55ae3f
mov ecx, 0x20
lea edx, [esp + 0x6d4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x5bc]
lea esi, [esp + 0x590]
mov eax, dword [esp + 0x280]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov dword [esp + 0x24], eax
mov al, byte [esp + 0x284]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
mov byte [esp + 0x14], al
mov eax, dword [ecx + 0x10]
mov ecx, 0xb
mov dword [edx + 0x10], eax
lea eax, [esp + 0x6a8]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0x20c]
lea edi, [esp + 0x610]
mov ecx, dword [esp + 0x208]
mov ebx, dword [esp + 0x200]
mov edx, dword [esp + 0x204]
mov dword [esp + 0x1c], ecx
mov ecx, 0xd
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x10
mov esi, eax
lea edi, [esp + 0x644]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x44]
cmp dword [esi], 2
je 0x55a6bc
mov ecx, esi
mov edi, edx
call fcn.0054ff8b
mov edx, edi
lea ecx, [esp + 0x140]
lea edi, [esp + 0x440]
mov eax, dword [ecx + 8]
movsd xmm0, qword [ecx]
mov ecx, 0x1d
mov dword [esi + 8], eax
mov eax, ebx
movsd qword [esi], xmm0
lea esi, [esp + 0x610]
xor eax, 4
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 8]
or eax, edx
lea eax, [esp + 0x288]
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0x3cb]
movsd qword [eax + 8], xmm1
movq qword [eax], xmm0
je 0x55ae79
mov eax, ebx
xor eax, 3
or eax, edx
je 0x55ae60
mov eax, dword [esp + 0x3d7]
movsd xmm0, qword [esp + 0x3c8]
movsd xmm1, qword [esp + 0x3d0]
mov dword [esp + 0x308], ebx
mov dword [esp + 0x30c], edx
mov ecx, 0x1d
lea edi, [esp + 0x314]
lea esi, [esp + 0x440]
mov dword [esp + 0xb7], eax
mov eax, dword [esp + 0x1c]
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0xa8], xmm0
mov dword [esp + 0x310], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xb4]
movq xmm0, qword [ecx - 9]
mov eax, dword [esp + 0x24]
movsd xmm1, qword [ecx - 1]
mov dl, byte [esp + 0x14]
movq qword [esp + 0x200], xmm0
mov dword [esp + 0x388], eax
mov byte [esp + 0x38c], dl
movsd qword [esp + 0x208], xmm1
cmp dword [esp + 0x200], 0
je 0x55ac19
mov eax, dword [esp + 0x208]
mov ebx, dword [esp + 4]
test eax, eax
jne 0x55ad36
jmp 0x55ac39
mov ebx, dword [esp + 4]
test al, al
je 0x55a14e
mov ecx, ebx
call fcn.0055f33e
test eax, eax
je 0x55a3ec
jmp 0x55b0e4
mov ecx, ebx
mov edx, edi
call fcn.0055e5ec
test eax, eax
jne 0x55a14e
mov esi, edx
test edx, edx
je 0x55a3ec
jmp 0x55af21
mov ecx, dword [esp + 4]
call fcn.0055f33e
mov esi, eax
test eax, eax
mov eax, dword [esp + 0x610]
jne 0x55b16a
test eax, eax
je 0x55ad0f
lea ecx, [esp + 0x614]
call fcn.0055f42d
jmp 0x55ad0f
mov ecx, dword [esp + 0x28]
mov ebx, 3
movq xmm0, qword [esp + 0x440]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
movq qword [esp + 0x550], xmm0
mov edx, eax
mov edi, ecx
add edx, 0xfffffffe
adc edi, 0xffffffff
cmp ebx, edx
mov ebx, 0
sbb ebx, edi
mov ebx, dword [esp + 0x44c]
mov dword [esp + 0x24], ebx
jb 0x55a89e
cmp edx, 1
jne 0x55b2cc
mov edi, dword [esp + 4]
or eax, ecx
lea ebx, [esp + 0xa8]
je 0x55a927
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
cmp eax, esi
mov edx, ecx
sbb edx, 0
jae 0x55a974
xor ecx, ecx
mov edx, dword [esp + 0x444]
mov ebx, edi
mov dword [edi + 0x64], ecx
mov dword [edi + 0x60], ecx
mov ecx, dword [esp + 0x440]
mov dword [esp + 0x204], edx
mov dword [esp + 0x200], ecx
xor ecx, ecx
inc ecx
jmp 0x55a99f
mov ecx, dword [esp + 4]
call fcn.0055f33e
test eax, eax
jne 0x55b1cf
mov eax, dword [esp + 0x440]
push dword [esp + 0x448]
push dword [esp + 0x448]
lea ecx, [esp + 0x454]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x55ad0f
mov ecx, ebx
mov edx, esi
call fcn.004d034f
mov ecx, dword [esp + 0x554]
mov eax, dword [esp + 0x550]
mov edx, ebx
mov ebx, edi
mov dword [esp + 0x204], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x1c], ecx
mov ecx, 2
jmp 0x55a9a6
sub eax, esi
mov ebx, edi
sbb ecx, 0
mov dword [edi + 0x60], eax
mov eax, dword [esp + 0x440]
mov dword [edi + 0x64], ecx
mov ecx, dword [esp + 0x444]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ecx
xor ecx, ecx
lea edx, [esp + 0xa8]
mov edi, dword [esp + 0x204]
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x200]
mov dword [esp + 0xac], edi
mov dword [esp + 0xb4], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xbc], eax
mov esi, dword [esp + 0x14]
mov dword [esp + 0xc4], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc8], 0x7b7984
mov dword [esp + 0xcc], 2
call fcn.0056051c
mov eax, dword [ebx + 0x58]
or eax, dword [ebx + 0x5c]
je 0x55aa3d
mov eax, dword [ebx + 0x64]
or eax, dword [ebx + 0x60]
jne 0x55aa3d
cmp byte [ebx + 0x68], 1
mov eax, 5
mov dword [ebx + 0x5c], 0
sbb eax, 0
mov dword [ebx + 0x58], eax
mov edi, dword [ebp + 8]
jmp 0x55a3ec
lea ecx, [esp + 0xb8]
mov edx, esi
call fcn.004d034f
mov eax, dword [esp + 0x6a8]
mov ecx, dword [esp + 0x6ac]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], edi
mov eax, dword [esp + 0xc0]
movq xmm0, qword [esp + 0xb8]
movsd xmm2, qword [esp + 0xb0]
movsd xmm1, qword [esp + 0xa8]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 4]
movq qword [esp + 0x210], xmm0
movsd qword [esp + 0x208], xmm2
movsd qword [esp + 0x200], xmm1
mov dword [esp + 0x21c], 0x7b7978
mov dword [esp + 0x220], 7
cmp byte [eax + 0xdc], 0
je 0x55aba6
mov ecx, 9
lea edi, [esp + 0xac]
lea esi, [esp + 0x200]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xa8], 2
mov ecx, dword [esp + 0x64]
lea edx, [esp + 0xa8]
call fcn.0056076a
jmp 0x55ace9
mov ecx, dword [esp + 0x444]
mov eax, dword [esp + 0x440]
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0xc]
call fcn.00560824
jmp 0x55ace9
mov ecx, dword [esp + 0x444]
mov eax, dword [esp + 0x440]
lea edx, [esp + 0xa8]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0xc]
call fcn.00560824
mov edi, dword [ebp + 8]
jmp 0x55acf6
lea ecx, [esp + 0x200]
call fcn.00551a6c
mov ecx, dword [esp + 0xc]
mov edx, eax
call fcn.004d0427
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x200]
call fcn.005606ec
test edx, edx
je 0x55abf1
mov ecx, dword [esp + 0xc]
mov esi, edx
mov edx, eax
push esi
call fcn.0060c14c
add esp, 4
lea ecx, [esp + 0x200]
mov edx, esi
call fcn.0055f24e
jmp 0x55abc0
mov eax, dword [esp + 0x200]
push dword [esp + 0x208]
push dword [esp + 0x208]
lea ecx, [esp + 0x214]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x55acec
mov eax, dword [esp + 0x208]
push dword [esp + 0x204]
call dword [eax + 0x14]
add esp, 4
mov ebx, dword [esp + 4]
test al, al
je 0x55ad21
mov esi, dword [ebx + 0x124]
mov edi, dword [ebp + 8]
cmp dword [esi], 0
je 0x55ac4f
lea ecx, [esi + 4]
call fcn.005500cc
xor eax, eax
mov ecx, ebx
lea edx, [esp + 0x308]
mov dword [esi], eax
push dword [esp + 0x10]
push dword [esp + 0x24]
push eax
push 2
call fcn.0055f454
add esp, 0x10
lea ecx, [esp + 0x200]
call fcn.005500cc
jmp 0x55a3ec
mov ecx, dword [esp + 0xc]
cmp esi, edi
cmovb edi, esi
mov edx, edi
call fcn.004d0427
mov edx, dword [esp + 0x554]
test edi, edi
je 0x55acd2
mov ecx, dword [esp + 0xc]
push edi
call fcn.0060c14c
add esp, 4
lea ecx, [esp + 0x550]
mov edx, edi
call fcn.0055f1c7
mov esi, dword [esp + 0x558]
mov edi, dword [esp + 0x560]
mov edx, dword [esp + 0x554]
cmp esi, edi
cmovb edi, esi
jmp 0x55ac97
mov eax, dword [esp + 0x550]
push esi
push edx
lea ecx, [esp + 0x564]
push ecx
call dword [eax + 8]
add esp, 0xc
mov edi, dword [ebp + 8]
mov eax, dword [esp + 4]
cmp byte [eax + 0x68], 0
je 0x55acff
xor eax, eax
mov ecx, 5
jmp 0x55ad06
xor eax, eax
mov ecx, 4
mov edx, dword [esp + 0x28]
mov dword [edx], ecx
mov dword [edx + 4], eax
cmp dword [ebx], 0
mov ecx, dword [esp + 0x24]
jne 0x55a3dd
jmp 0x55a3e2
cmp dword [esp + 0x200], 0
je 0x55addb
mov eax, dword [esp + 0x208]
mov edi, dword [ebp + 8]
xor ecx, ecx
mov edx, eax
xor esi, esi
xor eax, edx
xor ecx, esi
xor ebx, ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], esi
or ecx, eax
sete bl
mov eax, dword [esp + 4]
movsd xmm0, qword [esp + 0x200]
movsd xmm1, qword [esp + 0x208]
mov esi, dword [eax + 0x124]
movsd qword [esp + 0xb0], xmm1
movsd qword [esp + 0xa8], xmm0
cmp dword [esi], 0
je 0x55ad8d
lea ecx, [esi + 4]
call fcn.005500cc
mov dword [esi], 1
xor eax, eax
test ebx, ebx
mov ebx, dword [esp + 4]
lea edx, [esp + 0x308]
movq xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xb0]
sete al
mov ecx, ebx
movq qword [esi + 4], xmm0
movsd qword [esi + 0xc], xmm1
push dword [esp + 0x10]
push dword [esp + 0x24]
push 0
push eax
call fcn.0055f454
add esp, 0x10
jmp 0x55a3ec
mov eax, dword [esp + 0x208]
push dword [esp + 0x204]
lea ecx, [esp + 0xac]
push ecx
call dword [eax + 0x18]
add esp, 8
mov eax, dword [esp + 0xa8]
mov edi, dword [ebp + 8]
or eax, dword [esp + 0xac]
je 0x55ae2b
mov esi, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
jmp 0x55ad3f
xor ebx, ebx
jmp 0x55ad52
mov byte [ebx + 0x10c], 1
jmp 0x55ae60
mov edi, ebx
jmp 0x55ae79
lea ecx, [esp + 0x750]
call fcn.0054ff8b
mov ecx, esi
call fcn.00550091
lea ecx, [esp + 0x288]
call fcn.005500cc
mov edi, ebx
mov esi, dword [esp + 4]
mov ecx, esi
mov byte [esi + 0x128], 1
call fcn.004d02ec
mov ecx, esi
call fcn.004d0302
mov ebx, dword [esp + 4]
jmp 0x55a14e
cmp ebx, 6
je 0x55b02c
lea eax, [esp + 0x309]
mov byte [esp + 0x200], bl
movsd xmm1, qword [eax + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 0x209], xmm1
movsd xmm1, qword [eax + 0xf]
mov eax, dword [esp + 4]
movsd qword [esp + 0x201], xmm0
mov ecx, dword [eax + 0x74]
movsd qword [esp + 0x210], xmm1
call fcn.004cff5a
test eax, eax
je 0x55afdc
mov ecx, dword [esp + 0x38]
mov dword [ecx], 2
mov dword [ecx + 4], eax
lea ecx, [esp + 0x200]
call fcn.0055747a
jmp 0x55b036
xor ecx, ecx
xor edx, edx
inc ecx
call fcn.004cbacb
mov ecx, eax
mov edx, edi
mov esi, eax
call fcn.00556c35
cmp dword [ebx], 0
mov ecx, dword [esp + 0x24]
je 0x55af17
call fcn.005500cc
mov dword [ebx], 0
mov ebx, dword [esp + 4]
mov ecx, ebx
mov bl, byte [ebx + 0x120]
mov byte [ecx + 0x120], 3
cmp bl, 3
je 0x55afa8
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0xa8]
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movzx eax, word [ecx + 0x121]
movsd qword [edx + 8], xmm1
movq qword [edx], xmm0
mov byte [edx + 0x10], bl
mov word [edx + 0x11], ax
mov al, byte [ecx + 0x123]
mov ecx, 8
mov byte [edx + 0x13], al
call fcn.004cbacb
mov edi, eax
mov ecx, eax
mov edx, 0x7b7986
push 0x10
call fcn.004cbb0f
add esp, 4
lea eax, [esp + 0xa8]
movzx edx, bl
mov ecx, dword [eax + 8]
push edi
call fcn.004cf570
add esp, 4
lea ecx, [esp + 0xa8]
call fcn.00557dac
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0xa8]
mov dword [edx + 8], esi
mov dword [edx + 4], 0
mov dword [edx], 3
call fcn.00550ab0
xor ecx, ecx
test eax, eax
setne cl
add ecx, ecx
mov edx, dword [esp + 0x38]
mov dword [edx], ecx
mov dword [edx + 4], eax
jmp 0x55b036
cmp ebx, 2
je 0x55b082
cmp ebx, 1
lea eax, [esp + 0x204]
je 0x55b089
test ebx, ebx
jne 0x55b08e
lea eax, [esp + 0x208]
jmp 0x55b089
mov eax, dword [edi]
mov ecx, dword [eax]
push dword [eax + 4]
call dword [ecx + 8]
add esp, 4
jmp 0x55b02c
cmp byte [ebx + 0x128], 0
jne 0x55b03e
mov eax, dword [ebx + 0x40]
xor eax, 4
or eax, dword [ebx + 0x44]
je 0x55b03e
mov eax, dword [esp + 0x38]
mov dword [eax], 3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebx + 0x74]
cmp dword [ebx + 0x70], 0
mov dword [ebx + 0x70], 0
je 0x55b0eb
mov esi, dword [ebx + 0x8c]
mov dword [esp + 0xa8], eax
mov dword [ebx + 0x8c], 0
test esi, esi
je 0x55b162
lea ecx, [esp + 0xa8]
call fcn.004ce62a
jmp 0x55af21
lea eax, [esp + 0x204]
cmp dword [eax], 0
je 0x55b0d5
movsd xmm0, qword [esp + 0x210]
movsd xmm2, qword [esp + 0x200]
movsd xmm1, qword [esp + 0x208]
lea ecx, [esp + 0xa8]
movsd qword [ecx + 0x10], xmm0
movsd qword [ecx + 8], xmm1
movsd qword [ecx], xmm2
call fcn.004cf320
mov ecx, dword [esp + 0x38]
mov dword [ecx], 2
mov dword [ecx + 4], eax
jmp 0x55b036
mov eax, dword [esp + 0x38]
mov dword [eax], 0
jmp 0x55aee3
mov esi, eax
jmp 0x55af21
mov eax, dword [ebx + 0xb0]
push edi
push dword [ebx + 0xac]
lea ecx, [esp + 0xb0]
push ecx
call dword [eax + 0x18]
add esp, 0xc
movzx eax, byte [esp + 0xa8]
cmp eax, 4
je 0x55b1b0
cmp eax, 5
je 0x55b02c
lea edi, [esp + 0xa8]
movzx eax, al
movzx ecx, byte [edi + 7]
movzx edx, word [edi + 5]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [edi + 1]
shld edx, ecx, 8
shl ecx, 8
or ecx, eax
mov dword [edi + 4], edx
mov dword [edi], ecx
mov ecx, 0xa
call fcn.004cbacb
mov ecx, eax
mov edx, edi
mov esi, eax
call fcn.004cf3b7
jmp 0x55af21
xor ecx, ecx
inc ecx
jmp 0x55afd1
test eax, eax
je 0x55af09
lea ecx, [esp + 0x614]
call fcn.0055f42d
jmp 0x55af09
mov eax, dword [esp + 0x38]
mov dword [eax], 0
jmp 0x55b036
mov ecx, dword [ecx + 0x54]
mov edx, edi
add ecx, 8
call fcn.004cbf7a
mov ecx, dword [esp + 0x38]
movzx eax, al
lea eax, [eax + eax*2]
mov dword [ecx], eax
jmp 0x55b036
mov esi, dword [ebx + 0x8c]
mov dword [ebx + 0x8c], 0
test esi, esi
jne 0x55af21
xor ecx, ecx
jmp 0x55afd1
mov esi, eax
mov eax, dword [esp + 0x440]
push dword [esp + 0x448]
push dword [esp + 0x448]
lea ecx, [esp + 0x454]
push ecx
call dword [eax + 8]
add esp, 0xc
jmp 0x55af09
lea ebx, [esp + 0xa8]
lea esi, [esp + 0x200]
mov ecx, 0x10
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xc]
mov ecx, edi
call fcn.005580ff
mov ecx, 0x10
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
jmp 0x55b02c
lea esi, [esp + 0x610]
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x200]
mov dword [esp + 0x610], eax
mov dword [esp + 0x200], esi
xor esi, esi
mov dword [ecx], str.internal_error:_entered_unreachable_code:_want_rx_value:
mov dword [esp + 0x204], fcn.004a3a90
inc esi
mov dword [ecx + 4], esi
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x752314
mov dword [ecx + 0xc], esi
call fcn.00652150
ud2
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x752b28
push 0x75192c
lea eax, [esp + 0x758]
push eax
call fcn.006525c0
add esp, 0xc
ud2
mov ecx, str.internal_error:_entered_unreachable_code_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_syncmpmcmod.rs
mov edx, 0x28
push 0x7b7fb4
jmp 0x55b2c2
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_82e1608dfa6e0b5569232559e3d385fea5a93112library_std_src_syncmpmclist.rs
mov edx, 0x2b
push 0x7b8414
call fcn.006522d0
add esp, 4
ud2
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x200]
mov dword [ecx], 0x7b7748
mov dword [esp + 0x200], eax
xor eax, eax
mov dword [esp + 0x204], 0x4d0194
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x7b7750
jmp 0x55b34c
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xa8]
lea edx, [esp + 0x200]
mov dword [ecx], 0x7b7748
mov dword [esp + 0x200], eax
xor eax, eax
mov dword [esp + 0x204], 0x4d0194
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov edx, 0x7b77e4
mov dword [ecx + 0xc], eax
jmp 0x55b275
mov ecx, str.just_sent_Ok
mov edx, 0xc
mov dword [esp + 0x610], edi
push 0x752330
push 0x7518fc
lea eax, [esp + 0x618]
jmp 0x55b297
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x752af8
jmp 0x55b39b
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x752b18
push 0x75193c
jmp 0x55b290
mov eax, dword [esp + 0xac]
mov cl, byte [esp + 0xb0]
mov edx, 0x2b
mov dword [esp + 0x200], eax
mov byte [esp + 0x204], cl
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x7b6db8
push 0x7b73cc
lea eax, [esp + 0x208]
jmp 0x55b297
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0xa8]
mov edx, 0x2b
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov byte [eax + 4], cl
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x7b6dc8
push 0x7b73bc
jmp 0x55b297
mov eax, dword [esp + 0x30c]
mov cl, byte [esp + 0x310]
mov edx, 0x2b
mov dword [esp + 0x3c8], eax
mov byte [esp + 0x3cc], cl
mov ecx, str.called__Result::unwrap____on_an__Err__value
push 0x7b6cb8
push 0x7b73cc
lea eax, [esp + 0x3d0]
jmp 0x55b297
ud2
mov ecx, str.assertion_failed:_self.ref_count___usize::MAX
mov edx, 0x2d
push 0x74f310
jmp 0x55b2c2