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

Disassembly:
sub esp, 0x50
push ebx
push ebp
xor eax, eax
mov dword [esp + 0x38], 0xfc00
push esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
push edi
mov edi, edx
mov dword [esp + 0x3c], 0xdc00
xor edx, edx
mov dword [esp + 0x4c], 0xd800
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x8c]
mov ebp, edx
mov eax, dword [eax + 0x10]
shr edx, 0x11
and edx, 1
shr ebp, 0x13
mov dword [esp + 0x38], edx
and ebp, 1
mov edx, dword [esp + 0x70]
mov dword [eax + 0x18], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x44], 0xffffffff
mov dword [eax + 0x38], ecx
lea ebx, [edx - 0x38]
mov dword [eax + 0x3c], ecx
mov dword [esp + 0x48], ebx
xor ebx, ebx
mov dword [eax + 0x40], 0
mov dword [eax + 0x50], 0
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], eax
mov dword [eax + 0x4c], 0xffffffff
mov dword [esp + 0x28], ebx
nop dword [eax]
mov dword [eax + 0x1c], ebx
mov dword [eax], edi
mov dword [eax + 0x10], edx
test ebx, ebx
je 0x550e74
mov ecx, dword [esp + 0x74]
sub eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x4c], eax
mov eax, ebx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x550e6e
movzx eax, bx
mov dword [ecx + 0x44], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x74]
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x20]
lea eax, [edx + 1]
mov dword [esi + 0x28], eax
cmp edx, ecx
jae 0x55ca4b
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x18]
cmp eax, dword [esi + 0x24]
jb 0x550ec0
pop edi
pop esi
pop ebp
mov eax, 0xffffffcb
pop ebx
add esp, 0x50
ret 0x14
lea eax, [ecx + 4]
mov dword [ebp], eax
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x18]
nop dword [eax]
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov bl, byte [edi]
movzx ecx, bl
mov byte [esp + 0x13], bl
mov byte [eax + 0x31], bl
cmp ecx, 0xa6
ja case.0x55a015.15
movzx eax, byte [ecx + 0x55cbb8]
jmp dword [eax*4 + 0x55ca5c]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x44], 0xffffffff
jne 0x550f6c
movzx edi, word [edi + 2]
mov eax, dword [eax + 0x4c]
nop dword [eax]
cmp eax, 0xffffffff
je case.0x55a015.15
mov ecx, dword ds:[esi + 0x10]
add ecx, eax
mov eax, edi
mov edx, ecx
mov dword [esp + 0x24], ecx
sub edx, dword [esp + 0x70]
or eax, 0x10000
cmp dword [ecx + 0x1c], eax
je 0x550f2a
mov eax, dword [edx + 0x4c]
jmp 0x550f00
mov eax, dword ds:[esp + 0x14]
lea esi, [edi + edi]
mov ebx, dword [esp + 0x74]
lea ecx, [esi - 2]
mov dword [eax + 0x48], edi
mov eax, dword [edx + 0x38]
sub eax, dword [ebx + 0x5c]
mov edx, dword [esp + 0x14]
sar eax, 1
mov dword [edx + ecx*4 + 0x54], eax
mov eax, edx
mov eax, dword [eax + 0x38]
sub eax, dword [ebx + 0x5c]
sar eax, 1
mov dword [edx + ecx*4 + 0x58], eax
mov eax, edx
cmp ecx, dword [eax + 0x50]
jb 0x550f68
mov dword [eax + 0x50], esi
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x5f7690]
lea eax, [ecx + eax*2]
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
mov esi, dword [esp + 0x74]
jmp 0x550ec0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov eax, dword [eax + 0x38]
cmp eax, dword [ebx + 0x70]
jbe 0x550f9d
mov dword [ebx + 0x70], eax
mov eax, dword [esp + 0x14]
mov esi, 0xfffffc19
mov dword [esp + 0x2c], eax
jmp 0x55951e
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x44], 0xffffffff
je 0x55100e
mov eax, dword [eax + 0x4c]
nop dword [eax]
cmp eax, 0xffffffff
je case.0x55a015.15
mov edx, dword [esi + 0x10]
add edx, eax
mov ecx, edx
mov dword [esp + 0x24], edx
sub ecx, dword [esp + 0x70]
mov eax, dword [edx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x550fec
mov eax, dword [ecx + 0x4c]
jmp 0x550fc0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov eax, dword [edx + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [edx + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [edx + 0x3c]
mov dword [ecx + 0x3c], eax
add dword [ecx], 4
jmp 0x550ec0
mov edx, dword [eax + 0x38]
mov esi, dword [eax + 0x3c]
cmp edx, esi
jne 0x551048
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x88]
test al, 4
jne case.0x550ee5.162
test al, 8
je 0x551048
mov eax, dword ds:[esp + 0x74]
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x5c]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.0x550ee5.162
mov eax, dword [esp + 0x74]
cmp edx, dword [eax + 0x64]
jae 0x55c961
mov ecx, dword [esp + 0x74]
mov eax, dword [eax + 0x8c]
or eax, dword [ecx + 0x88]
test eax, 0x20000000
je 0x55c95f
test bl, bl
jne 0x55c953
xor esi, esi
mov ebx, ecx
jmp 0x55951a
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x98]
test edx, edx
je 0x551135
mov esi, dword [eax + 0x64]
lea edi, [eax + 0x64]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
cmp ecx, esi
jae 0x5510c5
push ebp
mov ebp, dword [esp + 0x78]
lea eax, [ebp + 0x9c]
push eax
push esi
call fcn.0057f0a0
test eax, eax
je 0x5510c9
mov eax, 1
jmp 0x5510cb
mov ebp, dword [esp + 0x74]
xor eax, eax
test eax, eax
jne case.0x550ee5.162
mov ebx, dword [esp + 0x14]
movzx eax, word ss:[ebp + 0x4c]
mov edx, eax
test ax, ax
je case.0x550ee5.13
mov eax, dword [edi]
mov ecx, dword [ebx + 0x38]
sub eax, 2
cmp ecx, eax
jne case.0x550ee5.13
mov eax, dword [esp + 0x74]
cmp dword [eax + 0x98], 0
jne 0x551131
cmp dword [eax + 0x9c], 2
jne 0x551131
mov ebx, dword [esp + 0x74]
mov ax, word [ecx]
cmp ax, word [ebx + 0xa0]
jne 0x551189
mov eax, ebx
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov ebx, eax
jmp 0x551189
mov esi, dword [eax + 0x9c]
mov ebp, dword [esp + 0x74]
mov ebx, dword [esp + 0x14]
lea eax, [esi + esi]
mov ecx, dword [ebp + 0x64]
mov edx, dword [ebx + 0x38]
sub ecx, eax
cmp edx, ecx
ja 0x55117a
mov ax, word [edx]
cmp ax, word [ebp + 0xa0]
jne 0x55117a
nop
cmp esi, 1
je case.0x550ee5.162
mov ax, word [edx + 2]
cmp ax, word [ebp + 0xa2]
je case.0x550ee5.162
lea edi, ss:[ebp + 0x64]
jmp 0x5510d7
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebx + 0x64]
jb 0x5511d2
movzx eax, word ds:[ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x553929.10
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x6c]
ja 0x5511b4
cmp dword [eax + 0x34], 0
je 0x5511c9
mov dword ds:[eax + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov ebx, eax
xor esi, esi
jmp 0x55951a
mov ebp, dword ds:[esp + 0x18]
add ecx, 2
mov dword [eax + 0x38], ecx
test ebp, ebp
je 0x55120c
cmp ecx, dword [ebx + 0x64]
jae 0x55120c
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x551208
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x14]
add dword [eax], 2
mov esi, dword [esp + 0x74]
jmp 0x550ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x64]
jb 0x55126e
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je case.0x550ee5.162
mov eax, dword ds:[esp + 0x74]
cmp ecx, dword [eax + 0x6c]
ja 0x55124f
cmp dword [eax + 0x34], 0
je case.0x550ee5.162
mov dword [eax + 0x2c], 1
cmp edx, 1
jbe case.0x550ee5.162
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x50
ret 0x14
mov esi, dword [esp + 0x74]
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x38], eax
lea eax, [edi + 2]
mov dword [ecx], eax
jmp 0x550ec0
test ebp, ebp
je 0x55135e
mov eax, dword [esp + 0x14]
add edi, 2
mov ecx, 0xfc00
mov edx, 1
mov dword [eax + 0xc], 1
mov dword [eax], edi
mov ax, word [edi]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
mov eax, dword [esp + 0x14]
jne 0x5512c8
mov dword [eax + 0xc], 2
mov edx, 2
mov ebx, dword [esp + 0x74]
mov esi, dword [eax + 0x38]
mov ecx, dword [ebx + 0x64]
mov eax, ecx
sub eax, esi
sar eax, 1
cmp edx, eax
jbe 0x551325
nop dword [eax]
cmp esi, ecx
jb case.0x553929.10
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
mov eax, ebx
cmp esi, dword [eax + 0x6c]
ja 0x551308
cmp dword [eax + 0x34], 0
je 0x5511c9
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov ebx, eax
xor esi, esi
jmp 0x55951a
mov ax, word ds:[esi]
add esi, 2
mov ebx, dword [esp + 0x14]
movzx ecx, word [edi]
add edi, 2
cmp cx, ax
mov eax, ebx
mov dword [ebx + 0x38], esi
mov dword [ebx], edi
jne 0x551353
add edx, 0xffffffff
mov dword [eax + 0xc], edx
jne 0x551325
mov esi, dword [esp + 0x74]
jmp 0x550ec0
mov ebx, dword [esp + 0x74]
xor esi, esi
jmp 0x55951e
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x14]
mov eax, dword [eax + 0x64]
mov esi, dword [ebx + 0x38]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jge 0x5513b3
mov ebx, dword [esp + 0x74]
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
mov eax, ebx
cmp esi, dword [eax + 0x6c]
ja 0x55139a
cmp dword [eax + 0x34], 0
je 0x5511c9
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov ebx, eax
xor esi, esi
jmp 0x55951a
movzx edx, word [edi + 2]
lea eax, [esi + 2]
movzx ecx, word [esi]
mov dword [ebx + 0x38], eax
cmp dx, cx
jne case.0x550ee5.162
mov esi, dword [esp + 0x74]
lea eax, [edi + 4]
mov dword [ebx], eax
jmp 0x550ec0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov ebp, dword [eax + 0x38]
cmp ebp, dword [ebx + 0x64]
jb 0x551425
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
mov eax, ebx
cmp ebp, dword [eax + 0x6c]
ja 0x551407
cmp dword [eax + 0x34], 0
je 0x5511c9
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov ebx, eax
xor esi, esi
jmp 0x55951a
cmp dword [esp + 0x18], 0
je 0x551565
mov dword [eax + 0xc], 1
lea ebx, [edi + 2]
mov dword [eax], ebx
mov edi, 1
movzx esi, word [ebx]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55147e
movzx eax, word [ebx + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov edi, 2
mov eax, dword [esp + 0x14]
add esi, 0x10000
mov dword [eax + 0xc], 2
jmp 0x551482
mov eax, dword [esp + 0x14]
movzx edx, word [ebp]
cmp esi, 0x80
jae 0x5514c8
cmp edx, 0xff
ja 0x5514a1
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x38]
movzx edx, byte [eax + edx]
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x38]
movzx eax, byte [eax + esi]
cmp eax, edx
jne case.0x550ee5.162
mov ecx, dword [esp + 0x14]
lea eax, [ebx + 2]
mov dword [ecx], eax
lea eax, [ebp + 2]
mov dword [ecx + 0x38], eax
jmp 0x550eb1
lea ecx, [ebp + 2]
mov dword [eax + 0x38], ecx
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x551502
movzx eax, word ds:[ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x14]
add edx, 0x10000
mov dword [ecx + 0x38], eax
jmp 0x551506
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
lea eax, [ebx + edi*2]
mov dword [ecx], eax
cmp edx, esi
je 0x550f81
mov eax, esi
shr eax, 7
lfence
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x5dc364]
add eax, esi
mov esi, dword [esp + 0x74]
cmp edx, eax
je 0x550ec0
mov eax, dword ds:[esp + 0x14]
xor esi, esi
mov ebx, dword [esp + 0x74]
mov edi, ebp
jmp 0x559522
cmp dword [esp + 0x38], 0
je 0x551617
movzx esi, word ds:[edi + 2]
movzx edx, word [ebp]
cmp esi, 0x80
jae 0x5515ad
cmp edx, 0xff
ja 0x551597
mov eax, dword [ebx + 0x38]
movzx edx, byte [eax + edx]
mov eax, dword [ebx + 0x38]
movzx eax, byte [eax + esi]
cmp eax, edx
mov eax, dword [esp + 0x14]
je 0x5515fe
xor esi, esi
jmp 0x55951e
cmp edx, esi
je 0x5515fe
lfence
mov eax, esi
test eax, eax
jns 0x5515bd
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x5515d9
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x5dc364]
add eax, esi
cmp edx, eax
mov eax, dword [esp + 0x14]
je 0x5515fe
xor esi, esi
jmp 0x55951e
mov eax, dword [eax + 0x38]
mov esi, ebx
mov ecx, dword [esp + 0x14]
add eax, 2
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 4
jmp 0x550eb5
movzx eax, word [edi + 2]
mov esi, 0xff
mov edx, eax
cmp ax, si
ja 0x55162e
mov eax, dword [ebx + 0x38]
movzx edx, byte [eax + edx]
movzx eax, word [ebp]
mov ecx, eax
cmp ax, si
ja 0x551640
mov eax, dword [ebx + 0x38]
movzx ecx, byte [eax + ecx]
cmp edx, ecx
je 0x55164b
xor esi, esi
jmp 0x55951a
mov ecx, dword ds:[esp + 0x14]
lea eax, [ebp + 2]
mov esi, ebx
mov dword [ecx + 0x38], eax
lea eax, [edi + 4]
mov dword [ecx], eax
jmp 0x550eb5
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x64]
jb 0x5516b1
movzx eax, word ds:[eax + 0x4c]
mov edx, eax
test ax, ax
je case.0x550ee5.162
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x6c]
ja 0x55169c
cmp dword [eax + 0x34], 0
je case.0x550ee5.162
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x55125f
jmp case.0x550ee5.162
lea eax, [edi + 2]
test ebp, ebp
je 0x55178f
mov edi, dword [esp + 0x14]
lea esi, [eax + 2]
mov dword [edi], eax
movzx edx, word [eax]
mov eax, edx
mov dword [edi], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5516f6
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [esi + 2]
add edx, 0x10000
mov dword [edi], eax
movzx esi, word [ecx]
add ecx, 2
mov eax, esi
mov dword [edi + 0x38], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55172c
movzx eax, word [ecx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
lea eax, [ecx + 2]
add esi, 0x10000
mov dword [edi + 0x38], eax
cmp edx, esi
je case.0x550ee5.162
cmp bl, 0x20
jne 0x550f81
mov ebx, dword [esp + 0x74]
cmp edx, 0x7f
jbe 0x551774
mov eax, edx
shr eax, 7
lfence
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x5dc364]
jmp 0x55177b
mov eax, dword [ebx + 0x3c]
movzx edx, byte [eax + edx]
nop dword [eax + eax]
cmp edx, esi
jne 0x550f81
xor esi, esi
jmp 0x55951a
cmp dword [esp + 0x38], 0
lea esi, [ecx + 2]
je 0x55181d
movzx ebx, word [ecx]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x38], esi
movzx edx, word [eax]
lea eax, [edi + 4]
mov dword [ecx], eax
cmp edx, ebx
je case.0x550ee5.162
cmp byte [esp + 0x13], 0x20
mov esi, dword [esp + 0x74]
jne 0x550ec0
cmp edx, 0x7f
jbe 0x551809
lfence
mov eax, edx
test eax, eax
jns 0x5517d7
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x5517f3
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x5dc364]
jmp 0x551810
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + edx]
cmp edx, ebx
jne 0x550ec0
jmp case.0x550ee5.162
movzx edx, word [eax]
mov eax, dword [esp + 0x14]
movzx ecx, word [ecx]
mov dword [eax + 0x38], esi
cmp edx, ecx
je 0x55185c
cmp bl, 0x20
jne 0x55184a
cmp edx, 0xff
ja 0x55184a
mov ebx, dword [esp + 0x74]
mov eax, dword [ebx + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, ecx
je 0x551860
mov ecx, dword [esp + 0x14]
lea eax, [edi + 4]
mov esi, dword [esp + 0x74]
mov dword [ecx], eax
jmp 0x550ec0
mov ebx, dword [esp + 0x74]
xor esi, esi
jmp 0x55951a
mov eax, dword [esp + 0x14]
movzx ebx, word [edi + 2]
add edi, 4
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], ebx
mov dword [eax], edi
jmp 0x5519a8
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], 2
mov dword [ecx + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
xor ebx, ebx
mov dword [ecx], edi
jmp 0x5519a4
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], 1
mov dword [ecx + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
xor ebx, ebx
mov dword [ecx], edi
jmp 0x5519a4
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], 0
mov dword [ecx + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
xor ebx, ebx
mov dword [ecx], edi
jmp 0x5519a4
mov eax, dword [esp + 0x14]
add edi, 2
mov dword [esp + 0x1c], 2
xor ebx, ebx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x5519a4
mov eax, dword ds:[esp + 0x14]
add edi, 2
mov dword [esp + 0x1c], 2
mov ebx, 1
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x5519a4
mov eax, dword [esp + 0x14]
add edi, 2
mov dword [esp + 0x1c], 2
xor ebx, ebx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], edi
jmp 0x5519a4
movzx ecx, word [edi]
cmp bl, 0x2e
mov edx, dword [esp + 0x14]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, dword [esp + 0x14]
add edi, 2
mov ebx, dword [ecx*4 + 0x5db084]
mov dword [eax], edi
mov dword [eax + 0x20], ebx
mov eax, dword [ecx*4 + 0x5db058]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x5db028]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
test ebp, ebp
je 0x551e10
mov dword [eax + 0xc], 1
lea ecx, [edi + 2]
mov dword [eax + 8], edi
movzx edx, word [edi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x551e05
movzx esi, word [ecx]
lea eax, [edi + 4]
mov ecx, dword [esp + 0x14]
and edx, 0x3ff
and esi, 0x3ff
shl edx, 0xa
or esi, edx
add esi, 0x10000
mov dword [ecx + 0xc], 2
mov dword [ecx], eax
mov eax, ecx
cmp byte [eax + 0x31], 0x2e
jb 0x551a7d
mov eax, esi
shr eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, esi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x5dc364]
add ecx, esi
cmp ecx, esi
je 0x551a7d
cmp ecx, 0xffff
ja 0x551a4e
mov eax, dword [esp + 0x14]
mov word [eax + 0x32], cx
mov eax, 1
jmp 0x551a7f
mov edx, dword [esp + 0x14]
add ecx, 0xffff0000
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [edx + 0x32], ax
mov eax, 2
mov word [edx + 0x34], cx
jmp 0x551a7f
xor eax, eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], 1
mov dword [ecx + 0x14], eax
mov eax, dword [ecx + 0x20]
cmp eax, 1
jb 0x551c34
nop word [eax + eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 0x38]
add edi, edi
mov ebp, dword [ecx + 0x64]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x551b2b
mov eax, dword [esp + 0x14]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x551ae5
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x551aee
add ecx, 4
add edx, 4
sub esi, 4
jae 0x551ad0
cmp esi, 0xfffffffc
je 0x551bb7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x551b2b
cmp esi, 0xfffffffd
je 0x551bb7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x551b2b
cmp esi, 0xfffffffe
je 0x551bb7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x551b2b
cmp esi, 0xffffffff
je 0x551bb7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x551bb7
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x551bf1
lea edi, [eax + eax]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x551bf1
mov edx, dword [esp + 0x14]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x551b71
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x551b76
add ecx, 4
add edx, 4
sub esi, 4
jae 0x551b60
cmp esi, 0xfffffffc
je 0x551bb7
mov al, byte ds:[ecx]
cmp al, byte [edx]
jne 0x551bf1
cmp esi, 0xfffffffd
je 0x551bb7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x551bf1
cmp esi, 0xfffffffe
je 0x551bb7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x551bf1
cmp esi, 0xffffffff
je 0x551bb7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x551bf1
mov ecx, dword [esp + 0x14]
lea eax, [ebx + edi]
mov edx, 0x38
mov dword [edx + ecx], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
inc ecx
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x20]
cmp ecx, eax
jbe 0x551aa0
mov ecx, dword [esp + 0x14]
mov edx, eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x30], edx
jmp 0x551c3a
cmp ebx, ebp
jb case.0x550ee5.162
mov eax, dword [esp + 0x74]
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je case.0x550ee5.162
mov eax, dword [esp + 0x74]
cmp ebx, dword [eax + 0x6c]
ja 0x551c1f
cmp dword [eax + 0x34], 0
je case.0x550ee5.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
jmp case.0x550ee5.162
mov edx, eax
mov dword [esp + 0x30], eax
mov ecx, dword ds:[ecx + 0x24]
cmp eax, ecx
je 0x550f81
cmp dword [esp + 0x1c], 0
je 0x55c3af
mov eax, dword ds:[esp + 0x14]
mov ebx, dword [eax + 0x38]
mov dword [eax + 4], ebx
cmp edx, ecx
jae 0x551da9
jmp 0x551c74
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0xc]
mov eax, dword [esp + 0x74]
add edi, edi
mov ebp, dword [eax + 0x64]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x551cfb
mov eax, dword [esp + 0x14]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x551cb1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x551cba
add ecx, 4
add edx, 4
sub esi, 4
jae 0x551ca0
cmp esi, 0xfffffffc
je 0x551d85
mov al, byte ds:[ecx]
cmp al, byte [edx]
jne 0x551cfb
cmp esi, 0xfffffffd
je 0x551d85
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x551cfb
cmp esi, 0xfffffffe
je 0x551d85
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x551cfb
cmp esi, 0xffffffff
je 0x551d85
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x551d85
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x551daf
lea edi, [eax + eax]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x551daf
mov edx, dword [esp + 0x14]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x551d45
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x551d4a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x551d30
cmp esi, 0xfffffffc
je 0x551d85
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x551daf
cmp esi, 0xfffffffd
je 0x551d85
mov al, byte ds:[ecx + 1]
cmp al, byte [edx + 1]
jne 0x551daf
cmp esi, 0xfffffffe
je 0x551d85
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x551daf
cmp esi, 0xffffffff
je 0x551d85
mov al, byte ds:[ecx + 3]
cmp al, byte [edx + 3]
jne 0x551daf
mov eax, dword ds:[esp + 0x14]
mov ecx, 0x38
mov edx, dword [esp + 0x30]
add ebx, edi
inc edx
mov dword [esp + 0x30], edx
mov dword [ecx + eax], ebx
cmp edx, dword [eax + 0x24]
jb 0x551c70
mov esi, dword [esp + 0x74]
jmp 0x551deb
mov esi, dword [esp + 0x74]
cmp ebx, ebp
jb 0x551deb
movzx eax, word ds:[esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x551deb
mov eax, esi
cmp ebx, dword [eax + 0x6c]
ja 0x551dd2
cmp dword [eax + 0x34], 0
je 0x551de9
mov dword ds:[eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov esi, eax
cmp dword [esp + 0x1c], 2
mov ebp, dword [esp + 0x18]
je 0x550ec0
mov ebp, dword ds:[esp + 0x14]
jmp 0x55a7be
mov eax, dword [esp + 0x14]
mov dword [eax], ecx
mov dword [eax + 0x28], edx
jmp 0x551e21
movzx edx, word [edi]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x28], edx
lea eax, [edi + 2]
mov dword [ecx], eax
mov eax, ecx
cmp byte [eax + 0x31], 0x2e
jb 0x551fe5
test ebp, ebp
jne 0x551e35
cmp dword [esp + 0x38], ebp
je 0x551e67
cmp edx, 0x7f
jbe 0x551e67
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x5dc364]
add eax, edx
jmp 0x551e7a
cmp edx, 0xff
ja 0x551e78
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + edx]
jmp 0x551e7a
mov eax, edx
mov ecx, dword [esp + 0x14]
mov esi, 1
mov dword [ecx + 0x2c], eax
cmp ebx, esi
jb 0x551ed4
nop word [eax + eax]
mov eax, dword ds:[esp + 0x14]
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x64]
jae 0x551f49
mov edi, dword [esp + 0x14]
movzx eax, word [ecx]
mov edx, dword [edi + 0x28]
cmp edx, eax
je 0x551ec9
nop word [eax + eax]
cmp dword [edi + 0x2c], eax
jne case.0x550ee5.162
inc esi
lea eax, [ecx + 2]
mov dword [edi + 0x38], eax
cmp esi, ebx
jbe 0x551e90
mov eax, dword ds:[esp + 0x14]
mov edi, ebx
mov esi, dword [eax + 0x24]
cmp ebx, esi
je 0x550f81
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x559cbc
mov ecx, dword ds:[eax + 0x38]
mov dword [eax + 4], ecx
cmp edi, esi
jae 0x551faf
nop dword [eax + eax]
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x64]
jae 0x551f85
movzx eax, word [ecx]
cmp edx, eax
je 0x551f31
mov ebp, dword [esp + 0x14]
cmp dword [ebp + 0x2c], eax
jne 0x551fb3
mov eax, dword ds:[esp + 0x14]
add ecx, 2
inc edi
mov dword [eax + 0x38], ecx
cmp edi, esi
jb 0x551f10
jmp 0x551faf
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je case.0x550ee5.162
mov eax, dword ds:[esp + 0x74]
cmp ecx, dword [eax + 0x6c]
ja 0x551f6f
cmp dword [eax + 0x34], 0
je case.0x550ee5.162
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x55125f
nop
jmp case.0x550ee5.162
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x551faf
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x6c]
ja 0x551f9f
cmp dword [eax + 0x34], 0
je 0x551faf
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov ebp, dword [esp + 0x14]
mov esi, dword ds:[esp + 0x74]
cmp ebx, 2
je 0x550eb5
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
je 0x550eb1
mov edi, dword ss:[ebp]
mov byte [ebp + 0x30], 0x1a
jmp 0x55c82f
mov edi, 1
cmp ebx, edi
jb 0x552032
nop
mov esi, dword ds:[eax + 0x38]
mov eax, dword [esp + 0x74]
cmp esi, dword [eax + 0x64]
jae 0x55208f
mov ebp, dword ds:[esp + 0x14]
lea eax, [esi + 2]
movzx edx, word [esi]
mov dword [ebp + 0x38], eax
mov eax, ebp
cmp dword [ebp + 0x28], edx
jne 0x551353
inc edi
cmp edi, ebx
jbe 0x551ff0
mov ebp, dword [esp + 0x18]
mov edx, dword [eax + 0x24]
mov esi, ebx
cmp ebx, edx
je 0x550f81
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x559d6d
mov ecx, dword [eax + 0x38]
mov dword [eax + 4], ecx
cmp esi, edx
jae 0x5520fb
nop dword [eax]
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x64]
jae 0x5520ce
mov ebp, dword [esp + 0x14]
movzx eax, word [ecx]
cmp dword [ebp + 0x28], eax
jne 0x5520ff
mov eax, ebp
add ecx, 2
inc esi
mov dword [eax + 0x38], ecx
cmp esi, edx
jb 0x552060
jmp 0x5520fb
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je case.0x550ee5.162
mov eax, dword [esp + 0x74]
cmp esi, dword [eax + 0x6c]
ja 0x5520b1
cmp dword [eax + 0x34], 0
je case.0x550ee5.162
mov dword ds:[eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
jmp case.0x550ee5.162
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x5520fb
mov eax, dword ds:[esp + 0x74]
cmp ecx, dword [eax + 0x6c]
ja 0x5520eb
cmp dword [eax + 0x34], 0
je 0x5520fb
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x74]
cmp ebx, 2
je 0x550eb5
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jbe 0x550eb1
mov edi, dword ss:[ebp]
mov byte [ebp + 0x30], 0x1c
jmp 0x55c82f
mov eax, dword [esp + 0x14]
movzx edx, word [edi + 2]
add edi, 4
mov dword [eax + 0x24], edx
mov dword [eax + 0x20], edx
mov dword [eax], edi
jmp 0x552268
mov ecx, dword ds:[esp + 0x14]
mov dword [esp + 0x1c], 1
mov dword [ecx + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
xor edx, edx
mov dword [ecx], edi
jmp 0x552264
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], 0
mov dword [ecx + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
xor edx, edx
mov dword [ecx], edi
jmp 0x552264
mov eax, dword [esp + 0x14]
add edi, 2
mov dword [esp + 0x1c], 2
xor edx, edx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x552264
mov eax, dword [esp + 0x14]
add edi, 2
mov dword [esp + 0x1c], 2
mov edx, 1
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x552264
mov eax, dword ds:[esp + 0x14]
add edi, 2
mov dword [esp + 0x1c], 2
xor edx, edx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], edi
jmp 0x552264
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], 2
mov dword [ecx + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
xor edx, edx
mov dword [ecx], edi
jmp 0x552264
movzx ecx, word [edi]
cmp bl, 0x48
mov ebx, dword [esp + 0x14]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, dword [esp + 0x14]
add edi, 2
mov edx, dword [ecx*4 + 0x5db084]
mov dword [eax], edi
mov dword [eax + 0x20], edx
mov eax, dword [ecx*4 + 0x5db058]
mov dword [ebx + 0x24], eax
mov eax, dword [ecx*4 + 0x5db028]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
movzx ecx, word [edi]
lea esi, [edi + 2]
mov dword [eax + 0x28], ecx
mov edi, ecx
mov dword [eax], esi
test ebp, ebp
je 0x5522b1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5522ad
movzx edi, word [esi]
lea eax, [esi + 2]
and ecx, 0x3ff
and edi, 0x3ff
shl ecx, 0xa
or edi, ecx
mov ecx, dword [esp + 0x14]
add edi, 0x10000
mov dword [ecx + 0x28], edi
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x31], 0x48
jb 0x5525e5
test ebp, ebp
jne 0x5522c6
nop
cmp dword [esp + 0x38], ebp
je 0x5522f8
cmp edi, 0x7f
jbe 0x5522f8
mov eax, edi
shr eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov ebx, dword [eax*4 + 0x5dc364]
add ebx, edi
jmp 0x552317
nop dword [eax + eax]
cmp edi, 0xff
ja 0x552315
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x3c]
movzx ebx, byte [eax + edi]
jmp 0x552317
mov ebx, edi
mov eax, dword ds:[esp + 0x14]
mov dword [eax + 0x2c], ebx
test ebp, ebp
je 0x5523e8
mov ebp, 1
cmp edx, ebp
jb 0x5524df
jmp 0x552344
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
mov esi, dword [eax + 0x38]
cmp esi, dword [ecx + 0x64]
jae 0x5523ab
movzx ecx, word [esi]
add esi, 2
mov dword [eax + 0x38], esi
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55238e
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [esi + 2]
mov esi, dword [esp + 0x14]
add ecx, 0x10000
mov dword [esi + 0x38], eax
cmp edi, ecx
je case.0x550ee5.162
cmp ebx, ecx
je case.0x550ee5.162
inc ebp
cmp ebp, edx
jbe 0x552340
mov ebp, edx
jmp 0x5523f7
mov ebx, ecx
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
mov eax, ebx
cmp esi, dword [eax + 0x6c]
ja 0x5523cf
cmp dword [eax + 0x34], 0
je 0x5511c9
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov ebx, eax
xor esi, esi
jmp 0x55951a
mov esi, 1
mov ebp, edx
cmp edx, esi
jae 0x5524a9
mov eax, dword ds:[esp + 0x14]
mov edi, dword [eax + 0x24]
cmp edx, edi
je 0x550eb1
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x55c172
cmp dword ds:[esp + 0x18], 0
mov edx, dword [eax + 0x38]
mov dword [eax + 4], edx
je 0x55255f
cmp ebp, edi
jae 0x552549
nop
mov eax, dword ds:[esp + 0x74]
mov esi, 1
cmp edx, dword [eax + 0x64]
jae 0x55251d
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x552479
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword ds:[esp + 0x14]
cmp dword [eax + 0x28], ecx
je 0x552549
cmp dword [eax + 0x2c], ecx
je 0x552549
inc ebp
lea edx, [edx + esi*2]
mov dword [eax + 0x38], edx
cmp ebp, edi
jb 0x552430
nop dword [eax]
jmp 0x552549
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x64]
jae 0x5524e6
movzx eax, word ds:[ecx]
cmp edi, eax
je case.0x550ee5.162
cmp ebx, eax
je case.0x550ee5.162
lea eax, [ecx + 2]
inc esi
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x38], eax
cmp esi, edx
jbe 0x5524a5
mov ebp, edx
jmp 0x5523f7
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je case.0x550ee5.162
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x6c]
ja 0x552508
cmp dword [eax + 0x34], 0
je case.0x550ee5.162
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x55125f
jmp case.0x550ee5.162
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x552549
mov eax, dword [esp + 0x74]
cmp edx, dword [eax + 0x6c]
ja 0x552537
cmp dword [eax + 0x34], 0
je 0x552549
mov dword ds:[eax + 0x2c], esi
cmp ecx, 1
ja 0x55125f
mov ebp, dword [esp + 0x18]
cmp ebx, 2
je 0x550f81
mov ebp, dword [esp + 0x14]
jmp 0x55a8d0
nop
cmp ebp, edi
jae 0x5525cc
nop dword [eax + eax]
mov eax, dword [esp + 0x74]
cmp edx, dword [eax + 0x64]
jae 0x5525a2
mov ecx, dword [esp + 0x14]
movzx eax, word [edx]
cmp dword [ecx + 0x28], eax
je 0x5525cc
cmp dword [ecx + 0x2c], eax
je 0x5525cc
mov eax, ecx
add edx, 2
inc ebp
mov dword [eax + 0x38], edx
cmp ebp, edi
jb 0x552570
nop
jmp 0x5525cc
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x5525cc
mov eax, dword [esp + 0x74]
cmp edx, dword [eax + 0x6c]
ja 0x5525bc
cmp dword [eax + 0x34], 0
je 0x5525cc
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov ebp, dword [esp + 0x18]
cmp ebx, 2
je 0x550f81
mov ebp, dword ds:[esp + 0x14]
jmp 0x559e33
mov esi, 1
test ebp, ebp
je 0x55273f
cmp edx, esi
jb 0x552664
mov ebx, dword ds:[esp + 0x74]
jmp 0x552606
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x552705
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55264c
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x14]
cmp edi, ecx
je 0x5515a6
mov edx, dword ds:[eax + 0x20]
inc esi
cmp esi, edx
jbe 0x552602
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x24]
cmp edx, esi
je 0x550f81
cmp dword [esp + 0x1c], 0
je 0x55c188
mov ecx, dword [eax + 0x38]
mov dword [eax + 4], ecx
mov ebx, dword [eax + 0x20]
test ebp, ebp
je 0x552805
cmp ebx, esi
jae 0x5527eb
nop word [eax + eax]
mov eax, dword [esp + 0x74]
mov edi, 1
cmp ecx, dword [eax + 0x64]
jae 0x5527c5
movzx edx, word ds:[ecx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5526e6
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x28], edx
je 0x5527eb
inc ebx
lea ecx, [ecx + edi*2]
mov dword [eax + 0x38], ecx
cmp ebx, esi
jb 0x5526a0
nop
jmp 0x5527eb
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
mov eax, ebx
cmp edx, dword [eax + 0x6c]
ja 0x552726
cmp dword ds:[eax + 0x34], 0
je 0x5511c9
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov ebx, eax
xor esi, esi
jmp 0x55951a
nop
cmp edx, 1
jb 0x552664
jmp 0x552754
mov eax, dword [esp + 0x14]
mov edx, dword ds:[eax + 0x38]
mov eax, dword [esp + 0x74]
cmp edx, dword [eax + 0x64]
jae 0x552789
movzx ecx, word [edx]
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
mov dword [edx + 0x38], eax
mov eax, edx
cmp edi, ecx
je 0x551353
mov edx, dword [eax + 0x20]
inc esi
cmp esi, edx
jbe 0x552750
jmp 0x552668
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je case.0x550ee5.162
mov eax, dword ds:[esp + 0x74]
cmp edx, dword [eax + 0x6c]
ja 0x5527af
cmp dword [eax + 0x34], 0
je case.0x550ee5.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x55125f
nop
jmp case.0x550ee5.162
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je 0x5527eb
mov ebx, dword [esp + 0x74]
cmp ecx, dword [ebx + 0x6c]
ja 0x5527df
cmp dword [ebx + 0x34], 0
je 0x5527eb
mov dword [ebx + 0x2c], edi
cmp edx, 1
ja 0x55125f
cmp dword [esp + 0x1c], 2
mov esi, dword [esp + 0x74]
je 0x550ec0
mov ebp, dword ds:[esp + 0x14]
jmp 0x55a9d8
cmp ebx, esi
jae 0x552869
nop dword [eax]
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x64]
jae 0x55283b
mov ebp, dword [esp + 0x14]
movzx eax, word [ecx]
cmp dword [ebp + 0x28], eax
je 0x55286d
mov eax, ebp
add ecx, 2
inc ebx
mov dword [eax + 0x38], ecx
cmp ebx, esi
jb 0x552810
jmp 0x552869
mov ebx, eax
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je 0x552869
cmp ecx, dword [ebx + 0x6c]
ja 0x552853
cmp dword [ebx + 0x34], 0
je 0x552869
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov ebp, dword [esp + 0x14]
cmp dword [esp + 0x1c], 2
je 0x550eb1
jmp 0x559eec
mov ebx, dword [esp + 0x14]
lea eax, [edi + 2]
lea edx, [edi + 0x22]
mov dword [ebx + 8], eax
mov dword [ebx], edx
movzx esi, word [edx]
lea eax, [esi - 0x62]
cmp eax, 0xb
ja case.default.0x5528a2
movzx eax, byte [eax + 0x55cc68]
jmp dword [eax*4 + 0x55cc60]
mov ecx, dword [esi*4 + 0x5daefc]
lea eax, [edi + 0x24]
mov dword [ebx], eax
mov eax, dword [esi*4 + 0x5daed0]
mov esi, dword [esi*4 + 0x5daea0]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], esi
jmp 0x552925
movzx ecx, word [edi + 0x24]
mov dword [ebx + 0x20], ecx
movzx eax, word [edx + 4]
mov dword [ebx + 0x24], eax
test eax, eax
jne 0x5528f5
mov eax, dword [esp + 0x14]
mov ebx, eax
mov dword [eax + 0x24], 0xffffffff
movzx eax, word [edx]
mov eax, dword [eax*4 + 0x5daea0]
mov dword [esp + 0x1c], eax
lea eax, [edx + 6]
mov dword [ebx], eax
mov eax, dword [esp + 0x14]
jmp 0x552925
mov eax, dword [esp + 0x14]
mov ecx, 1
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
mov edi, 1
test ebp, ebp
je 0x552a14
cmp ecx, edi
jb 0x552ac6
nop word [eax + eax]
mov ebx, dword [esp + 0x74]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebx + 0x64]
jae 0x5529df
movzx esi, word [ecx]
add ecx, 2
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x38], ecx
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55298e
movzx eax, word [ecx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
lea eax, [ecx + 2]
add esi, 0x10000
mov dword [ebx + 0x38], eax
cmp esi, 0xff
jbe 0x5529ab
mov eax, dword ds:[esp + 0x14]
cmp byte [eax + 0x31], 0x6e
je case.0x550ee5.162
jmp 0x5529ca
mov eax, dword [ebx + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
mov eax, dword [esp + 0x14]
je 0x551353
mov ecx, dword [eax + 0x20]
inc edi
cmp edi, ecx
ja 0x552ac6
mov eax, dword [esp + 0x14]
jmp 0x552940
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x553929.10
cmp ecx, dword [ebx + 0x6c]
ja 0x5529fd
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
cmp ecx, 1
jb 0x552ac6
nop dword [eax]
mov ebx, dword [esp + 0x74]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebx + 0x64]
jae 0x552a8e
mov ebx, dword ds:[esp + 0x14]
lea eax, [ecx + 2]
movzx esi, word [ecx]
mov dword [ebx + 0x38], eax
cmp esi, 0xff
jbe 0x552a59
mov eax, ebx
cmp byte [eax + 0x31], 0x6e
je case.0x550ee5.162
jmp 0x552a78
mov eax, dword [ebx + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
mov eax, dword [esp + 0x14]
je 0x551353
mov ecx, dword ds:[eax + 0x20]
inc edi
cmp edi, ecx
ja 0x552aca
mov eax, dword [esp + 0x14]
jmp 0x552a20
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x553929.10
nop dword [eax]
cmp ecx, dword [ebx + 0x6c]
ja 0x552aaf
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov eax, dword [esp + 0x14]
mov ebp, dword [eax + 0x24]
mov esi, dword [esp + 0x74]
cmp ecx, ebp
je 0x550eb5
cmp dword ds:[esp + 0x1c], 0
je 0x55c19b
cmp dword [esp + 0x18], 0
mov edi, dword [eax + 0x38]
mov dword [eax + 4], edi
mov eax, dword [eax + 0x20]
mov dword [esp + 0x30], eax
je 0x552bf6
nop
cmp eax, ebp
jae 0x552bdb
nop dword [eax + eax]
mov eax, dword ds:[esp + 0x74]
mov ebx, 1
cmp edi, dword [eax + 0x64]
jae 0x552bb0
movzx esi, word [edi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x552b5d
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov ebx, 2
add esi, 0x10000
mov eax, dword [esp + 0x14]
cmp esi, 0xff
jbe 0x552b75
cmp byte [eax + 0x31], 0x6e
je 0x552bdb
jmp 0x552b94
mov eax, dword [eax + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
je 0x552bdb
mov eax, dword [esp + 0x14]
lea edi, [edi + ebx*2]
mov dword [eax + 0x38], edi
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, ebp
jb 0x552b10
jmp 0x552bdb
mov ebx, eax
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x552bdb
nop dword [eax]
cmp edi, dword [ebx + 0x6c]
ja 0x552bcb
cmp dword [ebx + 0x34], 0
je 0x552bdb
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
cmp dword [esp + 0x1c], 2
je 0x550eb1
mov ebp, dword [esp + 0x14]
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0xc9
jmp 0x55c82f
cmp eax, ebp
jae 0x552cb7
mov ebx, dword [esp + 0x14]
mov ecx, esi
cmp edi, dword [ecx + 0x64]
jae 0x552c86
movzx esi, word [edi]
cmp esi, 0xff
jbe 0x552c55
cmp byte [ebx + 0x31], 0x6e
jne 0x552c74
mov ebx, dword [esp + 0x74]
cmp dword [esp + 0x1c], 2
je 0x550eb1
mov ebp, dword [esp + 0x14]
mov eax, dword ss:[ebp + 0x38]
cmp eax, dword [ebp + 4]
jb case.0x553929.10
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0x18
jmp 0x55c82f
mov eax, dword [ebx + 8]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
test byte [esi + eax], dl
je 0x552c26
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x74]
inc eax
add edi, 2
mov dword [ebx + 0x38], edi
mov dword [esp + 0x30], eax
cmp eax, ebp
jb 0x552c04
jmp 0x552c26
mov ebx, dword [esp + 0x74]
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x552c2a
cmp edi, dword [ebx + 0x6c]
ja 0x552ca2
cmp dword ds:[ebx + 0x34], 0
je 0x552c2a
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
jmp 0x552c2a
mov ebx, esi
jmp 0x552c2a
mov ebp, dword ds:[esp + 0x14]
lea eax, [edi + 4]
mov dword [ebp + 8], eax
movzx eax, word [edi + 2]
lea edx, [edi + eax*2]
mov dword [ebp], edx
movzx esi, word [edx]
lea eax, [esi - 0x62]
cmp eax, 0xb
ja case.default.0x552cf0
movzx eax, byte [eax + 0x55cc7c]
jmp dword [eax*4 + 0x55cc74]
mov ecx, dword [esi*4 + 0x5daefc]
lea eax, ds:[edx + 2]
mov ebx, dword [esi*4 + 0x5daea0]
lea edi, [ebp + 0x20]
mov dword [ebp], eax
mov eax, dword [esi*4 + 0x5daed0]
mov dword [edi], ecx
mov dword [ebp + 0x24], eax
mov dword [esp + 0x1c], ebx
jmp 0x552d5a
movzx ecx, word [edx + 2]
lea edi, [ebp + 0x20]
mov dword [edi], ecx
movzx eax, word [edx + 4]
mov dword [ebp + 0x24], eax
test eax, eax
jne 0x552d46
mov eax, dword [esp + 0x14]
mov ebp, eax
mov dword [eax + 0x24], 0xffffffff
movzx eax, word [edx]
mov eax, dword [eax*4 + 0x5daea0]
mov dword [esp + 0x1c], eax
lea eax, [edx + 6]
mov dword [ebp], eax
mov esi, 1
cmp ecx, esi
jae 0x552e33
mov ebx, dword [esp + 0x74]
mov eax, dword [ebp + 0x24]
cmp ecx, eax
je 0x550eb1
cmp dword ds:[esp + 0x1c], 0
je 0x55a44d
mov edx, dword [ebp + 0x38]
mov dword [ebp + 4], edx
mov edi, dword [ebp + 0x20]
cmp edi, eax
jae 0x552eef
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
nop
mov esi, 1
cmp edx, dword [ebx + 0x64]
jae 0x552ec5
movzx ecx, word [edx]
test ebp, ebp
je 0x552dee
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x552dea
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 8]
push ebp
call fcn.0057f360
test eax, eax
je 0x552eeb
mov ecx, dword [esp + 0x14]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
mov edx, dword [eax + 0x38]
cmp edi, dword [eax + 0x24]
jb 0x552da0
jmp 0x552eeb
mov eax, dword [esp + 0x14]
mov esi, 1
mov dword [eax + 0x24], 1
lea edi, [eax + 0x20]
mov dword [eax + 0x20], 1
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x18]
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x552eff
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x552ea1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x552e9d
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 8]
push ebp
call fcn.0057f360
test eax, eax
je 0x552f2d
mov ecx, dword [edi]
inc esi
cmp esi, ecx
jbe 0x552e40
mov ebp, dword ds:[esp + 0x14]
jmp 0x552d6c
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x552eeb
cmp edx, dword [ebx + 0x6c]
ja 0x552edf
cmp dword [ebx + 0x34], 0
je 0x552eeb
mov dword [ebx + 0x2c], esi
cmp ecx, 1
ja 0x55125f
mov ebp, dword [esp + 0x14]
cmp dword [esp + 0x1c], 2
jne 0x55a4af
jmp 0x550eb1
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x552f2d
cmp edx, dword [ebx + 0x6c]
ja 0x552f1d
cmp dword [ebx + 0x34], 0
je 0x552f2d
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
mov edi, ebp
jmp 0x559522
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x552f90
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop dword [eax]
cmp edx, dword [ebx + 0x6c]
ja 0x552f73
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x552fdf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x552fdf
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x552fe3
mov edx, dword [esp + 0x14]
cmp ecx, 0xff
ja case.default.0x553929
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 8
je case.default.0x553929
xor esi, esi
jmp 0x55951a
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x553053
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x55303c
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x55309f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55309f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x5530a3
mov edx, dword [esp + 0x14]
cmp ecx, 0xff
ja case.0x553929.10
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 8
je case.0x553929.10
lea eax, [edi + 2]
mov esi, ebx
mov dword [edx], eax
jmp 0x550ec0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x553115
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x5530fe
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x553165
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x553165
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x553169
mov edx, dword [esp + 0x14]
cmp ecx, 0xff
ja case.default.0x553929
mov eax, dword ds:[ebx + 0x40]
test byte [ecx + eax], 1
je case.default.0x553929
xor esi, esi
jmp 0x55951a
mov eax, dword ds:[esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x5531f0
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop dword [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x5531d3
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x553245
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x553245
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x553249
mov edx, dword [esp + 0x14]
cmp ecx, 0xff
ja case.0x553929.10
mov eax, dword ds:[ebx + 0x40]
test byte [ecx + eax], 1
je case.0x553929.10
lea eax, [edi + 2]
mov esi, ebx
mov dword [edx], eax
jmp 0x550ec0
mov eax, dword ds:[esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x5532d0
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop dword [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x5532b3
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x553325
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x553325
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x553329
mov edx, dword [esp + 0x14]
cmp ecx, 0xff
ja case.default.0x553929
mov eax, dword ds:[ebx + 0x40]
test byte [ecx + eax], 0x10
je case.default.0x553929
xor esi, esi
jmp 0x55951a
mov eax, dword ds:[esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x5533b0
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop dword [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x553393
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x553405
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x553405
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x553409
mov edx, dword [esp + 0x14]
cmp ecx, 0xff
ja case.0x553929.10
mov eax, dword ds:[ebx + 0x40]
test byte [ecx + eax], 0x10
je case.0x553929.10
lea eax, [edi + 2]
mov esi, ebx
mov dword [edx], eax
jmp 0x550ec0
mov eax, dword ds:[esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x553490
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop dword [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x553473
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov edi, dword [esp + 0x18]
mov esi, edx
mov dword [eax + 0x38], edx
test edi, edi
je 0x5534dd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5534dd
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x14]
add ecx, 0x10000
mov dword [eax + 0x38], esi
nop dword [eax]
cmp ecx, 0x85
ja 0x553577
je case.0x553500.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x55976a.999
nop
jmp dword [ecx*4 + 0x55cc88]
cmp esi, dword [ebx + 0x64]
jb 0x553559
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553500.10
nop
cmp esi, dword [ebx + 0x6c]
ja 0x553533
cmp dword [ebx + 0x34], 0
je case.0x553500.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
mov esi, ebx
mov ebp, edi
add dword [eax], 2
jmp 0x550ec0
cmp word [esi], 0xa
jne case.0x553500.10
mov ecx, dword [esp + 0x14]
lea eax, [esi + 2]
mov esi, ebx
mov ebp, edi
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 2
jmp 0x550ec0
nop word [eax + eax]
sub ecx, 0x2028
je case.0x553500.11
sub ecx, 1
je case.0x553500.11
xor esi, esi
mov eax, dword ds:[esp + 0x14]
jmp 0x559522
cmp word [ebx + 0x4e], 2
jne case.0x553500.10
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x553610
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop word [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x5535f3
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov edi, dword [esp + 0x18]
mov dword [eax + 0x38], edx
test edi, edi
je 0x55365d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55365d
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
nop dword [eax]
cmp ecx, 0x2000
ja 0x5536dc
je case.0x55976a.999
cmp ecx, 0xa0
ja 0x5536a8
nop
je case.0x55976a.999
cmp ecx, 9
je case.0x55976a.999
cmp ecx, 0x20
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov esi, ebx
mov ebp, edi
add dword [eax], 2
jmp 0x550ec0
cmp ecx, 0x1680
je case.0x55976a.999
nop dword [eax]
nop dword [eax + eax]
cmp ecx, 0x180e
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov esi, ebx
mov ebp, edi
add dword [eax], 2
jmp 0x550ec0
nop dword [eax]
cmp ecx, 0x3000
ja case.0x553500.10
je case.0x55976a.999
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x553500.10
movzx eax, byte [ecx + 0x55cca0]
jmp dword [eax*4 + 0x55cc98]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x553770
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop word [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x553753
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov edi, dword [esp + 0x18]
mov dword [eax + 0x38], edx
test edi, edi
je 0x5537bd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5537bd
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
nop dword [eax]
cmp ecx, 0x2000
ja 0x553819
je case.0x553500.10
cmp ecx, 0xa0
ja 0x553805
nop
je case.0x553500.10
cmp ecx, 9
je case.0x553500.10
cmp ecx, 0x20
je case.0x553500.10
mov eax, dword ds:[esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x1680
je case.0x553500.10
cmp ecx, 0x180e
jmp 0x5537f2
nop dword [eax]
cmp ecx, 0x3000
ja case.0x55976a.999
je case.0x553500.10
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x55976a.999
movzx eax, byte [ecx + 0x55cd08]
jmp dword [eax*4 + 0x55cd00]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x5538b0
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop word [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x553893
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x553905
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x553905
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x553909
mov edx, dword [esp + 0x14]
cmp ecx, 0x85
ja 0x553930
je case.0x553929.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x553929
jmp dword [ecx*4 + 0x55cd68]
sub ecx, 0x2028
je case.0x553929.10
nop dword [eax]
sub ecx, 1
je case.0x553929.10
lea eax, [edi + 2]
mov esi, ebx
mov dword [edx], eax
jmp 0x550ec0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x5539b0
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop dword [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x553993
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
test ebp, ebp
je 0x553a05
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x553a05
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x553a09
mov edx, dword [esp + 0x14]
cmp ecx, 0x85
ja 0x553a30
je case.default.0x553929
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x553929.10
jmp dword [ecx*4 + 0x55cd78]
sub ecx, 0x2028
je case.default.0x553929
nop dword [eax]
sub ecx, 1
je case.default.0x553929
xor esi, esi
jmp 0x55951a
mov eax, dword ds:[esp + 0x14]
mov ebx, dword [esp + 0x74]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebx + 0x64]
jb 0x553ab0
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x553929.10
nop dword [eax + eax]
cmp ecx, dword [ebx + 0x6c]
ja 0x553a93
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx edx, word ds:[ecx]
add ecx, 2
mov dword [eax + 0x38], ecx
test ebp, ebp
je 0x553afd
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x553afd
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x14]
add edx, 0x10000
mov dword [ecx + 0x38], eax
mov eax, edx
xor ebx, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
mov cl, byte [esp + 0x13]
cmp cl, 0xf
lea esi, [eax + eax*2]
sete bl
movzx eax, word [edi + 2]
cmp eax, 0xd
ja case.0x55a015.15
jmp dword [eax*4 + 0x55cd88]
cmp cl, 0xf
je case.0x550ee5.162
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x74]
add dword [eax], 6
jmp 0x550ec0
mov al, byte [esi*4 + 0x5dc361]
nop
cmp al, 9
je 0x553b7f
cmp al, 5
je 0x553b7f
cmp al, 8
je 0x553b7f
xor eax, eax
jmp 0x553b84
mov eax, 1
cmp eax, ebx
jne 0x553b48
jmp case.0x550ee5.162
movzx ecx, byte [esi*4 + 0x5dc361]
xor edx, edx
movzx eax, word [edi + 4]
cmp eax, dword [ecx*4 + 0x5f7610]
sete dl
cmp edx, ebx
jne 0x553b48
jmp case.0x550ee5.162
movzx eax, byte [esi*4 + 0x5dc361]
xor ecx, ecx
cmp word [edi + 4], ax
sete cl
cmp ecx, ebx
jne 0x553b48
jmp case.0x550ee5.162
movzx eax, byte [esi*4 + 0x5dc360]
jmp 0x553bb6
movzx ecx, word ds:[edi + 4]
movzx eax, byte [esi*4 + 0x5dc360]
cmp cx, ax
je 0x553b7f
movzx edx, word [esi*4 + 0x5dc368]
mov eax, ecx
and edx, 0x3ff
shr eax, 5
add edx, eax
and ecx, 0x8000001f
jns 0x553c11
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5dbad0], eax
jne 0x553b7f
xor eax, eax
jmp 0x553b84
movzx eax, byte [esi*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x553b7f
cmp eax, 3
je 0x553b7f
xor eax, eax
jmp 0x553b84
nop dword [eax]
cmp edx, 0x20
ja 0x553c87
je case.0x553b38.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x553d0d.8203
nop dword [eax + eax]
jmp dword [edx*4 + 0x55cdc0]
cmp edx, 0x2000
ja 0x553ced
je case.0x553b38.0
nop dword [eax]
cmp edx, 0x1680
ja 0x553ce5
je case.0x553b38.0
sub edx, 0x85
je case.0x553b38.0
sub edx, 0x1b
je case.0x553b38.0
movzx eax, byte [esi*4 + 0x5dc361]
xor ecx, ecx
cmp dword [eax*4 + 0x5f7610], 6
sete cl
cmp ecx, ebx
jmp 0x553b42
cmp edx, 0x180e
jmp 0x553cc1
cmp edx, 0x3000
ja case.0x553d0d.8203
je case.0x553b38.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x553d0d.8203
movzx eax, byte [edx + 0x55cddc]
jmp dword [eax*4 + 0x55cdd4]
movzx eax, byte [esi*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x553d47
cmp eax, 3
je 0x553d47
cmp edx, 0x5f
je 0x553d47
xor eax, eax
cmp eax, ebx
jmp 0x553b42
mov eax, 1
cmp eax, ebx
jmp 0x553b42
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x5db910]
lea eax, [eax*4 + 0x5db910]
cmp edx, ecx
jb 0x553d84
nop dword [eax]
lea eax, [eax + 4]
cmp edx, ecx
je 0x553d94
mov ecx, dword ds:[eax]
cmp edx, ecx
jae 0x553d70
cmp byte [esp + 0x13], 0xf
je 0x553b48
jmp case.0x550ee5.162
cmp byte [esp + 0x13], 0xf
jmp 0x553b42
nop
cmp edx, 0x24
je 0x553d47
cmp edx, 0x40
je 0x553d47
cmp edx, 0x60
je 0x553d47
cmp edx, 0xa0
jb 0x553dcc
nop dword [eax + eax]
cmp edx, 0xd7ff
jbe 0x553d47
cmp edx, 0xe000
jae 0x553d47
xor eax, eax
cmp eax, ebx
jmp 0x553b42
mov ax, word [esi*4 + 0x5dc368]
xor ecx, ecx
shr ax, 0xb
cmp ax, word [edi + 4]
sete cl
cmp ecx, ebx
jmp 0x553b42
movzx ecx, word ds:[edi + 4]
movzx edx, word [esi*4 + 0x5dc36a]
mov eax, ecx
and edx, 0xfff
shr eax, 5
add edx, eax
and ecx, 0x8000001f
jns 0x553e31
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x5dbdd0]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, ebx
jmp 0x553b42
mov eax, dword ds:[esp + 0x14]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x553eb0
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop dword [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x553e93
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
movzx ecx, word ds:[edx]
add edx, 2
mov dword [eax + 0x38], edx
mov esi, edx
test ebp, ebp
je 0x553efd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x553efd
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x14]
add ecx, 0x10000
mov dword [eax + 0x38], esi
push 0
push ebp
push dword [ebx + 0x64]
mov edx, esi
push dword [ebx + 0x5c]
call fcn.0057fe00
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x38], eax
cmp eax, dword [ebx + 0x64]
jb 0x553f4f
movzx ecx, word [ebx + 0x4c]
mov edx, ecx
test cx, cx
je 0x553f4f
cmp eax, dword [ebx + 0x6c]
ja 0x553f3f
cmp dword [ebx + 0x34], 0
je 0x553f4f
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
mov esi, ebx
add dword [eax], 2
jmp 0x550ec0
mov ecx, dword [esp + 0x14]
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
mov eax, ecx
mov dword [eax], edi
jmp 0x554064
mov ecx, dword ds:[esp + 0x14]
xor edx, edx
mov dword [ecx + 0x20], 0
movzx eax, word [edi + 2]
mov dword [ecx + 0x24], eax
cmp word [edi], 0x5c
setne dl
add edi, 4
mov dword [esp + 0x1c], edx
mov dword [ecx], edi
jmp 0x554060
mov eax, dword [esp + 0x14]
add edi, 2
mov dword [esp + 0x1c], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x554060
mov eax, dword [esp + 0x14]
add edi, 2
mov dword [esp + 0x1c], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x554060
mov eax, dword [esp + 0x14]
add edi, 2
mov dword [esp + 0x1c], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], edi
jmp 0x554060
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], 2
mov dword [ecx + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
mov dword [ecx], edi
jmp 0x554060
movzx ecx, word [edi]
add edi, 2
mov edx, dword [esp + 0x14]
mov eax, dword [ecx*4 + 0x5daf30]
mov dword [edx], edi
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x5daf04]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x5daed4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
movzx ebx, word [edi]
lea ecx, [edi + 2]
mov dword [eax + 0x28], ebx
mov dword [eax], ecx
cmp ebx, 0x10
je 0x554091
nop dword [eax + eax]
cmp ebx, 0xf
je 0x554091
or ebp, 0xffffffff
jmp 0x5540aa
movzx ebp, word [ecx]
add ecx, 2
mov edx, dword [esp + 0x14]
mov dword [eax], ecx
movzx eax, word [ecx]
mov dword [edx + 0x2c], eax
lea eax, [ecx + 2]
mov dword [edx], eax
mov eax, edx
mov edi, dword [eax + 0x20]
mov dword [esp + 0x44], ebp
test edi, edi
je 0x55533e
nop dword [eax]
test ebp, ebp
js 0x554fb3
xor eax, eax
cmp ebx, 0xf
sete al
mov dword [esp + 0x20], eax
cmp ebp, 0xd
ja case.0x55a015.15
nop dword [eax]
jmp dword [ebp*4 + 0x55ce3c]
cmp ebx, 0xf
je case.0x550ee5.162
mov esi, dword [esp + 0x18]
mov edx, 1
nop dword [eax]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebx + 0x64]
jae 0x55414d
mov ebx, dword [esp + 0x14]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebx + 0x38], ecx
test esi, esi
je 0x55413f
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55413f
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
inc edx
cmp edx, edi
jbe 0x554100
mov eax, dword [esp + 0x14]
jmp 0x555342
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x553929.10
nop dword [eax]
cmp ecx, dword [ebx + 0x6c]
ja 0x554173
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov edi, dword [esp + 0x20]
mov esi, 1
mov ebx, dword [esp + 0x74]
nop dword [eax]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x554285
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], edx
je 0x554205
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x554205
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x554209
mov edx, dword [esp + 0x14]
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x5dc361]
cmp al, 9
je 0x554257
nop dword [eax + eax]
cmp al, 5
je 0x554257
cmp al, 8
je 0x554257
xor eax, eax
jmp 0x55425c
mov eax, 1
nop dword [eax]
cmp eax, edi
je case.0x553929.10
inc esi
cmp esi, dword [edx + 0x20]
jbe 0x5541a0
mov eax, dword ds:[esp + 0x14]
mov edx, ebx
mov esi, dword [esp + 0x18]
jmp 0x555346
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x5542a7
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov ebx, dword [esp + 0x74]
mov esi, 1
nop word [eax + eax]
mov eax, dword ds:[esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x554397
movzx ecx, word [edx]
add edx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], edx
je 0x554337
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x554337
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x55433b
mov edx, dword [esp + 0x14]
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [esp + 0x20]
je case.0x553929.10
inc esi
cmp esi, edi
jbe 0x5542d0
mov eax, dword [esp + 0x14]
mov edx, ebx
mov esi, dword [esp + 0x18]
jmp 0x555346
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x5543bc
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov ebx, dword [esp + 0x74]
mov esi, 1
nop dword [eax]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x5544a5
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], edx
je 0x554445
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x554445
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x554449
mov edx, dword [esp + 0x14]
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [esp + 0x20]
je case.0x553929.10
inc esi
cmp esi, edi
jbe 0x5543e0
mov eax, dword ds:[esp + 0x14]
mov edx, ebx
mov esi, dword [esp + 0x18]
jmp 0x555346
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x5544c7
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov ebx, dword [esp + 0x74]
mov esi, 1
nop word [eax + eax]
mov eax, dword ds:[esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x5545ad
movzx ecx, word [edx]
add edx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], edx
je 0x554557
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x554557
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x55455b
mov edx, dword [esp + 0x14]
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc360]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [esp + 0x20]
je case.0x553929.10
inc esi
cmp esi, edi
jbe 0x5544f0
mov eax, dword [esp + 0x14]
mov edx, ebx
mov esi, dword [esp + 0x18]
jmp 0x555346
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop dword [eax]
cmp edx, dword [ebx + 0x6c]
ja 0x5545d3
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov edi, dword [esp + 0x20]
mov esi, 1
mov ebx, dword [esp + 0x74]
nop dword [eax]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x5546f4
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], edx
je 0x55465b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55465b
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x2c]
movzx eax, byte [edx*4 + 0x5dc360]
cmp eax, ecx
je 0x5546c5
movzx edx, word [edx*4 + 0x5dc368]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5dbad0], eax
jne 0x5546c5
xor eax, eax
jmp 0x5546ca
mov eax, 1
cmp eax, edi
mov eax, dword [esp + 0x14]
je 0x5515a6
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x554600
mov esi, dword [esp + 0x18]
mov edx, ebx
jmp 0x555346
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x55471c
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov edi, dword [esp + 0x20]
mov esi, 1
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x554825
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], edx
je 0x5547a5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5547a5
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x5547a9
mov edx, dword [esp + 0x14]
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x5547f9
cmp eax, 3
je 0x5547f9
xor eax, eax
jmp 0x5547fe
mov eax, 1
nop
cmp eax, edi
je case.0x553929.10
inc esi
cmp esi, dword [edx + 0x20]
jbe 0x554740
mov eax, dword ds:[esp + 0x14]
mov edx, ebx
mov esi, dword [esp + 0x18]
jmp 0x555346
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x554847
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov edi, dword [esp + 0x18]
mov esi, 1
nop word [eax + eax]
mov eax, dword ds:[esp + 0x14]
mov ecx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jae 0x5549d0
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
test edi, edi
je 0x5548cf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5548cf
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
cmp ecx, 0x20
ja 0x5548f1
je case.0x5549c4.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x5549c4.8203
jmp dword [eax*4 + 0x55ce74]
cmp ecx, 0x2000
ja 0x554998
nop dword [eax]
je case.0x5549c4.8193
cmp ecx, 0x1680
ja 0x554990
je case.0x5549c4.8193
mov eax, ecx
sub eax, 0x85
je case.0x5549c4.8193
sub eax, 0x1b
je case.0x5549c4.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
cmp dword [eax*4 + 0x5f7610], 6
sete cl
cmp ecx, dword [esp + 0x20]
je 0x558c97
mov eax, dword ds:[esp + 0x14]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x554870
mov esi, edi
jmp 0x555342
cmp ecx, 0x180e
jmp 0x55492e
nop dword [eax + eax]
cmp ecx, 0x3000
ja case.0x5549c4.8203
je case.0x5549c4.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x5549c4.8203
movzx eax, byte [eax + 0x55ce90]
jmp dword [eax*4 + 0x55ce88]
cmp ebx, 0xf
jmp 0x55496d
mov ebx, ecx
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x5549fc
cmp dword [ebx + 0x34], 0
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
mov edi, dword [esp + 0x20]
mov esi, 1
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebx + 0x64]
jae 0x554aff
movzx edx, word [ecx]
add ecx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], ecx
je 0x554a7d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x554a7d
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x14]
add edx, 0x10000
mov dword [ecx + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x554ad9
nop word [eax + eax]
cmp eax, 3
je 0x554ad9
cmp edx, 0x5f
je 0x554ad9
xor eax, eax
jmp 0x554ade
mov eax, 1
cmp eax, edi
mov eax, dword [esp + 0x14]
je 0x5515a6
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x554a24
mov esi, dword [esp + 0x18]
mov edx, ebx
jmp 0x555346
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x553929.10
cmp ecx, dword [ebx + 0x6c]
ja 0x554b26
cmp dword ds:[ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov edi, dword [esp + 0x18]
mov esi, 1
nop word [eax + eax]
mov eax, dword ds:[esp + 0x14]
mov ecx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jae 0x554c10
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
test edi, edi
je 0x554bb3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x554baf
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax*4 + 0x5db910]
lea eax, [eax*4 + 0x5db910]
cmp ecx, edx
jb 0x554be4
nop dword [eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x554c05
mov edx, dword ds:[eax]
cmp ecx, edx
jae 0x554bd0
cmp ebx, 0xf
jne 0x558c97
mov eax, dword [esp + 0x14]
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x554b50
mov esi, edi
jmp 0x555342
cmp ebx, 0xf
je 0x558c97
jmp 0x554bed
mov ebx, ecx
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x554c3c
cmp dword [ebx + 0x34], 0
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
mov edi, dword [esp + 0x20]
mov esi, 1
mov ebx, dword [esp + 0x74]
nop dword [eax]
nop dword [eax + eax]
mov eax, dword ds:[esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x554d45
movzx ecx, word [edx]
add edx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], edx
je 0x554cd2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x554cd2
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
cmp ecx, 0x24
je 0x554d1f
nop dword [eax + eax]
cmp ecx, 0x40
je 0x554d1f
cmp ecx, 0x60
je 0x554d1f
cmp ecx, 0xa0
jb 0x554d0c
nop
cmp ecx, 0xd7ff
jbe 0x554d1f
cmp ecx, 0xe000
jae 0x554d1f
xor eax, eax
jmp 0x554d24
mov eax, 1
cmp eax, edi
mov eax, dword [esp + 0x14]
je 0x5515a6
inc esi
cmp esi, dword [eax + 0x20]
jbe 0x554c70
mov esi, dword [esp + 0x18]
mov edx, ebx
jmp 0x555346
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x554d67
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov ebx, dword [esp + 0x74]
mov esi, 1
nop word [eax + eax]
mov eax, dword ds:[esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x554e57
movzx ecx, word [edx]
add edx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], edx
je 0x554df7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x554df7
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x14]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x554dfb
mov edx, dword [esp + 0x14]
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x5dc368]
shr eax, 0xb
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, dword [esp + 0x20]
je case.0x553929.10
inc esi
cmp esi, edi
jbe 0x554d90
mov eax, dword [esp + 0x14]
mov edx, ebx
mov esi, dword [esp + 0x18]
jmp 0x555346
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x554e7c
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov ebx, dword [esp + 0x74]
mov esi, 1
nop dword [eax]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebx + 0x64]
jae 0x554f77
movzx edx, word ds:[ecx]
add ecx, 2
cmp dword [esp + 0x18], 0
mov dword [eax + 0x38], ecx
je 0x554eff
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x554efb
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x14]
add edx, 0x10000
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x2c]
mov eax, edx
shr eax, 7
and edx, 0x7f
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x5dc36a]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x5dbdd0]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [esp + 0x20]
je case.0x553929.10
inc esi
cmp esi, edi
jbe 0x554ea0
mov eax, dword [esp + 0x14]
mov edx, ebx
mov esi, dword [esp + 0x18]
jmp 0x555346
movzx eax, word ds:[ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x553929.10
cmp ecx, dword [ebx + 0x6c]
ja 0x554f9c
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
cmp ebx, 0x16
jne 0x5550d3
lea edi, [ebx - 0x15]
mov ebx, dword [esp + 0x74]
mov edx, dword [eax + 0x38]
cmp edx, dword [ebx + 0x64]
jae 0x555094
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [esp + 0x18], 0
mov esi, edx
mov dword [eax + 0x38], edx
je 0x55501b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55501b
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [esp + 0x14]
add ecx, 0x10000
mov dword [eax + 0x38], esi
push 0
push dword [esp + 0x1c]
mov edx, esi
push dword [ebx + 0x64]
push dword [ebx + 0x5c]
call fcn.0057fe00
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x38], eax
cmp eax, dword [ebx + 0x64]
jb 0x555076
movzx ecx, word [ebx + 0x4c]
mov edx, ecx
test cx, cx
je 0x555076
cmp eax, dword [ebx + 0x6c]
ja 0x555066
cmp dword ds:[ebx + 0x34], 0
je 0x555076
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword ds:[esp + 0x14]
inc edi
cmp edi, dword [eax + 0x20]
jbe 0x554fc3
mov esi, dword [esp + 0x18]
mov edx, ebx
jmp 0x555346
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x5550bc
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
lea eax, [ebx - 6]
cmp eax, 0xf
ja case.0x55a015.15
cmp dword [esp + 0x18], 0
je case.default.0x5550ea
jmp dword [eax*4 + 0x55cef0]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x74]
mov edi, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov dword [esp + 0x30], edi
cmp edi, ebx
je 0x550eb1
cmp dword ds:[esp + 0x1c], 0
je 0x55c1b1
mov esi, dword [eax + 0x38]
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], esi
mov ebp, dword [eax + 0x28]
test ecx, ecx
js 0x557305
xor eax, eax
cmp ebp, 0xf
sete al
mov dword [esp + 0x20], eax
cmp ecx, 0xd
ja case.0x55a015.15
jmp dword [ecx*4 + 0x55cf30]
xor esi, esi
mov ebx, edi
jmp 0x55951a
mov ebx, dword [esp + 0x14]
mov esi, 1
mov edi, dword [esp + 0x74]
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x64]
jae 0x55597b
movzx ecx, word ds:[edx]
add edx, 2
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55594a
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebx + 0x38], eax
cmp ecx, 0x80
jae 0x555966
mov eax, dword ds:[edi + 0x40]
test byte [ecx + eax], 8
jne 0x55546d
inc esi
cmp esi, dword [ebx + 0x20]
jbe 0x555900
mov eax, dword [esp + 0x14]
mov edx, edi
mov esi, dword [esp + 0x18]
jmp 0x555346
mov ebx, edi
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
cmp edx, dword [ebx + 0x6c]
ja 0x55599f
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
nop dword [eax]
jmp dword [eax*4 + 0x55d068]
mov ebx, dword [esp + 0x14]
mov esi, 1
nop dword [eax]
mov eax, dword [esp + 0x74]
mov edx, dword [ebx + 0x38]
cmp edx, dword [eax + 0x64]
jae 0x5563cc
movzx eax, word ds:[edx]
mov ecx, 0xff
cmp ax, cx
ja 0x5563bc
mov ecx, eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 8
jne case.0x550ee5.162
inc esi
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
cmp esi, edi
jbe 0x556380
jmp 0x55533a
mov ebx, eax
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x553929.10
nop dword [eax]
cmp edx, dword [ebx + 0x6c]
ja 0x5563f3
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
cmp edi, ebx
jae 0x5572e9
nop dword [eax + eax]
mov ecx, 1
cmp esi, dword [edx + 0x64]
jae 0x55678b
cmp dword [esp + 0x18], 0
je 0x55676e
mov eax, 0xfc00
and ax, word [esi]
cmp ax, word [esp + 0x4c]
mov eax, 2
cmove ecx, eax
cmp ebp, 0xf
je 0x5572e9
mov eax, dword [esp + 0x14]
lea esi, [esi + ecx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, ebx
jb 0x556740
jmp 0x5572e9
mov ebx, dword [esp + 0x74]
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x5572e9
nop
cmp esi, dword [ebx + 0x6c]
ja 0x5567b3
cmp dword [ebx + 0x34], 0
je 0x5572e9
mov dword [ebx + 0x2c], 1
jmp 0x5572df
nop
cmp edi, ebx
jae 0x5572e9
mov ebx, dword [esp + 0x20]
nop dword [eax]
mov eax, dword ds:[esp + 0x74]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x5568a5
cmp dword [esp + 0x18], 0
movzx ecx, word [esi]
je 0x55682a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55682a
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x5dc361]
cmp al, 9
je 0x556877
nop dword [eax]
cmp al, 5
je 0x556877
cmp al, 8
je 0x556877
xor eax, eax
jmp 0x55687c
mov eax, 1
nop dword [eax]
cmp eax, ebx
je 0x5572e9
mov eax, dword [esp + 0x14]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, dword [eax + 0x24]
jb 0x5567d0
nop dword [eax]
jmp 0x5572e9
mov ebx, eax
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x5572e9
cmp esi, dword [ebx + 0x6c]
ja 0x5568c9
cmp dword [ebx + 0x34], 0
je 0x5572e9
mov dword [ebx + 0x2c], edx
jmp 0x5572df
cmp edi, ebx
jae 0x5572e9
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, dword [esp + 0x74]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x5568a5
cmp dword [esp + 0x18], 0
movzx ecx, word [esi]
je 0x55692d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55692d
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, dword [ebp + 0x2c]
sete cl
cmp ecx, dword [esp + 0x20]
je 0x5572e9
inc edi
lea esi, [esi + edx*2]
mov dword [ebp + 0x38], esi
cmp edi, ebx
jb 0x5568e0
nop dword [eax]
jmp 0x5572e9
cmp edi, ebx
jae 0x5572e9
mov ebp, dword [esp + 0x14]
mov eax, dword ds:[esp + 0x74]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x5568a5
cmp dword [esp + 0x18], 0
movzx ecx, word [esi]
je 0x5569ea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5569ea
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
cmp eax, dword [ebp + 0x2c]
sete cl
cmp ecx, dword [esp + 0x20]
je 0x5572e9
inc edi
lea esi, [esi + edx*2]
mov dword [ebp + 0x38], esi
cmp edi, ebx
jb 0x556991
jmp 0x5572e9
nop
cmp edi, ebx
jae 0x5572e9
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov eax, dword ds:[esp + 0x74]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x5568a5
cmp dword [esp + 0x18], 0
movzx ecx, word [esi]
je 0x556aaa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x556aaa
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc360]
cmp eax, dword [ebp + 0x2c]
sete cl
cmp ecx, dword [esp + 0x20]
je 0x5572e9
inc edi
lea esi, [esi + edx*2]
mov dword [ebp + 0x38], esi
cmp edi, ebx
jb 0x556a50
jmp 0x5572e9
nop
cmp edi, ebx
jae 0x5572e9
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov edi, 1
cmp esi, dword [edx + 0x64]
jae 0x5572ad
cmp dword [esp + 0x18], 0
movzx ecx, word [esi]
je 0x556b5d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x556b5d
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x2c]
movzx eax, byte [edx*4 + 0x5dc360]
cmp eax, ecx
je 0x556bd4
movzx edx, word [edx*4 + 0x5dc368]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5dbad0], eax
jne 0x556bd4
xor eax, eax
jmp 0x556bd9
mov eax, 1
nop dword [eax]
cmp eax, ebx
je 0x5572e9
mov eax, dword ds:[esp + 0x14]
lea esi, [esi + edi*2]
mov edx, dword [esp + 0x74]
inc ebp
mov dword [eax + 0x38], esi
cmp ebp, dword [eax + 0x24]
jb 0x556b10
jmp 0x5572e9
cmp edi, ebx
jae 0x5572e9
mov ebx, dword [esp + 0x20]
nop word [eax + eax]
mov eax, dword [esp + 0x74]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x5568a5
cmp dword ds:[esp + 0x18], 0
movzx ecx, word [esi]
je 0x556c77
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x556c77
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x556cbf
cmp eax, 3
je 0x556cbf
xor eax, eax
jmp 0x556cc4
mov eax, 1
cmp eax, ebx
je 0x5572e9
mov eax, dword ds:[esp + 0x14]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, dword [eax + 0x24]
jb 0x556c20
jmp 0x5572e9
cmp edi, ebx
jae 0x5572e9
mov ebx, dword [esp + 0x20]
nop word [eax + eax]
mov eax, dword [esp + 0x74]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x5568a5
cmp dword ds:[esp + 0x18], 0
movzx ecx, word [esi]
je 0x556d57
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x556d57
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
nop word [eax + eax]
cmp ecx, 0x20
ja 0x556d87
je case.0x556e4d.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x556e4d.8203
nop dword [eax + eax]
jmp dword [eax*4 + 0x55d1a8]
cmp ecx, 0x2000
ja 0x556e2d
je case.0x556e4d.8193
nop dword [eax]
cmp ecx, 0x1680
ja 0x556e25
je case.0x556e4d.8193
mov eax, ecx
sub eax, 0x85
je case.0x556e4d.8193
sub eax, 0x1b
je case.0x556e4d.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
cmp dword [eax*4 + 0x5f7610], 6
sete cl
cmp ecx, ebx
nop
je 0x5572e9
mov ecx, dword [esp + 0x14]
lea eax, [edx + edx]
inc edi
add dword [ecx + 0x38], eax
mov esi, dword [ecx + 0x38]
cmp edi, dword [ecx + 0x24]
jb 0x556d00
nop dword [eax]
jmp 0x5572e9
cmp ecx, 0x180e
jmp 0x556dc2
cmp ecx, 0x3000
ja case.0x556e4d.8203
je case.0x556e4d.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x556e4d.8203
movzx eax, byte [eax + 0x55d1c4]
jmp dword [eax*4 + 0x55d1bc]
cmp ebp, 0xf
jmp 0x556dff
nop dword [eax]
cmp edi, ebx
jae 0x5572e9
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov edi, 1
cmp esi, dword [edx + 0x64]
jae 0x5572ad
cmp dword [esp + 0x18], 0
movzx edx, word [esi]
je 0x556ebd
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x556ebd
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x556f19
nop word [eax + eax]
cmp eax, 3
je 0x556f19
cmp edx, 0x5f
je 0x556f19
xor eax, eax
jmp 0x556f1e
mov eax, 1
nop
cmp eax, ebx
je 0x5572e9
mov eax, dword ds:[esp + 0x14]
lea esi, [esi + edi*2]
mov edx, dword [esp + 0x74]
inc ebp
mov dword [eax + 0x38], esi
cmp ebp, dword [eax + 0x24]
jb 0x556e70
jmp 0x5572e9
cmp edi, ebx
jae 0x5572e9
mov ebx, dword [esp + 0x14]
nop word [eax + eax]
mov edi, 1
cmp esi, dword [edx + 0x64]
jae 0x5572ad
cmp dword [esp + 0x18], 0
movzx ecx, word [esi]
je 0x556fad
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x556fad
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, dword ds:[ebx + 0x2c]
mov edx, dword [eax*4 + 0x5db910]
lea eax, [eax*4 + 0x5db910]
cmp ecx, edx
jb 0x556fe4
nop dword [eax + eax]
lea eax, [eax + 4]
cmp ecx, edx
je 0x557011
mov edx, dword ds:[eax]
cmp ecx, edx
jae 0x556fd0
cmp ebp, 0xf
jne 0x5572e9
mov edx, dword [esp + 0x74]
lea eax, [edi + edi]
add dword [ebx + 0x38], eax
mov eax, dword [esp + 0x30]
mov esi, dword [ebx + 0x38]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [ebx + 0x24]
jb 0x556f60
jmp 0x5572e9
cmp ebp, 0xf
je 0x5572e9
jmp 0x556fed
nop dword [eax]
cmp edi, ebx
jae 0x5572e9
mov ebx, dword [esp + 0x20]
nop dword [eax]
mov eax, dword ds:[esp + 0x74]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x5568a5
cmp dword [esp + 0x18], 0
movzx ecx, word [esi]
je 0x55708a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55708a
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x24
je 0x5570df
cmp ecx, 0x40
je 0x5570df
nop dword [eax]
cmp ecx, 0x60
je 0x5570df
cmp ecx, 0xa0
jb 0x5570cc
nop word [eax + eax]
cmp ecx, 0xd7ff
jbe 0x5570df
cmp ecx, 0xe000
jae 0x5570df
xor eax, eax
jmp 0x5570e4
mov eax, 1
cmp eax, ebx
je 0x5572e9
mov eax, dword ds:[esp + 0x14]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, dword [eax + 0x24]
jb 0x557030
jmp 0x5572e9
cmp edi, ebx
jae 0x5572e9
mov ebp, dword [esp + 0x14]
nop word [eax + eax]
mov eax, dword [esp + 0x74]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x5568a5
cmp dword ds:[esp + 0x18], 0
movzx ecx, word [esi]
je 0x557177
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x557177
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x5dc368]
shr eax, 0xb
cmp eax, dword [ebp + 0x2c]
sete cl
cmp ecx, dword [esp + 0x20]
je 0x5572e9
inc edi
lea esi, [esi + edx*2]
mov dword [ebp + 0x38], esi
cmp edi, ebx
jb 0x557120
jmp 0x5572e9
cmp edi, ebx
jae 0x5572e9
mov ebp, dword [esp + 0x14]
nop dword [eax]
mov edi, 1
cmp esi, dword [edx + 0x64]
jae 0x5572ad
cmp dword [esp + 0x18], 0
movzx edx, word [esi]
je 0x55722d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55722d
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
mov ecx, dword ss:[ebp + 0x2c]
mov eax, edx
shr eax, 7
and edx, 0x7f
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x5dc36a]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x5dbdd0]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [esp + 0x20]
je 0x5572e9
mov eax, dword ds:[esp + 0x30]
lea esi, [esi + edi*2]
mov edx, dword [esp + 0x74]
inc eax
mov dword [ebp + 0x38], esi
mov dword [esp + 0x30], eax
cmp eax, ebx
jb 0x5571e0
jmp 0x5572e9
mov ebx, dword ds:[esp + 0x74]
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x5572e9
cmp esi, dword [ebx + 0x6c]
ja 0x5572dc
cmp dword [ebx + 0x34], 0
je 0x5572e9
mov dword [ebx + 0x2c], edi
nop
cmp ecx, 1
ja 0x55125f
cmp dword [esp + 0x1c], 2
mov ebp, dword [esp + 0x18]
je 0x550f81
mov ebp, dword ds:[esp + 0x14]
jmp 0x55c115
cmp ebp, 0x16
jne 0x557445
mov esi, dword [esp + 0x74]
cmp edi, ebx
jae 0x55742c
mov ebx, dword ds:[esp + 0x18]
jmp 0x557329
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x5573f8
movzx ecx, word [edx]
add edx, 2
mov ebp, dword [esp + 0x14]
mov esi, edx
mov dword [eax + 0x38], edx
test ebx, ebx
je 0x55737d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55737d
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
mov dword [ebp + 0x38], esi
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov eax, dword [esp + 0x74]
mov edx, esi
push 0
push ebx
push dword [eax + 0x64]
push dword [eax + 0x5c]
call fcn.0057fe00
mov esi, dword ds:[esp + 0x74]
mov dword [ebp + 0x38], eax
cmp eax, dword [esi + 0x64]
jb 0x5573e9
movzx ecx, word [esi + 0x4c]
mov edx, ecx
test cx, cx
je 0x5573e9
nop dword [eax + eax]
cmp eax, dword [esi + 0x6c]
ja 0x5573d3
cmp dword [esi + 0x34], 0
je 0x5573e9
mov dword ds:[esi + 0x2c], 1
cmp edx, 1
ja 0x55125f
inc edi
cmp edi, dword [ebp + 0x24]
jb 0x557325
jmp 0x557430
movzx eax, word ds:[esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x55742c
cmp edx, dword [esi + 0x6c]
ja 0x55741c
cmp dword [esi + 0x34], 0
je 0x55742c
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov ebp, dword [esp + 0x14]
cmp dword [esp + 0x1c], 2
je 0x550eb5
nop dword [eax + eax]
jmp 0x55c05a
lea eax, [ebp - 6]
cmp eax, 0xf
ja case.0x55a015.15
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x557d3c
nop dword [eax]
jmp dword [eax*4 + 0x55d224]
nop dword [eax]
jmp dword [eax*4 + 0x55d2dc]
mov ebp, dword [esp + 0x14]
xor eax, eax
cmp bl, 0x74
mov ebx, dword [esp + 0x74]
sete al
mov dword [ebp + 0x28], eax
movzx eax, word [ebx + 0x52]
movzx ecx, word [edi + 2]
movzx edx, word [edi + 4]
imul ecx, eax
mov eax, dword [ebx + 0x54]
lea ecx, [eax + ecx*2]
lea eax, [edi + 6]
mov dword [ebp], eax
test edx, edx
je 0x5586ec
nop dword [eax + eax]
movzx eax, word ds:[ecx]
dec edx
lea eax, [eax*2 - 2]
mov dword [ebp + 0x14], eax
cmp eax, dword [ebp + 0x50]
jae 0x5586b4
cmp dword [ebp + eax*4 + 0x54], 0xffffffff
jne 0x5586ec
movzx eax, word [ebx + 0x52]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x558690
nop
jmp 0x5586ec
mov ebp, dword [esp + 0x14]
xor eax, eax
cmp bl, 0x72
mov ebx, dword [esp + 0x74]
sete al
mov dword [ebp + 0x28], eax
movzx eax, word [edi + 2]
lea eax, [eax*2 - 2]
mov dword [ebp + 0x14], eax
lea eax, [edi + 4]
mov dword [ebp], eax
mov esi, dword [ebp]
movzx ecx, word [esi]
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x558705
movzx eax, byte [eax + 0x55d414]
jmp dword [eax*4 + 0x55d40c]
mov edx, dword [ecx*4 + 0x5daefc]
lea eax, [esi + 2]
mov edi, dword [ecx*4 + 0x5daea0]
mov dword [ebp], eax
mov eax, dword [ecx*4 + 0x5daed0]
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x24], eax
mov dword [esp + 0x1c], edi
jmp 0x558767
movzx edx, word [esi + 2]
mov dword [ebp + 0x20], edx
movzx ecx, word [esi + 4]
mov dword [ebp + 0x24], ecx
movzx eax, word [esi]
mov edi, dword [eax*4 + 0x5daea0]
mov dword [esp + 0x1c], edi
test ecx, ecx
jne 0x558761
mov dword [ebp + 0x24], 0xffffffff
lea eax, [esi + 6]
mov dword [ebp], eax
mov eax, dword [ebp + 0x14]
cmp eax, dword [ebp + 0x50]
jae 0x558798
mov ecx, dword ss:[ebp + eax*4 + 0x54]
cmp ecx, 0xffffffff
je 0x558798
cmp ecx, dword [ebp + eax*4 + 0x58]
je 0x550eb1
jmp 0x5587b8
nop dword [eax + eax]
test edx, edx
je 0x550eb1
test dword [ebx + 0x8c], 0x200
jne 0x550eb1
mov esi, 1
cmp edx, esi
jb 0x5587fe
nop dword [eax + eax]
mov edx, dword ss:[ebp + 0x28]
lea eax, [esp + 0x50]
mov ecx, dword [ebp + 0x14]
push eax
push ebx
push ebp
call fcn.00550aa0
test eax, eax
jne 0x558876
mov eax, dword [esp + 0x50]
inc esi
add eax, eax
add dword [ebp + 0x38], eax
mov edx, dword [ebp + 0x20]
cmp esi, edx
jbe 0x5587d0
mov ebx, dword [ebp + 0x24]
mov esi, dword [esp + 0x74]
cmp edx, ebx
je 0x550eb5
test edi, edi
je 0x55c287
mov eax, dword [ebp + 0x38]
mov esi, 1
mov dword [ebp + 4], eax
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + ecx*4 + 0x58]
sub eax, dword [ebp + ecx*4 + 0x54]
mov dword [ebp + 0xc], eax
mov edi, dword [ebp + 0x20]
cmp edi, ebx
mov ebx, dword [esp + 0x74]
jae 0x559b09
nop dword [eax]
mov edx, dword [ebp + 0x28]
lea eax, [esp + 0x54]
mov ecx, dword [ebp + 0x14]
push eax
push ebx
push ebp
call fcn.00550aa0
test eax, eax
jne 0x5588d0
mov eax, dword [esp + 0x54]
xor ecx, ecx
cmp eax, dword [ebp + 0xc]
cmovne esi, ecx
add eax, eax
add dword [ebp + 0x38], eax
inc edi
cmp edi, dword [ebp + 0x24]
jb 0x558840
jmp 0x558909
jle 0x558882
mov eax, dword [ebx + 0x64]
mov dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x38]
cmp ecx, dword [ebx + 0x64]
jb case.0x553929.10
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x553929.10
nop dword [eax]
cmp ecx, dword [ebx + 0x6c]
ja 0x5588b3
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
jle 0x558909
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x558909
mov eax, dword [ebx + 0x64]
cmp eax, dword [ebx + 0x6c]
jbe 0x558909
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
test esi, esi
jne 0x559b09
mov dword ss:[ebp + 0x24], edi
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0x16
jmp 0x55c82f
mov edx, dword [ebp + 0x28]
lea eax, [esp + 0x34]
mov ecx, dword [ebp + 0x14]
push eax
push ebx
push ebp
call fcn.00550aa0
test eax, eax
je 0x558993
nop
jle 0x55894c
mov eax, dword [ebx + 0x64]
mov dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x38]
cmp ecx, dword [ebx + 0x64]
jb case.0x553929.10
movzx eax, word ds:[ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x553929.10
cmp ecx, dword [ebx + 0x6c]
ja 0x55897c
cmp dword [ebx + 0x34], 0
je case.0x553929.10
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov eax, dword ds:[esp + 0x34]
add eax, eax
add dword [ebp + 0x38], eax
jmp 0x550eb1
mov ecx, dword [esp + 0x14]
add edi, 2
mov dword [ecx], edi
nop
movzx eax, word ds:[edi + 2]
lea eax, [edi + eax*2]
mov edi, eax
mov dword [ecx], eax
cmp word [edi], 0x78
je 0x5589b0
add eax, 4
mov dword [ecx], eax
jmp 0x550ec0
cmp dword [esi + 0x30], 0
mov ebp, dword [esp + 0x14]
jne 0x5589e6
cmp dword ss:[ebp + 0x18], 0
jne 0x55bd6f
xor ecx, ecx
jmp 0x55c611
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x34]
push eax
mov edx, esi
mov ecx, ebx
call fcn.005509a0
mov esi, eax
test esi, esi
jg case.0x550ee5.162
js 0x559516
mov eax, dword ds:[esp + 0x34]
mov esi, dword [esp + 0x74]
add eax, eax
add dword [ebx], eax
jmp 0x550ec0
movzx eax, word [edi + 2]
mov ebp, dword [esp + 0x14]
mov dword [ebp + 0xc], eax
cmp word [edi + eax*2], 0x78
je 0x558a41
add eax, 0xfffffffe
mov dword [ebp + 0xc], eax
add edi, 4
mov dword [ebp], edi
movzx eax, word [edi]
cmp eax, 0x76
je 0x558a5c
cmp eax, 0x77
jne 0x558a9e
mov ebx, dword [esp + 0x74]
lea eax, [esp + 0x34]
push eax
mov edx, ebx
mov ecx, ebp
call fcn.005509a0
mov esi, eax
test esi, esi
jle 0x558a7f
xor esi, esi
jmp 0x55951a
nop
js 0x55951a
mov eax, dword [esp + 0x34]
add eax, eax
add dword [ebp], eax
mov edi, dword [ebp]
mov eax, dword [esp + 0x34]
sub dword [ebp + 0xc], eax
jmp 0x558aa2
mov ebx, dword [esp + 0x74]
movzx ecx, word [edi]
lea eax, [ecx - 0x90]
cmp eax, 0x12
ja case.0x558ac0.150
movzx eax, byte [eax + 0x55d438]
nop dword [eax + eax]
jmp dword [eax*4 + 0x55d41c]
mov ecx, dword [ebp + 0x44]
cmp ecx, 0xffffffff
je case.0x558ac0.148
movzx eax, word ds:[edi + 2]
cmp eax, 0xffff
je case.0x558ac0.149
cmp eax, ecx
je case.0x558ac0.149
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp]
lea edi, [ecx + eax*2]
mov dword [ebp], edi
cmp byte [ebp + 0x31], 0x8f
jne 0x550eb1
mov eax, 0x2008f
mov byte [ebp + 0x30], 0x23
mov dword [esp + 0x28], eax
jmp 0x55c82f
mov ebx, dword ss:[ebp + 0x44]
cmp ebx, 0xffffffff
je case.0x558ac0.148
mov eax, dword ds:[esp + 0x74]
movzx ecx, word [edi + 2]
movzx edx, word [edi + 4]
movzx esi, word [eax + 0x52]
mov eax, dword [eax + 0x54]
imul ecx, esi
lea ecx, [eax + ecx*2]
test edx, edx
je case.0x558ac0.148
movzx eax, word [ecx]
dec edx
cmp eax, ebx
je 0x558b78
lea ecx, [ecx + esi*2]
test edx, edx
jg 0x558b44
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ebp
jmp case.0x558ac0.148
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
movzx eax, word [ecx]
mov dword [esp + 0x14], ebp
movzx eax, byte [eax + 0x5f7690]
jmp 0x558af9
movzx eax, word [edi + 2]
lea eax, [eax*2 - 2]
cmp eax, dword [ebp + 0x50]
jae case.0x558ac0.148
cmp dword ss:[ebp + eax*4 + 0x54], 0xffffffff
je case.0x558ac0.148
mov ecx, dword [ebp]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x5f7690]
jmp 0x558af9
movzx esi, word [ebx + 0x52]
movzx ecx, word [edi + 2]
mov eax, dword [ebx + 0x54]
movzx edx, word [edi + 4]
imul ecx, esi
lea ecx, [eax + ecx*2]
test edx, edx
je case.0x558ac0.148
mov edi, dword [ebp + 0x50]
nop dword [eax + eax]
movzx eax, word [ecx]
dec edx
lea eax, [eax*2 - 2]
cmp eax, edi
jae 0x558c1e
cmp dword [ebp + eax*4 + 0x54], 0xffffffff
jne case.0x558ac0.149
lea ecx, [ecx + esi*2]
test edx, edx
jg 0x558c00
jmp case.0x558ac0.148
movzx edx, word [edi + 2]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
test edi, edi
je 0x558c85
nop
test edx, edx
je 0x558cae
mov ebp, 0xfc00
nop dword [eax]
mov ecx, dword [ebx + 0x38]
dec edx
cmp ecx, dword [esi + 0x60]
jbe 0x558c97
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov ax, word [ecx]
and ax, bp
cmp ax, word [esp + 0x3c]
jne 0x558c7a
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
test edx, edx
jne 0x558c50
nop
jmp 0x558cae
mov ecx, dword [ebx + 0x38]
mov eax, ecx
sub eax, dword [esi + 0x5c]
sar eax, 1
cmp edx, eax
jle 0x558ca6
mov eax, dword [esp + 0x14]
xor esi, esi
mov ebx, dword [esp + 0x74]
jmp 0x559522
lea eax, [edx + edx]
sub ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [esi + 0x6c]
jae 0x558cbd
mov dword [esi + 0x6c], eax
add dword [ebx], 4
mov ebp, edi
jmp 0x550ec0
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x14]
mov dword [eax], edi
cmp word [edi], 0x78
je case.0x550ee5.120
jmp 0x550ec0
movzx eax, word ds:[edi + 2]
mov ecx, 0x86
add eax, eax
sub edi, eax
movzx eax, word [edi]
cmp ax, cx
je 0x558d7f
mov ecx, 0x8a
cmp ax, cx
je 0x558d7f
mov ebx, dword ds:[esp + 0x74]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x70]
mov ecx, dword [ebx + 0x10]
add ecx, dword [ebp + 0x4c]
mov esi, ecx
mov dword [esp + 0x24], ecx
sub esi, edx
mov eax, dword [esi + 0x4c]
mov dword [ebp + 0x4c], eax
mov eax, dword [ecx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x558d91
mov eax, dword [ebp + 0x50]
shl eax, 2
push eax
lea eax, [ebp + 0x54]
push eax
lea eax, [esi + 0x54]
push eax
call fcn.00586310
mov eax, dword [ebp + 0x50]
add esp, 0xc
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 0x40]
mov dword [esi + 0x40], eax
mov eax, ebp
sub eax, esi
mov dword [ebp + 0x10], eax
mov esi, 1
jmp 0x55951a
mov ebp, dword [esp + 0x14]
xor esi, esi
mov ebx, dword [esp + 0x74]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x70]
movzx eax, word ds:[edi]
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x558db0.134
movzx eax, byte [eax + 0x55d468]
jmp dword [eax*4 + 0x55d44c]
mov eax, dword ss:[ebp + 0x38]
cmp eax, dword [ebx + 0x70]
jbe 0x558dcc
mov dword [ebx + 0x70], eax
mov eax, dword [esi + 0x38]
mov dword [ebp + 0x38], eax
jmp case.0x558db0.134
mov eax, dword ss:[ebp + 0x38]
cmp eax, dword [ebx + 0x70]
jbe 0x558dec
mov dword [ebx + 0x70], eax
mov eax, dword [esi + 0x38]
mov dword [ebp + 0x38], eax
mov eax, ebp
sub eax, esi
mov dword [ebp + 0x10], eax
mov ecx, dword [esi]
movzx eax, word [ecx + 2]
add eax, eax
cmp word [eax + ecx], 0x78
jne case.0x558db0.134
nop dword [eax]
add eax, ecx
mov ecx, eax
mov dword [esi], eax
movzx eax, word [eax + 2]
add eax, eax
cmp word [ecx + eax], 0x78
je 0x558e10
jmp case.0x558db0.134
push dword [esp + 0x18]
mov edx, dword [ebp + 0x38]
mov ecx, dword [esi + 0x38]
call fcn.0057f9a0
test eax, eax
jne case.0x558db0.134
xor esi, esi
jmp 0x55951a
movzx eax, word [edi + 4]
cmp dword [ebp + 0x44], eax
jne 0x558e8a
mov esi, ecx
sub esi, edx
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.00586310
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebp + 0x50], eax
mov eax, dword [esi + 0x48]
mov dword [ebp + 0x48], eax
mov eax, dword [esi + 0x44]
mov dword [ebp + 0x44], eax
mov eax, dword [esi]
add eax, 4
jmp 0x550eae
mov dword [ebp + 0x48], eax
lea edx, [eax + eax]
mov eax, dword [esi + 0x38]
lea ecx, [edx - 2]
sub eax, dword [ebx + 0x5c]
sar eax, 1
mov dword [ebp + ecx*4 + 0x54], eax
mov eax, dword [ebp + 0x38]
sub eax, dword [ebx + 0x5c]
sar eax, 1
mov dword [ebp + ecx*4 + 0x58], eax
cmp ecx, dword [ebp + 0x50]
jb case.0x558db0.134
mov dword [ebp + 0x50], edx
mov edx, dword ss:[ebp]
cmp word [edx], 0x7c
jne 0x558ee5
push dword [esp + 0x48]
lea eax, [ebp + 0x38]
push eax
lea eax, [esi + 0x38]
push eax
call fcn.00586310
add esp, 0xc
mov esi, 0xfffffc1a
jmp 0x55951a
mov cl, byte [ebp + 0x31]
cmp cl, 0x79
je 0x558f09
test esi, esi
je 0x55c245
mov eax, dword ss:[ebp + 0x38]
cmp eax, dword [esi + 0x38]
jne 0x55c245
add dword [ebp], 4
jmp 0x550eb1
mov ecx, dword ds:[esp + 0x14]
mov ebx, dword [esp + 0x74]
mov eax, dword [ecx + 0x38]
cmp eax, dword [ebx + 0x5c]
jne case.0x553929.10
test byte [ebx + 0x88], 1
jne case.0x553929.10
lea eax, ds:[edi + 2]
mov esi, ebx
mov dword [ecx], eax
jmp 0x550ec0
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x74]
mov eax, dword [ecx + 0x38]
cmp eax, dword [ebx + 0x5c]
je 0x558f36
xor esi, esi
jmp 0x55951a
mov ebx, dword [esp + 0x74]
test byte [ebx + 0x88], 2
je 0x558f74
xor esi, esi
jmp 0x55951a
test byte ds:[ebx + 0x8c], 0x10
jne 0x558fd1
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ecx, dword [ebx + 0x38]
mov esi, dword [eax + 0x64]
cmp ecx, esi
jae 0x5590e5
mov edx, dword [eax + 0x98]
lea edi, [eax + 0x9c]
test edx, edx
je 0x55901b
push ebp
push edi
push esi
call fcn.0057f0a0
mov esi, dword ds:[esp + 0x74]
test eax, eax
je 0x55907d
jmp 0x559060
mov ebx, dword [esp + 0x74]
mov edx, dword ds:[esp + 0x14]
mov eax, dword [edx + 0x38]
cmp eax, dword [ebx + 0x64]
jae 0x558ff0
xor esi, esi
jmp 0x55951a
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je 0x55900f
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
add dword [edx], 2
mov esi, dword [esp + 0x74]
jmp 0x550ec0
mov edx, dword [edi]
lea eax, [edx + edx]
sub esi, eax
cmp ecx, esi
mov esi, dword [esp + 0x74]
ja 0x559077
mov ax, word [ecx]
cmp ax, word [esi + 0xa0]
jne 0x559077
nop
cmp edx, 1
je 0x559060
mov ax, word [ecx + 2]
cmp ax, word [esi + 0xa2]
jne 0x559077
lea edi, [esi + 0x9c]
mov ecx, dword [edi]
mov eax, dword [esi + 0x64]
add ecx, ecx
sub eax, ecx
cmp dword [ebx + 0x38], eax
je 0x5590e7
jmp 0x55907d
lea edi, [esi + 0x9c]
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je 0x55185c
mov ecx, dword [ebx + 0x38]
mov ebx, dword [esp + 0x74]
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x64]
jb 0x551860
cmp dword [ebx + 0x98], 0
jne 0x551860
cmp dword [edi], 2
jne 0x551860
mov ax, word ds:[ecx]
cmp ax, word [ebx + 0xa0]
jne 0x551860
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov esi, eax
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x559109
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x55125f
add dword [ebx], 2
jmp 0x550ec0
test byte ds:[esi + 0x88], 1
mov ebx, dword [esp + 0x14]
je 0x559132
mov eax, dword [ebx + 0x38]
cmp eax, dword [esi + 0x5c]
je case.0x550ee5.162
mov ecx, dword ds:[ebx + 0x38]
mov esi, dword [esi + 0x5c]
cmp ecx, esi
je 0x5591a8
mov eax, dword [esp + 0x74]
cmp ecx, dword [eax + 0x64]
jne 0x559166
test dword ds:[eax + 0x8c], 0x200000
je case.0x550ee5.162
mov edx, dword [eax + 0x98]
test edx, edx
je 0x5591b4
cmp ecx, esi
jbe 0x55919b
push ebp
add eax, 0x9c
push eax
push esi
call fcn.0057f180
test eax, eax
je 0x55919b
mov eax, 1
jmp 0x55919d
xor eax, eax
nop dword [eax]
test eax, eax
je case.0x550ee5.162
mov esi, dword [esp + 0x74]
add dword [ebx], 2
jmp 0x550ec0
mov edi, dword [eax + 0x9c]
lea edx, [edi + edi]
lea eax, [esi + edx]
cmp ecx, eax
jb case.0x550ee5.162
mov esi, dword [esp + 0x74]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esi + 0xa0]
jne case.0x550ee5.162
nop
cmp edi, 1
je 0x5591ac
mov ax, word [ecx + 2]
cmp ax, word [esi + 0xa2]
je 0x5591ac
jmp case.0x550ee5.162
mov ebx, dword [esp + 0x14]
mov esi, dword [esi + 0x64]
mov ecx, dword [ebx + 0x38]
cmp ecx, esi
jae 0x559317
mov eax, dword [esp + 0x74]
mov edx, dword [eax + 0x98]
test edx, edx
je 0x55923d
mov edi, dword [esp + 0x18]
add eax, 0x9c
push edi
push eax
push esi
call fcn.0057f0a0
mov esi, dword [esp + 0x74]
test eax, eax
jne 0x559369
jmp 0x559291
mov edx, dword [eax + 0x9c]
lea eax, [edx + edx]
sub esi, eax
cmp ecx, esi
mov esi, dword [esp + 0x74]
ja 0x55928d
mov ax, word ds:[ecx]
cmp ax, word [esi + 0xa0]
jne 0x55928d
cmp edx, 1
je 0x559369
mov ax, word ds:[ecx + 2]
cmp ax, word [esi + 0xa2]
je 0x559369
mov edi, dword [esp + 0x18]
movzx eax, word ds:[esi + 0x4c]
mov edx, eax
test ax, ax
je 0x559308
mov ecx, dword [ebx + 0x38]
mov ebx, dword [esp + 0x74]
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x64]
jb 0x55930c
cmp dword [ebx + 0x98], 0
jne 0x55930c
cmp dword [ebx + 0x9c], 2
jne 0x55930c
mov ax, word ds:[ecx]
cmp ax, word [ebx + 0xa0]
jne 0x55930c
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
mov esi, dword [esp + 0x74]
test byte [esi + 0x88], 2
jne case.0x550ee5.162
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je 0x559369
nop word [eax + eax]
cmp ecx, dword [esi + 0x6c]
ja 0x559353
cmp dword [esi + 0x34], 0
je 0x559369
mov dword ds:[esi + 0x2c], 1
cmp edx, 1
ja 0x55125f
add dword [ebx], 2
jmp 0x550eb5
mov ebx, dword [esp + 0x74]
mov ecx, dword [ebx + 0x44]
mov eax, dword [ebx + 0x5c]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x38], eax
je 0x558f36
xor esi, esi
jmp 0x55951a
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
lea eax, [edi + 2]
mov dword [ecx], eax
jmp 0x550ec0
mov ebx, dword [esp + 0x14]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x60]
je 0x5594a9
movzx eax, word ds:[edx - 2]
add edx, 0xfffffffe
mov ecx, eax
test ebp, ebp
je 0x55940e
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x5593df
movzx ecx, word [edx - 2]
sub edx, 2
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55940e
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp edx, dword [esi + 0x6c]
jae 0x55941a
mov dword [esi + 0x6c], edx
test dword [esi + 0x8c], 0x20000
je 0x559486
cmp ecx, 0x5f
jne 0x55943b
lea edi, [ecx - 0x5e]
jmp 0x5594ab
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x55947c
cmp eax, 3
jne 0x5594a9
mov edi, 1
jmp 0x5594ab
cmp ecx, 0xff
ja 0x5594a9
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
je 0x5594a9
mov edi, 1
jmp 0x5594ab
xor edi, edi
mov ecx, dword [ebx + 0x38]
mov eax, dword [esi + 0x64]
cmp ecx, eax
jb 0x559579
movzx eax, word ds:[esi + 0x4c]
mov edx, eax
test ax, ax
je 0x5594ec
cmp ecx, dword [esi + 0x6c]
ja 0x5594dc
cmp dword [esi + 0x34], 0
je 0x5594ec
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x55125f
xor edx, edx
mov eax, dword ds:[ebx]
xor edx, edi
movzx ecx, word [eax]
add eax, 2
mov dword [ebx], eax
cmp ecx, 5
jne 0x55950c
xor edx, 1
test edx, edx
je 0x550ec0
xor esi, esi
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [ebx + 0x70]
jbe 0x559531
mov dword [ebx + 0x70], eax
mov ebp, dword [esp + 0x14]
cmp dword [ebp + 0x18], 0
je 0x55ca12
sub ebp, dword ss:[ebp + 0x10]
mov eax, dword [ebx + 0xa8]
mov dword [esp + 0x14], ebp
or dword [eax + 0x3c], 2
movzx eax, byte [ebp + 0x30]
dec eax
cmp eax, 0xe0
ja case.0x55a015.15
movzx eax, byte [eax + 0x55d574]
jmp dword [eax*4 + 0x55d47c]
lea esi, ds:[ecx + 2]
mov edx, esi
test ebp, ebp
je 0x5595e9
cmp edx, eax
jae 0x5595ae
mov ax, word ds:[edx]
and ax, word [esp + 0x40]
cmp ax, word [esp + 0x3c]
jne 0x5595ae
add edx, 2
movzx ecx, word ds:[ecx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x5595ec
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x5595ec
movzx ecx, word [ecx]
mov esi, dword [esp + 0x74]
cmp edx, dword [esi + 0x70]
jbe 0x5595fc
mov dword [esi + 0x70], edx
test dword [esi + 0x8c], 0x20000
je 0x559668
cmp ecx, 0x5f
jne 0x55961d
lea edx, [ecx - 0x5e]
jmp 0x5594ee
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x55965e
cmp eax, 3
jne 0x5594ec
mov edx, 1
jmp 0x5594ee
cmp ecx, 0xff
ja 0x5594ec
mov eax, dword ds:[esi + 0x40]
test byte [ecx + eax], 0x10
je 0x5594ec
mov edx, 1
jmp 0x5594ee
test esi, esi
je 0x55bd65
mov eax, dword ds:[esp + 0x14]
jmp 0x559522
cmp esi, 0xfffffc1f
jne 0x5596dc
mov ecx, dword ss:[ebp]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [ebx + 0x7c], eax
jae case.0x55976a.998
cmp word [ecx], 0x78
je 0x5596e6
cmp word [eax], 0x78
jmp 0x5596de
test esi, esi
nop
jne case.0x55976a.998
mov ecx, dword [ebp]
movzx eax, word [ecx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp], edi
cmp word [edi], 0x78
je 0x55c614
xor esi, esi
jmp 0x55951a
cmp esi, 0xfffffc19
je 0x55bd9d
test esi, esi
je 0x55972c
nop dword [eax]
cmp esi, 0xfffffc1f
jne case.0x55976a.998
mov ecx, dword ss:[ebp]
movzx eax, word [ecx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp], edi
cmp word [edi], 0x78
je 0x55c6e3
xor esi, esi
jmp 0x55951a
test esi, esi
jg 0x559771
je case.0x55976a.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x55976a.998
jmp dword [eax*4 + 0x55d658]
mov eax, esi
sub eax, 1
mov eax, dword [esp + 0x14]
jne 0x559522
xor esi, esi
jmp 0x559522
test esi, esi
jg 0x5597b1
je case.0x5597aa.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x55976a.998
jmp dword [eax*4 + 0x55d674]
mov eax, esi
sub eax, 1
jne 0x553597
mov eax, dword [ebp + 0x20]
nop
test eax, eax
je case.0x558ac0.148
mov ecx, dword [ebp]
nop dword [eax + eax]
movzx eax, word ds:[ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp], ecx
cmp word [ecx], 0x78
je 0x5597d0
mov ecx, dword [ebp]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x5f7690]
jmp 0x558af9
test esi, esi
je 0x55be78
mov eax, dword [esp + 0x14]
jmp 0x559522
test esi, esi
je 0x558f09
mov eax, dword [esp + 0x14]
jmp 0x559522
nop word [eax + eax]
cmp esi, 0xfffffc1a
jne 0x559857
mov dword [ebp + 0x24], 1
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jne 0x55c273
mov ecx, dword [ebp]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp], ecx
cmp word [ecx], 0x78
je 0x559842
jmp 0x5598b1
nop word [eax + eax]
cmp esi, 0xfffffc1f
jne 0x559892
mov ecx, dword [ebp]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [ebx + 0x7c], eax
jae case.0x55976a.998
cmp word [ecx], 0x78
je 0x55989a
cmp word [eax], 0x78
jmp 0x559894
test esi, esi
jne case.0x55976a.998
mov ecx, dword [ebp]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp], ecx
cmp word [ecx], 0x78
je 0x55c5d2
cmp dword [ebp + 0x24], 0
jne 0x550eab
cmp dword ss:[ebp + 0x28], 0
jne 0x550eab
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
test esi, esi
je 0x55be8b
mov eax, dword ds:[esp + 0x14]
jmp 0x559522
test esi, esi
je 0x55bea7
mov eax, dword [esp + 0x14]
jmp 0x559522
mov edx, dword [ebp + 4]
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
lea eax, [esi + 0x3e5]
cmp eax, 4
ja 0x559968
mov eax, dword ss:[ebp + 0x20]
xor eax, 0x40000
cmp dword [ebx + 0x84], eax
jne 0x559968
cmp esi, 0xfffffc1f
jne case.0x55976a.999
nop dword [eax + eax]
cmp dword [ebx + 0x7c], ecx
jae case.0x55976a.999
cmp word [edx], 0x78
je 0x559970
cmp word [ecx], 0x78
je 0x559970
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov dword [ebp + 4], ecx
cmp word [ecx], 0x78
je 0x55c6b6
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp esi, 0xfffffc1e
jne case.0x55976a.998
mov ecx, dword [ebp]
mov edx, dword [ebx + 0x80]
add ecx, 4
call fcn.00580000
test eax, eax
jne case.0x55976a.998
mov eax, dword ss:[ebp + 0x38]
mov esi, 0xfffffc1d
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x14]
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov eax, dword ss:[ebp + 0x44]
mov esi, 0xfffffc1c
mov dword [ebx + 0x84], eax
mov eax, dword [esp + 0x14]
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov eax, dword [ebp + 0x38]
mov esi, 0xfffffc1d
mov dword [ebx + 0x80], eax
mov eax, dword [ebp + 0x44]
mov dword [ebx + 0x84], eax
mov eax, dword [esp + 0x14]
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov eax, dword [ebp]
mov esi, 0xfffffc1e
add eax, 4
mov dword [ebx + 0x80], eax
mov eax, dword [ebp + 0x44]
mov dword [ebx + 0x84], eax
mov eax, dword [esp + 0x14]
jmp 0x559522
nop dword [eax + eax]
test esi, esi
jne case.0x55976a.998
mov eax, dword [ebp]
mov esi, 0xfffffc1f
mov dword [ebx + 0x7c], eax
mov eax, dword [ebp + 0x44]
mov dword [ebx + 0x84], eax
mov eax, dword [esp + 0x14]
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jb 0x559a85
mov eax, dword ds:[esp + 0x14]
jmp 0x559522
mov edx, dword [ebp + 0x28]
lea eax, [esp + 0x58]
mov ecx, dword [ebp + 0x14]
push eax
push ebx
push ebp
call fcn.00550aa0
test eax, eax
je 0x55c27e
nop
jle 0x559aac
mov eax, dword [ebx + 0x64]
mov dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x38]
cmp ecx, dword [ebx + 0x64]
jb case.0x55976a.999
movzx eax, word ds:[ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x55976a.999
cmp ecx, dword [ebx + 0x6c]
ja 0x559adc
cmp dword [ebx + 0x34], 0
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov eax, dword [ebp + 0xc]
neg eax
add eax, eax
add dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jb case.0x553929.10
mov edi, dword ss:[ebp]
mov byte [ebp + 0x30], 0x15
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov eax, dword [ebp + 4]
cmp dword [ebp + 0x38], eax
jne 0x55c293
jmp 0x55951a
nop
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword ss:[ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x559bb4
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
nop dword [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x559b92
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[edx]
lea eax, [edx + 2]
mov dword [ebp + 0x38], eax
cmp ecx, 0xff
jbe 0x559be5
cmp byte [ebp + 0x31], 0x6e
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0x17
jmp 0x55c82f
mov edx, dword [ebp + 8]
mov esi, ecx
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x559bd6
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
test esi, esi
jne case.0x55976a.998
add dword [ebp + 0x38], 0xfffffffe
jmp 0x552c39
nop dword [eax + eax]
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov ecx, dword ss:[ebp + 0x38]
cmp ecx, dword [ebx + 0x64]
jb 0x559c94
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x55976a.999
nop dword [eax + eax]
cmp ecx, dword [ebx + 0x6c]
ja 0x559c72
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx eax, word ds:[ecx]
cmp dword [ebp + 0x28], eax
je 0x559cb2
cmp dword [ebp + 0x2c], eax
jne case.0x55976a.999
lea eax, [ecx + 2]
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0x19
jmp 0x55c82f
add dword [ebp + 0x38], 0xfffffffe
test esi, esi
je 0x551fc9
mov eax, dword [esp + 0x14]
jmp 0x559522
nop dword [eax]
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov esi, dword ss:[ebp + 0x38]
cmp esi, dword [ebx + 0x64]
jb 0x559d54
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
nop dword [eax + eax]
cmp esi, dword [ebx + 0x6c]
ja 0x559d33
cmp dword [ebx + 0x34], 0
je case.0x55976a.999
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[esi]
lea eax, [esi + 2]
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], ecx
jne case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0x1b
jmp 0x55c833
add dword ss:[ebp + 0x38], 0xfffffffe
test esi, esi
je 0x55210c
mov eax, dword [esp + 0x14]
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov ecx, dword [ebp + 0x38]
cmp ecx, dword [ebx + 0x64]
jb 0x559df6
movzx eax, word ds:[ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x55976a.999
cmp ecx, dword [ebx + 0x6c]
ja 0x559ddb
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx eax, word ds:[ecx]
cmp dword [ebp + 0x28], eax
je case.0x55976a.999
cmp dword [ebp + 0x2c], eax
je case.0x55976a.999
lea eax, [ecx + 2]
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x55c82f
test esi, esi
jne 0x553597
add dword [ebp + 0x38], 0xfffffffe
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
je 0x550eb1
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0x1e
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword ss:[ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov esi, dword [ebp + 0x38]
cmp esi, dword [ebx + 0x64]
jb 0x559eb7
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp esi, dword [ebx + 0x6c]
ja 0x559e9c
cmp dword [ebx + 0x34], 0
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word [esi]
lea eax, [esi + 2]
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], ecx
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x55c82f
nop dword [eax + eax]
test esi, esi
jne 0x553597
add dword [ebp + 0x38], 0xfffffffe
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
je 0x550eb1
mov edi, dword ss:[ebp]
mov byte [ebp + 0x30], 0x20
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov esi, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp esi, ecx
jb 0x559f74
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
nop dword [eax]
cmp esi, dword [ebx + 0x6c]
ja 0x559f53
cmp dword [ebx + 0x34], 0
je case.0x55976a.999
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp dword [ebp + 0x28], 0xc
jne 0x559ffa
mov edx, dword [ebx + 0x98]
lea eax, [ebx + 0x9c]
test edx, edx
je 0x559fb3
push edi
push eax
push ecx
mov ecx, esi
call fcn.0057f0a0
nop dword [eax]
test eax, eax
je 0x559ffa
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
mov edx, dword ds:[eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x559ffa
mov ax, word [esi]
cmp ax, word [ebx + 0xa0]
jne 0x559ffa
nop dword [eax + eax]
cmp edx, 1
je case.0x55976a.999
mov ax, word [esi + 2]
cmp ax, word [ebx + 0xa2]
je case.0x55976a.999
mov eax, dword [ebp + 0x38]
movzx ecx, word [eax]
lea esi, [eax + 2]
mov dword [ebp + 0x38], esi
mov eax, dword [ebp + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x55a015.15
jmp dword [eax*4 + 0x55d690]
nop dword [eax]
cmp ecx, 0x85
ja 0x55a047
je case.0x55a040.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x55976a.999
nop
jmp dword [ecx*4 + 0x55d6d0]
sub ecx, 0x2028
je case.0x55a040.11
sub ecx, 1
jne case.0x55976a.999
cmp word [ebx + 0x4e], 2
jne case.0x55a015.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x2000
ja 0x55a0e5
nop
je case.0x55976a.999
cmp ecx, 0xa0
ja 0x55a0bd
je case.0x55976a.999
nop dword [eax + eax]
cmp ecx, 9
je case.0x55976a.999
cmp ecx, 0x20
jne case.0x55a015.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
nop dword [eax]
cmp ecx, 0x1680
je case.0x55976a.999
cmp ecx, 0x180e
jne case.0x55a015.13
mov eax, dword ds:[esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x3000
ja case.0x55a015.13
je case.0x55976a.999
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x55a015.13
movzx eax, byte [ecx + 0x55d6e8]
jmp dword [eax*4 + 0x55d6e0]
nop word [eax + eax]
cmp ecx, 0x2000
ja 0x55a188
je case.0x55a015.13
cmp ecx, 0xa0
ja 0x55a165
nop
je case.0x55a015.13
cmp ecx, 9
je case.0x55a015.13
cmp ecx, 0x20
je case.0x55a015.13
mov eax, dword ds:[esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x1680
je case.0x55a015.13
cmp ecx, 0x180e
je case.0x55a015.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x3000
ja case.0x55976a.999
je case.0x55a015.13
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x55976a.999
movzx eax, byte [ecx + 0x55d750]
jmp dword [eax*4 + 0x55d748]
nop word [eax + eax]
cmp ecx, 0x85
ja 0x55a1e7
je case.0x55976a.999
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x55a015.13
nop
jmp dword [ecx*4 + 0x55d7b0]
sub ecx, 0x2028
je case.0x55976a.999
mov eax, dword ds:[esp + 0x14]
sub ecx, 1
jne 0x55c36d
xor esi, esi
jmp 0x559522
cmp ecx, 0x85
ja 0x55a239
nop dword [eax]
je case.0x55a015.13
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x55976a.999
jmp dword [ecx*4 + 0x55d7c0]
nop dword [eax]
sub ecx, 0x2028
je case.0x55a015.13
mov eax, dword [esp + 0x14]
sub ecx, 1
je 0x55c36d
xor esi, esi
jmp 0x559522
cmp ecx, 0xff
ja case.0x55a015.13
mov eax, dword ds:[ebx + 0x40]
test byte [ecx + eax], 8
mov eax, dword [esp + 0x14]
je 0x55c36d
xor esi, esi
jmp 0x559522
cmp ecx, 0xff
ja case.0x55976a.999
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 8
mov eax, dword [esp + 0x14]
jne 0x55c36d
xor esi, esi
jmp 0x559522
cmp ecx, 0xff
ja case.0x55a015.13
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
mov eax, dword [esp + 0x14]
je 0x55c36d
xor esi, esi
jmp 0x559522
nop word [eax + eax]
cmp ecx, 0xff
ja case.0x55976a.999
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
mov eax, dword [esp + 0x14]
jne 0x55c36d
xor esi, esi
jmp 0x559522
cmp ecx, 0xff
ja case.0x55a015.13
mov eax, dword ds:[ebx + 0x40]
test byte [ecx + eax], 0x10
mov eax, dword [esp + 0x14]
je 0x55c36d
xor esi, esi
jmp 0x559522
cmp ecx, 0xff
ja case.0x55976a.999
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
mov eax, dword [esp + 0x14]
jne 0x55c36d
xor esi, esi
jmp 0x559522
test esi, esi
je 0x55beb0
mov eax, dword ds:[esp + 0x14]
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov eax, dword ss:[ebp + 0x44]
mov esi, 0xfffffc1b
mov dword [ebx + 0x84], eax
mov eax, dword [esp + 0x14]
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55a3f4
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
nop word [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x55a3d2
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55a439
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55a439
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov edx, dword ss:[ebp + 8]
push edi
call fcn.0057f360
test eax, eax
je case.0x55976a.999
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0x64
jmp 0x55c82f
nop dword [eax]
test esi, esi
jne case.0x55976a.998
mov ecx, dword [ebp + 0x38]
lea edx, [ecx - 2]
mov dword [ebp + 0x38], edx
cmp ecx, dword [ebp + 4]
jbe case.0x55976a.999
nop word [eax + eax]
test edi, edi
je 0x55a4af
mov ax, word ds:[edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x55a4af
lea eax, [edx - 2]
mov dword [ebp + 0x38], eax
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0x65
jmp 0x55c82f
nop dword [eax + eax]
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword ss:[ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55a534
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
nop dword [eax + eax]
cmp edx, dword [ebx + 0x6c]
ja 0x55a512
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword ds:[ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebp + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55a56e
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
cmp ecx, 0xff
jbe 0x55a595
cmp byte ss:[ebp + 0x31], 0x6e
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xc8
jmp 0x55c82f
mov edx, dword [ebp + 8]
mov esi, ecx
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x55a586
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov ecx, dword [ebp + 0x38]
lea edx, [ecx - 2]
mov dword [ebp + 0x38], edx
cmp ecx, dword [ebp + 4]
ja 0x55c378
jmp 0x55951a
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edi, dword [ebp + 0xc]
mov ebp, dword [ebx + 0x64]
add edi, edi
mov edx, dword [esp + 0x14]
mov eax, ebp
sub eax, edi
mov ebx, dword [edx + 0x38]
cmp ebx, eax
ja 0x55a68a
mov edx, dword [edx + 8]
mov esi, edi
mov ecx, ebx
sub esi, 4
jb 0x55a635
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x55a63e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x55a620
cmp esi, 0xfffffffc
je 0x55c3a5
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x55a68a
cmp esi, 0xfffffffd
je 0x55c3a5
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x55a68a
nop dword [eax]
cmp esi, 0xfffffffe
je 0x55c3a5
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x55a68a
cmp esi, 0xffffffff
je 0x55c3a5
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x55c3a5
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x55a72a
lea edi, [eax + eax]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x55a72a
mov edx, dword [esp + 0x14]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x55a6d5
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x55a6de
add ecx, 4
add edx, 4
sub esi, 4
jae 0x55a6c0
cmp esi, 0xfffffffc
je 0x55c3a5
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x55a72a
cmp esi, 0xfffffffd
je 0x55c3a5
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x55a72a
nop dword [eax]
cmp esi, 0xfffffffe
je 0x55c3a5
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x55a72a
cmp esi, 0xffffffff
je 0x55c3a5
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x55c3a5
cmp ebx, ebp
jb 0x55a775
mov edx, dword ds:[esp + 0x74]
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x55a785
cmp ebx, dword [edx + 0x6c]
mov ebx, edx
ja 0x55a75e
cmp dword [ebx + 0x34], 0
je 0x55a787
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
xor esi, esi
jmp 0x55951a
mov ebx, dword ds:[esp + 0x74]
xor esi, esi
jmp 0x55951a
mov ebx, edx
xor esi, esi
jmp 0x55951a
test esi, esi
jne 0x553597
mov ecx, dword [ebp + 0x38]
mov edx, 0xfc00
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x55a7be
lea eax, [ecx - 2]
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jbe 0x550eb1
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0xcb
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55a838
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55a81d
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebp + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55a872
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], ecx
je case.0x55976a.999
nop dword [eax + eax]
cmp dword [ebp + 0x2c], ecx
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xcc
jmp 0x55c82f
nop dword [eax + eax]
test esi, esi
jne 0x553597
mov ecx, dword [ebp + 0x38]
mov edx, 0xfc00
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x55a8d0
lea eax, [ecx - 2]
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jbe 0x550eb1
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0xcd
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword ss:[ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55a956
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55a93b
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebp + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55a990
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], ecx
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xce
jmp 0x55c82f
test esi, esi
jne 0x553597
mov ecx, dword [ebp + 0x38]
mov edx, 0xfc00
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x55a9d8
lea eax, [ecx - 2]
mov dword [ebp + 0x38], eax
mov eax, dword ss:[ebp + 0x38]
cmp eax, dword [ebp + 4]
jbe 0x550eb1
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0xcf
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov ecx, dword [ebp + 0x38]
cmp ecx, dword [ebx + 0x64]
jb 0x55aa57
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x55976a.999
cmp ecx, dword [ebx + 0x6c]
ja 0x55aa3c
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp + 0x38], ecx
test edi, edi
je 0x55aa7e
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55aa7e
lea eax, [ecx + 2]
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], 0xf
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd0
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55aaf9
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55aade
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word [edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55ab3b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55ab3b
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x5dc361]
cmp al, 9
je 0x55ab85
cmp al, 5
je 0x55ab85
cmp al, 8
je 0x55ab85
xor ecx, ecx
jmp 0x55ab8a
mov ecx, 1
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd1
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword ss:[ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55ac16
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55abfb
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55ac59
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55ac59
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, dword [ebp + 0x2c]
sete cl
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd2
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55ad19
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55acfe
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word [edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55ad5b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55ad5b
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
cmp eax, dword [ebp + 0x2c]
sete cl
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd3
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword ss:[ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55ae16
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55adfb
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55ae59
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55ae59
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc360]
cmp eax, dword [ebp + 0x2c]
sete cl
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd4
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword ss:[ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55af16
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55aefb
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55af59
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55af59
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x55afa5
cmp eax, 3
je 0x55afa5
xor ecx, ecx
jmp 0x55afaa
mov ecx, 1
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd5
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword ss:[ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55b036
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55b01b
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55b079
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55b079
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
nop dword [eax]
cmp ecx, 0x20
ja 0x55b0a7
je case.0x55b165.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x55b165.8203
nop dword [eax + eax]
jmp dword [eax*4 + 0x55d7d0]
cmp ecx, 0x2000
ja 0x55b145
je case.0x55b165.8193
nop dword [eax]
cmp ecx, 0x1680
ja 0x55b13d
je case.0x55b165.8193
mov eax, ecx
sub eax, 0x85
je case.0x55b165.8193
sub eax, 0x1b
je case.0x55b165.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
cmp dword [eax*4 + 0x5f7610], 6
sete cl
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd6
jmp 0x55c82f
cmp ecx, 0x180e
jmp 0x55b0e2
cmp ecx, 0x3000
ja case.0x55b165.8203
je case.0x55b165.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x55b165.8203
movzx eax, byte [eax + 0x55d7ec]
jmp dword [eax*4 + 0x55d7e4]
cmp dword [ebp + 0x28], 0xf
jne 0x55b12e
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
nop dword [eax]
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov ecx, dword ss:[ebp + 0x38]
cmp ecx, dword [ebx + 0x64]
jb 0x55b1f4
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x55976a.999
nop dword [eax + eax]
cmp ecx, dword [ebx + 0x6c]
ja 0x55b1d2
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx edx, word ds:[ecx]
add ecx, 2
mov dword [ebp + 0x38], ecx
test edi, edi
je 0x55b239
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55b239
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
add edx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x5dc361]
mov eax, dword [eax*4 + 0x5f7610]
cmp eax, 1
je 0x55b290
cmp eax, 3
je 0x55b290
nop dword [eax]
cmp edx, 0x5f
je 0x55b290
xor ecx, ecx
jmp 0x55b295
mov ecx, 1
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd7
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55b319
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55b2fe
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word [edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55b35b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55b35b
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x2c]
mov edx, dword [eax*4 + 0x5db910]
lea eax, [eax*4 + 0x5db910]
cmp ecx, edx
jb 0x55b385
lea eax, [eax + 4]
cmp ecx, edx
je 0x55b39e
mov edx, dword [eax]
cmp ecx, edx
jae 0x55b374
cmp dword [ebp + 0x28], 0xf
jne case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd8
jmp 0x55c82f
cmp dword [ebp + 0x28], 0xf
jne 0x55b38f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55b416
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55b3fb
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55b459
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55b459
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
nop dword [eax]
cmp ecx, 0x24
je 0x55b4b3
cmp ecx, 0x40
je 0x55b4b3
cmp ecx, 0x60
je 0x55b4b3
nop dword [eax + eax]
cmp ecx, 0xa0
jb 0x55b498
cmp ecx, 0xd7ff
jbe 0x55b4b3
nop dword [eax + eax]
cmp ecx, 0xe000
jae 0x55b4b3
xor ecx, ecx
jmp 0x55b4b8
mov ecx, 1
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xd9
jmp 0x55c82f
nop dword [eax + eax]
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov ecx, dword ss:[ebp + 0x38]
cmp ecx, dword [ebx + 0x64]
jb 0x55c3be
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x55976a.999
nop dword [eax + eax]
cmp ecx, dword [ebx + 0x6c]
ja 0x55b532
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov esi, dword [ebp + 0x38]
mov ecx, dword [ebx + 0x64]
cmp esi, ecx
jb 0x55b5b9
movzx eax, word [ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp esi, dword [ebx + 0x6c]
ja 0x55b59e
cmp dword [ebx + 0x34], 0
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp dword ss:[ebp + 0x28], 0xc
jne 0x55b63a
mov edx, dword [ebx + 0x98]
lea eax, [ebx + 0x9c]
test edx, edx
je 0x55b5f8
push edi
push eax
push ecx
mov ecx, esi
call fcn.0057f0a0
test eax, eax
je 0x55b63a
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
mov edx, dword ds:[eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x55b63a
mov ax, word [esi]
cmp ax, word [ebx + 0xa0]
jne 0x55b63a
nop dword [eax + eax]
cmp edx, 1
je case.0x55976a.999
mov ax, word [esi + 2]
cmp ax, word [ebx + 0xa2]
je case.0x55976a.999
mov eax, dword [ebp + 0x38]
movzx ecx, word [eax]
lea edx, [eax + 2]
mov eax, ecx
mov dword [ebp + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55b677
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp + 0x38], edx
mov eax, dword ss:[ebp + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x55a015.15
jmp dword [eax*4 + 0x55d84c]
cmp ecx, 0x85
ja 0x55b6b9
nop dword [eax]
je case.0x55b6b2.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x55976a.999
jmp dword [ecx*4 + 0x55d88c]
nop dword [eax]
sub ecx, 0x2028
je case.0x55b6b2.11
sub ecx, 1
jne case.0x55976a.999
cmp word ds:[ebx + 0x4e], 2
jne case.0x55b689.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x2000
ja 0x55b765
nop dword [eax]
je case.0x55976a.999
cmp ecx, 0xa0
ja 0x55b73d
je case.0x55976a.999
nop dword [eax + eax]
cmp ecx, 9
je case.0x55976a.999
cmp ecx, 0x20
jne case.0x55b689.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
nop dword [eax]
cmp ecx, 0x1680
je case.0x55976a.999
cmp ecx, 0x180e
jne case.0x55b689.13
mov eax, dword ds:[esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x3000
ja case.0x55b689.13
je case.0x55976a.999
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x55b689.13
movzx eax, byte [ecx + 0x55d8a4]
jmp dword [eax*4 + 0x55d89c]
nop word [eax + eax]
cmp ecx, 0x2000
ja 0x55b808
je case.0x55b689.13
cmp ecx, 0xa0
ja 0x55b7e5
nop
je case.0x55b689.13
cmp ecx, 9
je case.0x55b689.13
cmp ecx, 0x20
je case.0x55b689.13
mov eax, dword ds:[esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x1680
je case.0x55b689.13
cmp ecx, 0x180e
je case.0x55b689.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x3000
ja case.0x55976a.999
je case.0x55b689.13
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x55976a.999
movzx eax, byte [ecx + 0x55d90c]
jmp dword [eax*4 + 0x55d904]
nop word [eax + eax]
cmp ecx, 0x85
ja 0x55b867
je case.0x55976a.999
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x55b689.13
nop
jmp dword [ecx*4 + 0x55d96c]
sub ecx, 0x2028
je case.0x55976a.999
sub ecx, 1
jne case.0x55b689.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x85
ja 0x55b8b0
je case.0x55b689.13
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x55976a.999
jmp dword [ecx*4 + 0x55d97c]
sub ecx, 0x2028
je case.0x55b689.13
nop dword [eax]
sub ecx, 1
je case.0x55b689.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
nop dword [eax]
nop dword [eax + eax]
cmp ecx, 0x100
jae case.0x55b689.13
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 8
je case.0x55b689.13
mov eax, dword ds:[esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x100
jae case.0x55976a.999
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 8
jne case.0x55b689.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x100
jae case.0x55b689.13
mov eax, dword ds:[ebx + 0x40]
test byte [ecx + eax], 1
je case.0x55b689.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x100
jae case.0x55976a.999
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 1
jne case.0x55b689.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
nop word [eax + eax]
cmp ecx, 0x100
jae case.0x55b689.13
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
je case.0x55b689.13
mov eax, dword ds:[esp + 0x14]
xor esi, esi
jmp 0x559522
cmp ecx, 0x100
jae case.0x55976a.999
mov eax, dword [ebx + 0x40]
test byte [ecx + eax], 0x10
jne case.0x55b689.13
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
test esi, esi
je 0x55bf05
mov eax, dword [esp + 0x14]
jmp 0x559522
nop word [eax + eax]
test esi, esi
je 0x55c075
mov eax, dword [esp + 0x14]
jmp 0x559522
test esi, esi
je 0x55c0e5
mov eax, dword ds:[esp + 0x14]
jmp 0x559522
test esi, esi
jne case.0x55976a.998
mov edx, dword [ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov ecx, dword [ebp + 0x38]
cmp ecx, dword [ebx + 0x64]
jb 0x55ba74
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x55976a.999
nop word [eax + eax]
cmp ecx, dword [ebx + 0x6c]
ja 0x55ba52
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx edx, word ds:[ecx]
add ecx, 2
mov dword [ebp + 0x38], ecx
test edi, edi
je 0x55bab9
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55bab9
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
add edx, 0x10000
mov dword [ebp + 0x38], eax
mov ecx, dword [ebp + 0x2c]
mov eax, edx
shr eax, 7
and edx, 0x7f
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x5dc36a]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x5dbdd0]
and ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xdf
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword ss:[ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55bb96
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55bb7b
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55bbd9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55bbd9
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x5dc368]
shr eax, 0xb
cmp eax, dword [ebp + 0x2c]
sete cl
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xe0
jmp 0x55c82f
test esi, esi
jne case.0x55976a.998
mov edx, dword ss:[ebp + 0x20]
lea eax, [edx + 1]
mov dword [ebp + 0x20], eax
cmp edx, dword [ebp + 0x24]
jae case.0x55976a.999
mov edx, dword [ebp + 0x38]
cmp edx, dword [ebx + 0x64]
jb 0x55bc96
movzx eax, word ds:[ebx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x55976a.999
cmp edx, dword [ebx + 0x6c]
ja 0x55bc7b
cmp dword [ebx + 0x34], esi
je case.0x55976a.999
mov dword [ebx + 0x2c], 1
cmp ecx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
xor esi, esi
jmp 0x559522
movzx ecx, word ds:[edx]
add edx, 2
mov dword [ebp + 0x38], edx
test edi, edi
je 0x55bcd9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55bcd9
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
add ecx, 0x10000
mov dword [ebp + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
mov ecx, dword [ebp + 0x2c]
movzx eax, word [eax*2 + 0x5e0570]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x5dc360]
cmp eax, ecx
je 0x55bd3f
movzx edx, word [edx*4 + 0x5dc368]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x5dbad0], eax
jne 0x55bd3f
xor ecx, ecx
jmp 0x55bd44
mov ecx, 1
xor eax, eax
cmp dword [ebp + 0x28], 0xf
sete al
cmp ecx, eax
je case.0x55976a.999
mov eax, dword [esp + 0x14]
mov edi, dword ds:[eax]
mov byte [eax + 0x30], 0xe1
jmp 0x55c82f
mov edi, dword [ebp + 4]
mov esi, dword [esp + 0x74]
mov dword [ebp], edi
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
mov dword [ebp + 4], ecx
cmp word [ecx], 0x78
mov eax, dword [ebp]
movzx eax, word [eax]
mov al, byte [eax + 0x5f7690]
movzx eax, al
je 0x55c267
lea eax, [edi + eax*2]
mov dword [ebp], eax
jmp 0x550eb5
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x50]
shl eax, 2
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.00586310
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov dword [ebp + 0x50], eax
mov eax, dword [ebx + 0x40]
mov dword [ebp + 0x40], eax
mov ecx, dword [ebp]
nop word [eax + eax]
movzx eax, word ds:[ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp], ecx
cmp word [ecx], 0x78
je 0x55bdd0
jmp 0x550eab
mov edi, dword [ebp]
nop word [eax + eax]
movzx eax, word ds:[edi + 2]
lea edi, [edi + eax*2]
mov dword [ebp], edi
cmp word [edi], 0x78
je 0x55bdf0
lea eax, [edi + 4]
jmp 0x550eae
mov ecx, dword ss:[ebp]
movzx eax, word [ecx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp], edi
cmp word [edi], 0x78
je 0x55c712
lea eax, [edi + 4]
jmp 0x550eae
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x50]
shl eax, 2
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.00586310
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov dword [ebp + 0x50], eax
jmp 0x5597bc
mov ecx, dword [ebp + 4]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov dword [ebp + 4], eax
cmp word [eax], 0x78
je 0x55c21c
xor eax, eax
cmp dword [ebp + 0x20], eax
sete al
jmp 0x5597bf
mov ecx, dword [ebp]
movzx eax, word [ecx + 2]
add eax, eax
sub ecx, eax
mov dword [ebp], ecx
jmp 0x550eb1
mov ecx, dword [ebp + 4]
nop
movzx eax, word ds:[ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp + 4], ecx
cmp word [ecx], 0x78
je 0x55be90
jmp 0x550eab
add dword [ebp], 2
jmp 0x550eb1
mov eax, dword ss:[ebp + 0x38]
add eax, 0xfffffffe
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x28], 0x11
jne 0x55bee9
cmp eax, dword [ebp + 4]
jbe 0x55bee9
cmp word [eax], 0xa
jne 0x55bee9
add eax, 0xfffffffe
cmp word [eax], 0xd
jne 0x55bee9
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
je 0x550eb1
mov edi, dword ss:[ebp]
mov byte [ebp + 0x30], 0x22
jmp 0x55c82f
mov edx, dword [ebp + 0x38]
add edx, 0xfffffffe
mov dword [ebp + 0x38], edx
test edi, edi
jne 0x55bf1e
movzx ecx, word [edx]
jmp 0x55bf6f
movzx eax, word [edx]
mov esi, edx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x55bf3e
lea esi, [edx - 2]
mov dword [ebp + 0x38], esi
movzx ecx, word [esi]
movzx ecx, cx
mov edx, esi
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55bf6f
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov edi, dword ss:[ebp + 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx ebx, byte [eax*4 + 0x5dc362]
cmp edx, edi
jbe 0x55c05a
nop dword [eax + eax]
movzx eax, word ds:[edx - 2]
add edx, 0xfffffffe
cmp dword [esp + 0x18], 0
mov ecx, eax
je 0x55c00c
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x55bfdd
movzx ecx, word [edx - 2]
sub edx, 2
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55c00c
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
movzx esi, byte [eax*4 + 0x5dc362]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x5f75d0], eax
je 0x55c05a
mov dword [ebp + 0x38], edx
mov ebx, esi
cmp edx, edi
ja 0x55bfb0
mov eax, dword ss:[ebp + 0x38]
cmp eax, dword [ebp + 4]
jbe 0x550eb1
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0xdc
jmp 0x55c82f
mov ecx, dword [ebp + 0x38]
mov edx, 0xfc00
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x55c09d
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
cmp dword [ebp + 0x28], 0x11
jne 0x55c0ca
cmp ecx, dword [ebp + 4]
jbe 0x55c0ca
cmp word [ecx], 0xa
jne 0x55c0ca
add ecx, 0xfffffffe
cmp word [ecx], 0xd
jne 0x55c0ca
mov dword [ebp + 0x38], ecx
mov eax, dword [ebp + 0x38]
cmp eax, dword [ebp + 4]
jbe 0x550eb1
mov edi, dword ss:[ebp]
mov byte [ebp + 0x30], 0xdd
jmp 0x55c82f
mov ecx, dword [ebp + 0x38]
add ecx, 0xfffffffe
mov dword [ebp + 0x38], ecx
test edi, edi
je 0x55c115
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x55c115
lea eax, [ecx - 2]
mov dword [ebp + 0x38], eax
mov eax, dword ss:[ebp + 0x38]
cmp eax, dword [ebp + 4]
jbe 0x550eb1
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0xde
jmp 0x55c82f
inc dword ds:[esi + 0x90]
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x94]
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x5f7690]
movzx eax, word [edx + 2]
ja 0x55c518
add ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebx], eax
jmp 0x550ec0
cmp dword [esp + 0x18], 0
jne 0x55a88d
mov edi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x55c82f
test ebp, ebp
jne 0x55a99d
mov edi, dword [eax]
mov byte [eax + 0x30], 0x1f
jmp 0x55c82f
cmp dword [esp + 0x18], 0
jne 0x55a58a
mov edi, dword [eax]
mov byte [eax + 0x30], 0x17
jmp 0x55c82f
test ebp, ebp
js 0x55c1d0
nop dword [eax]
cmp ebp, 0xd
ja case.0x55a015.15
jmp dword [ebp*4 + 0x55d98c]
cmp dword [eax + 0x28], 0x16
je 0x55c46d
nop word [eax + eax]
test esi, esi
jne 0x55c50d
mov edi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x55c82f
cmp ecx, 0x7e
je 0x55c211
mov eax, 0x80
cmp cx, ax
je 0x55c211
xor eax, eax
jmp 0x55c216
mov eax, 1
mov dword [ebp + 0x20], eax
mov dword [ebp + 4], edi
mov eax, dword ss:[ebp]
mov ecx, dword [ebp + 4]
movzx eax, word [eax]
or eax, 0x30000
mov dword [esp + 0x28], eax
movzx eax, word [ecx]
mov byte [ebp + 0x30], 5
movzx eax, byte [eax + 0x5f7690]
lea edi, [ecx + eax*2]
jmp 0x55c82f
mov eax, dword [esp + 0x14]
cmp cl, 0x7b
jne 0x55c25e
lea edi, [edx + 4]
mov byte [ebp + 0x30], 6
jmp 0x55c833
mov byte [ebp + 0x30], 7
jmp 0x55c833
lea edi, [edi + eax*2]
mov byte [ebp + 0x30], 1
jmp 0x55c82f
mov eax, dword [ebp + 8]
mov dword [ebp], eax
jmp 0x55c5d2
mov eax, dword [esp + 0x58]
add eax, eax
add dword [ebp + 0x38], eax
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0x14
jmp 0x55c82f
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x24]
dec eax
mov dword [ebp + 0x24], eax
mov esi, dword [ebp + 0x20]
cmp esi, eax
jae 0x55c2d4
nop dword [eax + eax]
mov edx, dword ss:[ebp + 0x28]
lea eax, [esp + 0x5c]
mov ecx, dword [ebp + 0x14]
push eax
push ebx
push ebp
call fcn.00550aa0
mov eax, dword [esp + 0x5c]
inc esi
add eax, eax
add dword [ebp + 0x38], eax
cmp esi, dword [ebp + 0x24]
jb 0x55c2b0
mov edi, dword ss:[ebp]
mov byte [ebp + 0x30], 0x16
jmp 0x55c82f
cmp esi, dword [ebx + 0x64]
jae case.0x55a015.13
cmp word [esi], 0xa
jne case.0x55a015.13
lea eax, [esi + 2]
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x55c82f
movzx eax, word [ebx + 0x4c]
mov edx, eax
test ax, ax
je case.0x55a015.13
nop dword [eax]
cmp esi, dword [ebx + 0x64]
jb case.0x55a015.13
cmp dword [ebx + 0x98], 0
jne case.0x55a015.13
cmp dword ds:[ebx + 0x9c], 2
jne case.0x55a015.13
movzx eax, word [ebx + 0xa0]
cmp ecx, eax
jne case.0x55a015.13
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0x21
jmp 0x55c82f
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x552bea
lea eax, ds:[edx - 2]
mov dword [ebp + 0x38], eax
mov edi, dword [ebp]
mov byte [ebp + 0x30], 0xc9
jmp 0x55c82f
mov ecx, dword [esp + 0x14]
lea eax, [ebx + edi]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x55c82f
movzx esi, word [ecx]
add ecx, 2
mov dword [ebp + 0x38], ecx
mov edx, ecx
test edi, edi
je 0x55c40a
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x55c40a
movzx eax, word [ecx]
lea edx, [ecx + 2]
and esi, 0x3ff
mov dword [ebp + 0x38], edx
and eax, 0x3ff
shl esi, 0xa
or esi, eax
add esi, 0x10000
push 0
push edi
push dword [ebx + 0x64]
mov ecx, esi
push dword [ebx + 0x5c]
call fcn.0057fe00
mov dword ss:[ebp + 0x38], eax
cmp eax, dword [ebx + 0x64]
jb 0x55c469
movzx ecx, word [ebx + 0x4c]
mov edx, ecx
test cx, cx
je 0x55c469
nop dword [eax + eax]
cmp eax, dword [ebx + 0x6c]
ja 0x55c453
cmp dword [ebx + 0x34], 0
je 0x55c469
mov dword ds:[ebx + 0x2c], 1
cmp edx, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xda
jmp 0x55c82f
nop dword [eax + eax]
cmp edx, dword [ebx + 0x64]
jae case.0x55b689.13
cmp word [edx], 0xa
jne case.0x55b689.13
lea eax, [edx + 2]
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xdb
jmp 0x55c82f
movzx eax, word [ebx + 0x4c]
mov esi, eax
test ax, ax
je case.0x55b689.13
nop word [eax + eax]
cmp edx, dword [ebx + 0x64]
jb case.0x55b689.13
cmp dword [ebx + 0x98], 0
jne case.0x55b689.13
cmp dword ds:[ebx + 0x9c], 2
jne case.0x55b689.13
movzx eax, word [ebx + 0xa0]
cmp ecx, eax
jne case.0x55b689.13
mov dword ds:[ebx + 0x2c], 1
cmp esi, 1
ja 0x55125f
mov eax, dword [esp + 0x14]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xdb
jmp 0x55c82f
mov byte ds:[ebx + 0x30], 0x11
jmp 0x55c82a
mov eax, dword [esp + 0x14]
add edi, 2
mov dword [eax + 4], edi
mov byte [eax + 0x30], 9
jmp 0x55c82f
mov ecx, dword [esp + 0x14]
add edi, 2
mov dword [ecx + 4], edi
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
mov edi, eax
mov dword [ecx + 4], eax
cmp word [edi], 0x78
je 0x55c542
lea edi, ds:[eax + 4]
mov byte [ecx + 0x30], 0xa
jmp 0x55c82f
mov ebp, dword ds:[esp + 0x14]
add edi, 2
mov ecx, 0x89
mov dword [ebp + 0x28], 1
mov dword [ebp], edi
movzx eax, word [edi]
cmp ax, cx
je 0x55c5bc
mov ecx, 0x8e
cmp ax, cx
jne 0x55c5a7
jmp 0x55c5bc
mov ebp, dword [esp + 0x14]
mov dword [ebp + 0x28], 0
mov eax, 0x20000
jmp 0x55c5c5
mov ebp, dword [esp + 0x14]
mov dword [ebp + 0x28], 0
movzx eax, word [edi + 4]
or eax, 0x10000
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], 0
mov dword [ebp + 8], edi
mov eax, dword [ebp + 0x38]
mov dword [ebp + 4], eax
mov ecx, dword [ebp]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x28], eax
movzx eax, word [ecx]
mov byte [ebp + 0x30], 8
movzx eax, byte [eax + 0x5f7690]
lea edi, [ecx + eax*2]
jmp 0x55c82f
movzx ecx, word [edi + 4]
or ecx, 0x10000
jmp 0x55c60d
or ecx, 0x20000
mov ebp, dword [esp + 0x14]
mov dword [ebp + 0x20], ecx
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x28], eax
movzx eax, word [edi]
mov byte [ebp + 0x30], 2
movzx eax, byte [eax + 0x5f7690]
lea edi, [edi + eax*2]
jmp 0x55c82f
mov ecx, dword ds:[esi + 0x58]
movzx eax, word [edi + 2]
lea ebx, [ecx + eax*2]
cmp ebx, ecx
jne 0x55c64f
xor edi, edi
jmp 0x55c653
movzx edi, word [ebx + 4]
mov ebp, dword ds:[esp + 0x14]
cmp dword [ebp + 0x44], 0xffffffff
je 0x55c6aa
mov eax, dword [ebp + 0x4c]
cmp eax, 0xffffffff
je 0x55c6aa
mov esi, dword [esi + 0x10]
mov edx, edi
or edx, 0x40000
nop dword [eax]
add eax, esi
mov ecx, eax
sub ecx, dword [esp + 0x70]
cmp dword [eax + 0x1c], edx
je 0x55c69e
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
jne 0x55c680
jmp 0x55c6aa
mov eax, dword [ebp + 0x38]
cmp eax, dword [ecx + 0x38]
je 0x55ca1e
or edi, 0x40000
mov dword [ebp + 4], ebx
mov dword [ebp + 0x20], edi
mov ecx, dword [ebp + 4]
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x28], eax
movzx eax, word [ecx]
mov byte [ebp + 0x30], 0xb
movzx eax, byte [eax + 0x5f7690]
lea edi, [ecx + eax*2]
jmp 0x55c82f
mov ebp, dword [esp + 0x14]
or ecx, 0x20000
mov dword [ebp + 0x20], ecx
mov eax, dword ss:[ebp + 0x20]
mov dword [esp + 0x28], eax
movzx eax, word [edi]
mov byte [ebp + 0x30], 3
movzx eax, byte [eax + 0x5f7690]
lea edi, [edi + eax*2]
jmp 0x55c82f
mov ebp, dword [esp + 0x14]
or ecx, 0x20000
mov dword [ebp + 0x20], ecx
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x28], eax
movzx eax, word [edi]
mov byte [ebp + 0x30], 4
movzx eax, byte [eax + 0x5f7690]
lea edi, [edi + eax*2]
jmp 0x55c82f
mov ebx, dword [esp + 0x14]
lea eax, [edi + 4]
mov dword [esi + 0x78], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x5f7690]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0xc
jmp 0x55c82a
movzx eax, word [edi]
movzx eax, byte [eax + 0x5f7690]
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x14]
mov byte [eax + 0x30], 0xd
jmp 0x55c82f
mov ebx, dword [esp + 0x14]
lea eax, [edi + 4]
mov dword [esi + 0x78], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x5f7690]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0x24
jmp 0x55c82a
movzx eax, word [edi]
movzx eax, byte [eax + 0x5f7690]
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x14]
mov byte [eax + 0x30], 0xe
jmp 0x55c82f
mov ebx, dword [esp + 0x14]
lea eax, [edi + 4]
mov dword [esi + 0x78], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x5f7690]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0xf
jmp 0x55c82a
movzx eax, word [edi]
movzx eax, byte [eax + 0x5f7690]
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x14]
mov byte [eax + 0x30], 0x10
jmp 0x55c82f
movzx eax, word [edi]
movzx eax, byte [eax + 0x5f7690]
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x14]
mov byte [eax + 0x30], 0x12
jmp 0x55c82f
mov ebx, dword [esp + 0x14]
lea eax, [edi + 4]
mov dword [esi + 0x78], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x5f7690]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0x13
add ecx, eax
lea edi, [edx + ecx*2]
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
add ebp, eax
lea eax, [esi + 0x14]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x30], eax
cmp ebp, dword [eax]
jb 0x55c91d
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x44], eax
lea ebx, [ecx + ecx]
mov eax, ebx
shr eax, 0xa
cmp eax, edx
jbe 0x55c88f
mov ebx, edx
xor edx, edx
shl ebx, 0xa
mov eax, ebx
div dword [esp + 0x70]
sub ebx, edx
cmp ecx, ebx
jae 0x55ca2d
lea eax, [esi + 0x14]
mov dword [esp + 0x44], eax
lfence
push dword [esi + 8]
mov esi, dword [esi]
mov ecx, esi
push ebx
call dword [0x5a9914]
call esi
mov ebp, eax
test ebp, ebp
je 0x55ca3c
mov esi, dword ds:[esp + 0x74]
push dword [esi + 0xc]
push dword [esi + 0x10]
push ebp
call fcn.00586310
mov ecx, dword [esi + 0x10]
mov eax, ebp
mov edx, dword [esp + 0x20]
sub eax, ecx
add edx, eax
add esp, 0xc
mov eax, dword [esp + 0x70]
add eax, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
cmp ecx, dword [esi + 0x18]
je 0x55c90a
push dword [esi + 8]
mov esi, dword [esi + 4]
push ecx
mov ecx, esi
call dword [0x5a9914]
call esi
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x74]
jmp 0x55c90e
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x10], ebp
lea eax, [ebx + ebp]
mov ebp, dword [esp + 0x24]
mov dword [ecx], eax
mov dword [esi + 0xc], ebx
mov ebx, dword [esp + 0x14]
push dword [esp + 0x48]
lea eax, [ebx + 0x38]
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.00586310
mov eax, dword [ebx + 0x18]
add esp, 0xc
mov edx, dword [esp + 0x70]
inc eax
mov ebx, dword [esp + 0x28]
mov dword [ebp + 0x18], eax
mov eax, ebp
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x18]
jmp 0x550e40
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x50
ret 0x14
mov eax, ecx
mov ebx, dword ds:[esp + 0x14]
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x68], edx
mov eax, dword [ebx + 0x50]
mov dword [ecx + 0x48], eax
mov eax, dword [ebx + 0x40]
mov dword [ecx + 0x74], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x55c98c
mov dword [ecx + 0x70], eax
mov eax, dword [ebx + 0x3c]
sub eax, dword [ecx + 0x5c]
mov edi, dword [esp + 0x64]
movzx esi, word [esp + 0x68]
sar eax, 1
mov dword [edi], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [ecx + 0x5c]
sar eax, 1
mov dword [edi + 4], eax
movzx eax, word [esp + 0x6c]
inc eax
cmp eax, esi
cmovbe esi, eax
add esi, esi
lea eax, [esi*4 - 8]
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [edi + 8]
push eax
call fcn.00586310
mov eax, dword [ebx + 0x50]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x55c9f2
nop
mov dword [edi + esi*4], 0xffffffff
dec esi
mov ecx, dword [ebx + 0x50]
add ecx, 2
cmp esi, ecx
jae 0x55c9e0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret 0x14
pop edi
pop esi
pop ebp
mov eax, 0xffffffd4
pop ebx
add esp, 0x50
ret 0x14
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x14
pop edi
pop esi
pop ebp
mov eax, 0xffffffcc
pop ebx
add esp, 0x50
ret 0x14
pop edi
pop esi
pop ebp
mov eax, 0xffffffc1
pop ebx
add esp, 0x50
ret 0x14
pop edi
pop esi
pop ebp
mov eax, 0xffffffd0
pop ebx
add esp, 0x50
ret 0x14
pop edi
pop esi
pop ebp
mov eax, 0xffffffd1
pop ebx
add esp, 0x50
ret 0x14