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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [eax + 0x8c]
mov eax, dword [eax + 0x10]
push edi
mov edi, edx
mov dword [ebp - 4], eax
xor edx, edx
mov dword [ebp - 0x24], 0xfc00
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x10], edx
mov edx, esi
mov dword [eax + 0x18], 0
shr edx, 0x13
mov dword [eax + 0x48], 0
and edx, 1
mov dword [eax + 0x44], 0xffffffff
mov dword [ebp - 8], edx
lea edx, [ebx - 0x38]
mov dword [eax + 0x38], ecx
shr esi, 0x11
mov dword [eax + 0x3c], ecx
and esi, 1
mov dword [ebp - 0x44], edx
xor edx, edx
mov dword [eax + 0x40], 0
mov dword [eax + 0x50], 0
mov dword [ebp - 0x2c], esi
mov dword [eax + 0x4c], 0xffffffff
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], 0xdc00
mov dword [ebp - 0x48], 0xd800
mov dword [ebp - 0x3c], 0xff
mov dword [ebp - 0x4c], 0x2029
mov dword [ebp - 0x34], 0x85
mov dword [ebp - 0x38], 0x2028
mov dword [eax + 0x1c], edx
mov dword [eax], edi
mov dword [eax + 0x10], ebx
test edx, edx
je 0x4daa39
mov ecx, dword [ebp + 0x18]
sub eax, dword [ecx + 0x10]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], eax
mov eax, edx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x4daa34
movzx eax, dx
mov dword [ecx + 0x44], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0x18]
mov edx, dword [eax + 0x28]
mov ecx, dword [eax + 0x20]
lea eax, [edx + 1]
mov dword [esi + 0x28], eax
cmp edx, ecx
jae 0x4e5435
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [esi + 0x24]
jb 0x4daa71
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov dword [ecx], eax
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov edi, dword [eax]
mov bl, byte [edi]
mov byte [eax + 0x31], bl
movzx eax, bl
cmp eax, 0xa6
ja case.0x4e30cb.15
movzx eax, byte [eax + 0x4e55a0]
jmp dword [eax*4 + 0x4e5444]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
jne 0x4dab10
movzx edi, word [edi + 2]
mov eax, dword [eax + 0x4c]
lea ebx, [ebx]
cmp eax, 0xffffffff
je case.0x4e30cb.15
mov ecx, dword [esi + 0x10]
add ecx, eax
mov eax, edi
mov edx, ecx
mov dword [ebp - 0x14], ecx
sub edx, dword [ebp + 0x14]
or eax, 0x10000
cmp dword [ecx + 0x1c], eax
je 0x4daad7
mov eax, dword [edx + 0x4c]
jmp 0x4daab0
mov eax, dword [ebp - 4]
lea esi, [edi + edi]
mov ebx, dword [ebp + 0x18]
lea ecx, [esi - 2]
mov dword [eax + 0x48], edi
mov eax, dword [edx + 0x38]
sub eax, dword [ebx + 0x5c]
mov edx, dword [ebp - 4]
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 0x4dab0d
mov dword [eax + 0x50], esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x567be0]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 4]
jmp 0x4daa6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [esi + 0x70]
jbe 0x4dab35
mov dword [esi + 0x70], eax
mov eax, dword [ebp - 4]
mov esi, 0xfffffc19
mov dword [ebp - 0x28], eax
jmp 0x4e21e0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
je 0x4dab98
mov eax, dword [eax + 0x4c]
cmp eax, 0xffffffff
je case.0x4e30cb.15
mov ebx, dword [esi + 0x10]
add ebx, eax
mov ecx, ebx
mov dword [ebp - 0x14], ebx
sub ecx, dword [ebp + 0x14]
mov eax, dword [ebx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x40000
je 0x4dab7b
mov eax, dword [ecx + 0x4c]
jmp 0x4dab51
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
add dword [ecx], 4
jmp 0x4daa74
mov edx, dword ds:[eax + 0x38]
mov esi, dword [eax + 0x3c]
cmp edx, esi
jne 0x4dabcd
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x88]
test al, 4
jne case.0x4daa93.162
test al, 8
je 0x4dabcd
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x5c]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp edx, dword [eax + 0x64]
jae 0x4e5352
mov ecx, dword [ebp + 0x18]
mov eax, dword [eax + 0x8c]
or eax, dword [ecx + 0x88]
test eax, 0x20000000
je 0x4e5350
test bl, bl
jne 0x4e5345
mov eax, dword [ebp - 4]
xor esi, esi
mov edx, ecx
jmp 0x4e21e3
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x98]
test edx, edx
je 0x4dac42
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x18]
mov esi, dword [eax + 0x64]
cmp ecx, esi
jae 0x4dac8f
push dword [ebp - 8]
add eax, 0x9c
push eax
push esi
call fcn.00514f40
test eax, eax
jne case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
jmp 0x4dac8f
mov esi, dword [eax + 0x9c]
mov eax, dword [ebp - 4]
mov ebx, dword [ebp + 0x18]
mov edx, dword [eax + 0x38]
lea eax, [esi + esi]
mov ecx, dword [ebx + 0x64]
sub ecx, eax
cmp edx, ecx
ja 0x4dac8d
mov ax, word [edx]
cmp ax, word [ebx + 0xa0]
jne 0x4dac8d
cmp esi, 1
je case.0x4daa93.162
mov ax, word ds:[edx + 2]
cmp ax, word [ebx + 0xa2]
je case.0x4daa93.162
mov eax, ebx
movzx eax, word [eax + 0x4c]
mov esi, dword [ebp + 0x18]
mov edx, eax
test ax, ax
je case.0x4daa93.13
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [esi + 0x64]
sub eax, 2
cmp ecx, eax
jne case.0x4daa93.13
mov eax, esi
cmp dword [eax + 0x98], 0
jne 0x4dacdc
cmp dword ds:[eax + 0x9c], 2
jne 0x4dacdc
mov ax, word [ecx]
cmp ax, word [esi + 0xa0]
jne case.0x4daa93.13
mov eax, esi
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
mov esi, eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [esi + 0x64]
jb 0x4dad2d
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
cmp ecx, dword [eax + 0x6c]
ja 0x4dad0f
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp edx, 1
jbe case.0x4daa93.162
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov edx, dword [ebp - 8]
add ecx, 2
mov dword [eax + 0x38], ecx
test edx, edx
je 0x4dad60
cmp ecx, dword [esi + 0x64]
jae 0x4dad60
mov ax, word [ecx]
mov ebx, 0xfc00
and ax, bx
mov ebx, 0xdc00
cmp ax, bx
jne 0x4dad5d
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x4daa74
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x18]
cmp ecx, dword [eax + 0x64]
jb 0x4dadb0
movzx eax, word ds:[eax + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp ecx, dword [eax + 0x6c]
ja 0x4dad9b
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
lea eax, [edi + 2]
mov dword [ecx], eax
mov edi, edi
mov esi, dword [ebp + 0x18]
jmp 0x4daa74
mov eax, dword [ebp - 4]
test edx, edx
je 0x4dae97
mov ecx, dword [ebp - 4]
mov dword [eax + 0xc], 1
lea eax, [edi + 2]
mov dword [ecx], eax
mov ecx, 0xfc00
mov ax, word [eax]
and ax, cx
mov ecx, 0xd800
cmp ax, cx
mov eax, dword [ebp - 4]
jne 0x4dae08
mov dword [eax + 0xc], 2
mov edx, 2
jmp 0x4dae0d
mov edx, 1
mov ecx, dword [eax + 0x38]
mov esi, dword [esi + 0x64]
mov eax, esi
sub eax, ecx
sar eax, 1
cmp edx, eax
jbe 0x4dae65
lea ecx, [ecx]
cmp ecx, esi
jb case.0x4daa93.162
mov eax, dword [ebp + 0x18]
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
cmp ecx, dword [eax + 0x6c]
ja 0x4dae4f
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
nop
jmp case.0x4daa93.162
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [ebx]
movzx edx, word [eax]
add eax, 2
movzx esi, word [ecx]
mov dword [ebx + 0x38], eax
lea eax, [ecx + 2]
mov dword [ebx], eax
mov eax, ebx
cmp si, dx
jne 0x4db0aa
add dword [eax + 0xc], 0xffffffff
jne 0x4dae68
jmp 0x4daa6e
mov ecx, dword [ebp + 0x18]
mov esi, dword [eax + 0x38]
mov eax, dword [ecx + 0x64]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jge 0x4daee5
movzx eax, word [ecx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4daecf
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
nop
jmp case.0x4daa93.162
mov ebx, dword [ebp - 4]
lea eax, [esi + 2]
movzx edx, word [edi + 2]
movzx ecx, word [esi]
mov dword [ebx + 0x38], eax
cmp dx, cx
je 0x4e491e
mov edi, edi
jmp case.0x4daa93.162
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x40], ecx
cmp ecx, dword [esi + 0x64]
jb 0x4daf53
movzx eax, word ds:[esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp - 0x40]
cmp eax, dword [esi + 0x6c]
mov eax, dword [ebp + 0x18]
ja 0x4daf3e
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
test edx, edx
je 0x4db074
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 0x4dafa8
movzx eax, word [ebx + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov edi, 2
mov eax, dword [ebp - 4]
add esi, 0x10000
mov dword [eax + 0xc], 2
jmp 0x4dafab
mov eax, dword [ebp - 4]
movzx edx, word [ecx]
cmp esi, 0x80
jae 0x4dafeb
mov eax, dword ds:[ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp edx, 0xff
ja 0x4dafcc
movzx edx, byte [eax + edx]
movzx eax, byte [eax + esi]
cmp eax, edx
jne case.0x4daa93.162
mov edx, dword [ebp - 4]
lea eax, [ebx + 2]
mov dword [edx], eax
lea eax, [ecx + 2]
mov dword [edx + 0x38], eax
jmp 0x4daa6e
add ecx, 2
mov dword [eax + 0x38], ecx
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4db023
movzx eax, word [ecx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add edx, 0x10000
mov dword [ecx + 0x38], eax
jmp 0x4db026
mov ecx, dword [ebp - 4]
lea eax, [ebx + edi*2]
mov dword [ecx], eax
cmp edx, esi
je 0x4daa6e
mov eax, esi
shr eax, 7
lfence
movzx ecx, word [eax*2 + 0x563720]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x54f044]
add eax, esi
mov esi, dword [ebp + 0x18]
cmp edx, eax
mov edx, dword [ebp - 8]
je 0x4daa74
jmp case.0x4daa93.162
cmp dword [ebp - 0x2c], 0
je 0x4db111
movzx esi, word [edi + 2]
movzx edx, word [ecx]
cmp esi, 0x80
jae 0x4db0b1
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp edx, 0xff
ja 0x4db09f
movzx edx, byte [eax + edx]
movzx eax, byte [eax + esi]
cmp eax, edx
mov eax, dword [ebp - 4]
je 0x4db105
xor esi, esi
jmp 0x4e21e0
cmp edx, esi
je 0x4db105
lfence
mov eax, esi
test eax, eax
jns 0x4db0c1
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x563720]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x4db0dd
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x54f044]
add eax, esi
cmp edx, eax
mov eax, dword [ebp - 4]
je 0x4db105
xor esi, esi
jmp 0x4e21e0
add dword [eax + 0x38], 2
add dword [eax], 4
jmp 0x4daa6e
movzx eax, word ds:[edi + 2]
mov ebx, 0xff
mov edx, eax
cmp ax, bx
ja 0x4db12c
mov eax, dword [esi + 0x38]
movzx edx, byte [eax + edx]
movzx eax, word [ecx]
mov ecx, eax
cmp ax, bx
ja 0x4db13d
mov eax, dword [esi + 0x38]
movzx ecx, byte [eax + ecx]
lea ecx, [ecx]
cmp edx, ecx
jne case.0x4daa93.162
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
add eax, 2
mov dword [ecx + 0x38], eax
lea eax, [edi + 4]
mov dword [ecx], eax
jmp 0x4daa71
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x18]
cmp ecx, dword [eax + 0x64]
jb 0x4db1a5
movzx eax, word [eax + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
cmp ecx, dword [eax + 0x6c]
ja 0x4db18f
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
nop
jmp case.0x4daa93.162
test edx, edx
je 0x4db28d
mov edx, dword [ebp - 4]
lea eax, [edi + 2]
lea esi, [eax + 2]
mov dword [edx], eax
movzx edx, word [eax]
mov eax, dword [ebp - 4]
mov dword [eax], esi
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4db1ef
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
lea eax, [esi + 2]
mov esi, dword [ebp - 4]
add edx, 0x10000
mov dword [esi], eax
mov eax, dword [ebp - 4]
movzx esi, word [ecx]
add ecx, 2
mov dword [eax + 0x38], ecx
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4db22b
movzx eax, word [ecx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
add esi, 0x10000
mov dword [ecx + 0x38], eax
cmp edx, esi
je case.0x4daa93.162
cmp bl, 0x20
jne 0x4daa6e
lea esp, [esp]
cmp edx, 0x7f
jbe 0x4db273
mov eax, edx
shr eax, 7
lfence
movzx ecx, word [eax*2 + 0x563720]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x54f044]
jmp 0x4db27d
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x3c]
movzx edx, byte [eax + edx]
cmp edx, esi
mov edx, dword [ebp - 8]
jne 0x4dadc0
jmp case.0x4daa93.162
cmp dword [ebp - 0x2c], 0
lea eax, [ecx + 2]
movzx esi, word [ecx]
mov ecx, dword [ebp - 4]
je 0x4db305
mov dword [ecx + 0x38], eax
lea eax, [edi + 4]
movzx edx, word [edi + 2]
mov dword [ecx], eax
cmp edx, esi
je case.0x4daa93.162
cmp bl, 0x20
jne 0x4daa6e
cmp edx, 0x7f
jbe 0x4db273
lfence
mov eax, edx
test eax, eax
jns 0x4db2ca
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x563720]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4db2ec
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x54f044]
jmp 0x4db27d
movzx edx, word [edi + 2]
mov dword [ecx + 0x38], eax
cmp edx, esi
je case.0x4daa93.162
cmp bl, 0x20
jne 0x4db33a
lea esp, [esp]
cmp edx, 0xff
ja 0x4db33a
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
cmp eax, esi
je case.0x4daa93.162
lea eax, ds:[edi + 4]
jmp 0x4daa6c
mov ecx, dword [ebp - 4]
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 0x4db46f
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], 2
mov dword [eax + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
mov eax, ecx
mov dword [eax], edi
jmp 0x4db46c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], 1
mov dword [eax + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
mov eax, ecx
mov dword [eax], edi
jmp 0x4db46c
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], 0
mov dword [eax + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
mov eax, ecx
mov dword [eax], edi
jmp 0x4db46c
mov eax, dword [ebp - 4]
add edi, 2
mov dword [ebp - 0x10], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x4db46c
mov eax, dword [ebp - 4]
add edi, 2
mov dword [ebp - 0x10], 2
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x4db46c
mov eax, dword [ebp - 4]
add edi, 2
mov dword [ebp - 0x10], 2
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], edi
jmp 0x4db46c
movzx ecx, word [edi]
cmp bl, 0x2e
mov edx, dword [ebp - 4]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, dword [ebp - 4]
add edi, 2
mov dword [eax], edi
mov eax, dword [ecx*4 + 0x54dba8]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x54caa4]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x54e648]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
test esi, esi
je 0x4db8d0
mov dword [eax + 0xc], 1
mov dword [eax + 8], edi
movzx edx, word [edi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 4]
jne 0x4db4c4
movzx esi, word [edi + 2]
and edx, 0x3ff
mov ecx, dword [ebp - 4]
and esi, 0x3ff
shl edx, 0xa
mov dword [eax + 0xc], 2
or esi, edx
lea eax, [edi + 4]
add esi, 0x10000
mov dword [ecx], eax
jmp 0x4db4da
mov esi, dword [ebp - 4]
mov ecx, dword [eax + 0xc]
lea eax, [edi + 2]
mov dword [esi], eax
mov esi, edx
cmp ecx, 1
jbe 0x4db8c5
mov eax, dword [ebp - 4]
cmp byte [eax + 0x31], 0x2e
jb 0x4db55c
mov eax, esi
shr eax, 7
movzx ecx, word [eax*2 + 0x563720]
mov eax, esi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x54f044]
add ecx, esi
cmp ecx, esi
je 0x4db55c
cmp ecx, 0xffff
ja 0x4db52c
mov eax, dword [ebp - 4]
mov word [eax + 0x32], cx
mov eax, 1
jmp 0x4db55e
mov edx, dword [ebp - 4]
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, edx
mov word [eax + 0x34], cx
mov eax, 2
jmp 0x4db55e
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x40], 1
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x20]
cmp eax, 1
jb 0x4db6b5
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
jmp 0x4db585
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0x18]
add edi, edi
mov ecx, dword [eax + 0x64]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0xc], ecx
cmp ebx, eax
ja 0x4db60e
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4db5c5
mov edi, edi
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4db5ce
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4db5b0
cmp esi, 0xfffffffc
je 0x4db69b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4db60b
cmp esi, 0xfffffffd
je 0x4db69b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4db60b
cmp esi, 0xfffffffe
je 0x4db69b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4db60b
cmp esi, 0xffffffff
je 0x4db69b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4db69b
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x4db831
lea edi, [eax + eax]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4db831
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x4db651
lea ebx, [ebx]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4db656
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4db640
cmp esi, 0xfffffffc
je 0x4db69b
mov al, byte ds:[ecx]
cmp al, byte [edx]
jne 0x4db831
cmp esi, 0xfffffffd
je 0x4db69b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4db831
cmp esi, 0xfffffffe
je 0x4db69b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4db831
cmp esi, 0xffffffff
je 0x4db69b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4db831
mov eax, dword [ebp - 4]
add ebx, edi
mov edx, dword [ebp - 0x40]
inc edx
mov dword [ebp - 0x40], edx
mov dword [eax + 0x38], ebx
mov eax, dword [eax + 0x20]
cmp edx, eax
jbe 0x4db582
mov ecx, dword ds:[ebp - 4]
mov edx, dword [ebp - 8]
mov ecx, dword [ecx + 0x24]
cmp eax, ecx
je 0x4dadc0
cmp dword [ebp - 0x10], 0
je 0x4e4d5c
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov dword [eax + 4], ebx
mov eax, dword [eax + 0x20]
cmp eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 4]
jae 0x4db829
lea esp, [esp]
mov edi, dword [eax + 0xc]
mov eax, dword [ebp + 0x18]
add edi, edi
mov ecx, dword [eax + 0x64]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0xc], ecx
cmp ebx, eax
ja 0x4db77e
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4db731
lea esp, [esp]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4db73a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4db720
cmp esi, 0xfffffffc
je 0x4db80b
mov al, byte ds:[ecx]
cmp al, byte [edx]
jne 0x4db77b
cmp esi, 0xfffffffd
je 0x4db80b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4db77b
cmp esi, 0xfffffffe
je 0x4db80b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4db77b
cmp esi, 0xffffffff
je 0x4db80b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4db80b
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x4db873
lea edi, [eax + eax]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4db873
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x4db7c5
lea ebx, [ebx]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4db7ca
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4db7b0
cmp esi, 0xfffffffc
je 0x4db80b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4db873
cmp esi, 0xfffffffd
je 0x4db80b
mov al, byte ds:[ecx + 1]
cmp al, byte [edx + 1]
jne 0x4db873
cmp esi, 0xfffffffe
je 0x4db80b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4db873
cmp esi, 0xffffffff
je 0x4db80b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4db873
mov eax, dword ds:[ebp - 4]
add ebx, edi
mov edx, dword [ebp - 0x40]
inc edx
mov dword [ebp - 0x40], edx
mov dword [eax + 0x38], ebx
cmp edx, dword [eax + 0x24]
jb 0x4db6f0
mov esi, dword [ebp + 0x18]
jmp 0x4db8ac
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x64]
jb case.0x4daa93.162
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp ebx, dword [eax + 0x6c]
ja 0x4db85e
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov esi, dword [ebp + 0x18]
cmp ebx, dword [esi + 0x64]
jb 0x4db8a9
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4db8a9
cmp ebx, dword [esi + 0x6c]
ja 0x4db891
cmp dword [esi + 0x34], 0
je 0x4db8a9
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x10], 2
mov edx, dword [ebp - 8]
je 0x4daa74
mov ecx, dword ds:[eax + 0x38]
jmp 0x4e3856
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov dword [eax + 0x28], edx
jmp 0x4db8e0
movzx edx, word [edi]
mov ecx, dword [ebp - 4]
mov dword [eax + 0x28], edx
lea eax, [edi + 2]
mov dword [ecx], eax
mov eax, ecx
cmp bl, 0x2e
jb 0x4dba71
test esi, esi
jne 0x4db8f2
cmp dword [ebp - 0x2c], esi
je 0x4db924
cmp edx, 0x7f
jbe 0x4db924
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x563720]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x54f044]
add eax, edx
jmp 0x4db93a
cmp edx, 0xff
ja 0x4db938
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + edx]
jmp 0x4db93a
mov eax, edx
mov ecx, dword [ebp - 4]
mov edx, 1
mov edi, dword [ebp + 0x18]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x20]
cmp esi, edx
jb 0x4db984
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x64]
jae 0x4db9f5
mov ebx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x4db972
cmp dword [ebx + 0x2c], eax
jne 0x4dba29
mov eax, dword ds:[ebp - 4]
add ecx, 2
inc edx
mov dword [eax + 0x38], ecx
cmp edx, esi
jbe 0x4db955
mov edx, dword [eax + 0x24]
cmp esi, edx
je 0x4daa6e
cmp dword [ebp - 0x10], 0
je 0x4e2e9b
mov ecx, dword ds:[eax + 0x38]
mov dword [eax + 4], ecx
cmp esi, edx
jae 0x4db9cb
cmp ecx, dword [edi + 0x64]
jae 0x4dba35
mov ebx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x4db9bd
cmp dword [ebx + 0x2c], eax
jne 0x4db9ce
mov eax, dword [ebp - 4]
add ecx, 2
inc esi
mov dword [eax + 0x38], ecx
cmp esi, edx
jb 0x4db9a4
mov ebx, dword [ebp - 4]
mov esi, dword [ebp + 0x18]
cmp dword [ebp - 0x10], 2
mov edx, dword [ebp - 8]
je 0x4daa74
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x4daa6e
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x1a
jmp 0x4e5251
mov esi, edi
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je 0x4dba29
cmp ecx, dword [esi + 0x6c]
ja 0x4dba10
cmp dword [esi + 0x34], 0
je 0x4dba29
mov dword ds:[esi + 0x2c], 1
nop
cmp edx, 1
ja 0x4dad1f
mov eax, dword [ebp - 4]
xor esi, esi
mov edx, edi
jmp 0x4e21e3
mov esi, dword ds:[ebp + 0x18]
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je 0x4dba69
cmp ecx, dword [esi + 0x6c]
ja 0x4dba50
cmp dword [esi + 0x34], 0
je 0x4dba69
mov dword ds:[esi + 0x2c], 1
nop
cmp edx, 1
ja 0x4dad1f
mov ebx, dword [ebp - 4]
jmp 0x4db9d1
mov edi, dword [eax + 0x20]
mov esi, 1
cmp edi, esi
jb 0x4dbab1
mov edx, dword [eax + 0x38]
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x18]
cmp edx, dword [eax + 0x64]
jae 0x4dbb0a
movzx eax, word ds:[edx]
add edx, 2
mov dword [ebx + 0x38], edx
cmp dword [ebx + 0x28], eax
jne case.0x4daa93.162
inc esi
cmp esi, edi
jbe 0x4dba83
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x24]
cmp edi, edx
je 0x4daa6e
cmp dword [ebp - 0x10], 0
je 0x4e2efe
mov ecx, dword [eax + 0x38]
mov esi, dword [ebp + 0x18]
mov dword [eax + 4], ecx
cmp edi, edx
jae 0x4dbb6b
jmp 0x4dbae0
cmp ecx, dword [esi + 0x64]
jae 0x4dbb45
mov ebx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
jne 0x4dbb6e
mov eax, ebx
add ecx, 2
inc edi
mov dword [eax + 0x38], ecx
cmp edi, edx
jb 0x4dbad7
jmp 0x4dbb6b
mov esi, eax
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
jmp 0x4dbb20
cmp edx, dword [esi + 0x6c]
ja 0x4dbb2f
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
nop
jmp case.0x4daa93.162
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je 0x4dbb6b
cmp ecx, dword [esi + 0x6c]
ja 0x4dbb5b
cmp dword [esi + 0x34], 0
je 0x4dbb6b
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0x10], 2
mov edx, dword [ebp - 8]
je 0x4daa74
mov eax, dword ds:[ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x4daa6e
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x1c
jmp 0x4e5251
mov ecx, dword [ebp - 4]
movzx eax, word [edi + 2]
add edi, 4
mov edx, edi
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x20], eax
mov eax, ecx
mov dword [eax], edi
jmp 0x4dbcd7
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], 1
mov dword [eax + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
mov edx, edi
mov eax, ecx
mov dword [eax], edi
jmp 0x4dbcd4
mov eax, dword ds:[ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], 0
mov dword [eax + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
mov edx, edi
mov eax, ecx
mov dword [eax], edi
jmp 0x4dbcd4
mov eax, dword [ebp - 4]
add edi, 2
mov dword [ebp - 0x10], 2
mov edx, edi
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x4dbcd4
mov eax, dword [ebp - 4]
add edi, 2
mov dword [ebp - 0x10], 2
mov edx, edi
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], edi
jmp 0x4dbcd4
mov eax, dword [ebp - 4]
add edi, 2
mov dword [ebp - 0x10], 2
mov edx, edi
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], edi
jmp 0x4dbcd4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], 2
mov dword [eax + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [ecx + 0x24], eax
mov edx, edi
mov eax, ecx
mov dword [eax], edi
jmp 0x4dbcd4
movzx ecx, word [edi]
cmp bl, 0x48
mov edx, dword [ebp - 4]
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, dword [ebp - 4]
add edi, 2
mov dword [eax], edi
mov eax, dword [ecx*4 + 0x54dba8]
mov dword [edx + 0x20], eax
mov eax, dword [ecx*4 + 0x54caa4]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x54e648]
mov dword [ebp - 0x10], eax
mov eax, edx
mov edx, dword [eax]
mov eax, dword [ebp - 4]
cmp dword [ebp - 8], 0
movzx ecx, word [edi]
lea edi, [edx + 2]
mov dword [eax + 0x28], ecx
mov esi, ecx
mov dword [eax], edi
je 0x4dbd22
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 4]
jne 0x4dbd22
movzx esi, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and esi, 0x3ff
or esi, ecx
mov ecx, dword [ebp - 4]
add esi, 0x10000
mov dword [eax + 0x28], esi
lea eax, [edx + 4]
mov dword [ecx], eax
mov eax, ecx
cmp byte [eax + 0x31], 0x48
jb 0x4dc049
mov edi, dword [ebp - 8]
test edi, edi
jne 0x4dbd38
cmp dword [ebp - 0x2c], edi
je 0x4dbd6a
cmp esi, 0x7f
jbe 0x4dbd6a
mov eax, esi
shr eax, 7
movzx ecx, word [eax*2 + 0x563720]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x54f044]
add eax, esi
jmp 0x4dbd80
cmp esi, 0xff
ja 0x4dbd7e
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x3c]
movzx eax, byte [eax + esi]
jmp 0x4dbd80
mov eax, esi
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x2c], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x20]
mov eax, ebx
test edi, edi
je 0x4dbefb
mov esi, 1
cmp ebx, esi
jb 0x4dbe1a
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
jmp 0x4dbdb3
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
cmp edx, dword [ecx + 0x64]
jae 0x4dbec5
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dbdfa
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
jmp 0x4dbdfd
mov eax, dword [ebp - 4]
lea ecx, [ecx]
cmp dword [eax + 0x28], ecx
je case.0x4daa93.162
cmp dword [eax + 0x2c], ecx
je case.0x4daa93.162
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x4dbdb0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov edi, dword [ecx + 0x24]
cmp eax, edi
je 0x4dadc0
cmp dword [ebp - 0x10], 0
je 0x4e4b7c
cmp dword [ebp - 8], 0
mov eax, ecx
mov edx, dword [eax + 0x38]
mov dword [eax + 4], edx
mov eax, dword [eax + 0x24]
je 0x4dbfce
cmp ebx, eax
jae 0x4dbfae
mov eax, dword ds:[ebp + 0x18]
mov esi, 1
cmp edx, dword [eax + 0x64]
jae 0x4dbf7c
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dbe99
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:[ebp - 4]
cmp dword [eax + 0x28], ecx
je 0x4dbfb1
cmp dword [eax + 0x2c], ecx
je 0x4dbfb1
inc ebx
lea edx, [edx + esi*2]
mov dword [eax + 0x38], edx
cmp ebx, edi
jb 0x4dbe52
lea ecx, [ecx]
jmp 0x4dbfb1
mov esi, ecx
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dbee6
cmp dword ds:[esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edx, 1
cmp ebx, edx
jb 0x4dbe1a
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov edi, edi
mov esi, dword [ebp + 0x18]
cmp ecx, dword [esi + 0x64]
jae 0x4dbf49
mov esi, dword ds:[ebp - 4]
movzx eax, word [ecx]
cmp dword [esi + 0x28], eax
je case.0x4daa93.162
cmp dword [esi + 0x2c], eax
je case.0x4daa93.162
mov eax, esi
add ecx, 2
inc edx
mov dword [eax + 0x38], ecx
mov eax, dword [eax + 0x20]
cmp edx, eax
jbe 0x4dbf10
jmp 0x4dbe1a
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
cmp ecx, dword [esi + 0x6c]
ja 0x4dbf67
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov esi, eax
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4dbfa9
cmp edx, dword [esi + 0x6c]
ja 0x4dbf94
cmp dword [esi + 0x34], 0
je 0x4dbfa9
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
mov eax, dword [ebp - 4]
jmp 0x4dbfb4
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 0x18]
cmp dword ds:[ebp - 0x10], 2
mov edx, dword [ebp - 8]
je 0x4daa74
mov ecx, dword [eax + 0x38]
jmp 0x4e3925
mov esi, dword [ebp + 0x18]
cmp ebx, eax
jae 0x4dc02e
lea esp, [esp]
cmp edx, dword [esi + 0x64]
jae 0x4dc008
mov ecx, dword [ebp - 4]
movzx eax, word [edx]
cmp dword [ecx + 0x28], eax
je 0x4dc02e
cmp dword [ecx + 0x2c], eax
mov eax, ecx
je 0x4dc031
add edx, 2
inc ebx
mov dword [eax + 0x38], edx
cmp ebx, edi
jb 0x4dbfe0
jmp 0x4dc031
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4dc02e
cmp edx, dword [esi + 0x6c]
ja 0x4dc01e
cmp dword [esi + 0x34], 0
je 0x4dc02e
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
mov eax, dword [ebp - 4]
cmp dword [ebp - 0x10], 2
mov edx, dword [ebp - 8]
je 0x4daa74
mov eax, dword [eax + 0x38]
mov ebx, dword [ebp - 4]
jmp 0x4e2f7e
cmp dword [ebp - 8], 0
mov esi, 1
mov ebx, dword [eax + 0x20]
mov eax, ebx
je 0x4dc1c5
lea ecx, [ecx]
cmp ebx, esi
jb 0x4dc0d1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
jmp 0x4dc073
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
cmp edx, dword [ecx + 0x64]
jae 0x4dc18e
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dc0ba
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
add edx, 2
mov dword [eax + 0x38], edx
jmp 0x4dc0bd
mov eax, dword [ebp - 4]
lea ecx, [ecx]
cmp dword [eax + 0x28], ecx
je case.0x4daa93.162
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x4dc070
mov ecx, dword [ebp - 4]
mov edi, dword [ecx + 0x24]
cmp eax, edi
je 0x4daa6e
cmp dword [ebp - 0x10], 0
je 0x4e4b93
mov edx, dword [ebp - 8]
mov eax, ecx
mov ecx, dword [eax + 0x38]
mov dword [eax + 4], ecx
mov eax, dword [eax + 0x24]
test edx, edx
je 0x4dc278
nop
cmp ebx, eax
jae 0x4dc270
jmp 0x4dc110
mov eax, dword ds:[ebp + 0x18]
mov esi, 1
cmp ecx, dword [eax + 0x64]
jae 0x4dc23b
movzx edx, word [ecx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dc159
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, dword ds:[ebp - 4]
cmp dword [eax + 0x28], edx
je 0x4dc170
inc ebx
lea ecx, [ecx + esi*2]
mov dword [eax + 0x38], ecx
cmp ebx, edi
jb 0x4dc110
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp - 8]
cmp dword ds:[ebp - 0x10], 2
je 0x4daa74
mov ebx, dword [ebp - 4]
jmp 0x4e39ef
mov esi, ecx
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
nop
cmp edx, dword [esi + 0x6c]
ja 0x4dc1af
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
nop
jmp case.0x4daa93.162
cmp ebx, 1
jb 0x4dc0d1
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x18]
cmp edx, dword [eax + 0x64]
jae 0x4dc205
mov edi, dword [ebp - 4]
movzx eax, word [edx]
add edx, 2
mov dword [edi + 0x38], edx
cmp dword [edi + 0x28], eax
mov eax, edi
je 0x4db0aa
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x4dc1d4
jmp 0x4dc200
jmp 0x4dc0d1
mov esi, eax
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dc226
cmp dword ds:[esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov esi, eax
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je 0x4dc173
cmp ecx, dword [esi + 0x6c]
ja 0x4dc25b
cmp dword [esi + 0x34], 0
je 0x4dc173
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
jmp 0x4dc173
mov esi, dword [ebp + 0x18]
jmp 0x4dc176
mov esi, dword ds:[ebp + 0x18]
cmp ebx, eax
jae 0x4dc2f1
cmp ecx, dword [esi + 0x64]
jae 0x4dc2ab
mov edx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [edx + 0x28], eax
mov eax, edx
je 0x4dc2d5
add ecx, 2
inc ebx
mov dword [eax + 0x38], ecx
cmp ebx, edi
jb 0x4dc288
jmp 0x4dc2d5
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je 0x4dc2d2
cmp ecx, dword [esi + 0x6c]
ja 0x4dc2c2
cmp dword ds:[esi + 0x34], 0
je 0x4dc2d2
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
cmp dword ds:[ebp - 0x10], 2
je 0x4daa74
mov eax, dword [eax + 0x38]
mov ebx, dword [ebp - 4]
jmp 0x4e2ff5
mov eax, dword [ebp - 4]
jmp 0x4dc2d8
mov ecx, dword [ebp - 4]
lea eax, [edi + 2]
add edi, 0x22
mov dword [ecx + 8], eax
mov eax, ecx
mov dword [eax], edi
movzx ecx, word [edi]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x4dc320
movzx eax, byte [eax + 0x4e5650]
lea esp, [esp]
jmp dword [eax*4 + 0x4e5648]
mov edx, dword [ebp - 4]
lea eax, [edi + 2]
mov ebx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov edx, dword [ecx*4 + str.PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES_is_not_allowed_in_UTF_16_mode]
mov dword [eax + 0x20], edx
mov eax, dword [ecx*4 + 0x54c91c]
mov dword [ebx + 0x24], eax
mov ebx, dword [ecx*4 + 0x54e4c0]
mov dword [ebp - 0x10], ebx
jmp 0x4dc3a0
mov eax, dword [ebp - 4]
mov ecx, 0xffffffff
movzx edx, word [edi + 2]
mov dword [eax + 0x20], edx
movzx eax, word [edi + 4]
test eax, eax
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], eax
movzx eax, word [edi]
mov eax, dword [eax*4 + 0x54e4c0]
mov dword [ebp - 0x10], eax
lea eax, [edi + 6]
mov dword [ecx], eax
jmp 0x4dc3a0
mov eax, dword [ebp - 4]
mov edx, 1
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
cmp dword [ebp - 8], 0
mov ebx, 1
mov dword [ebp - 0xc], edx
mov eax, edx
je 0x4dc490
cmp edx, ebx
jb 0x4dc52e
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x38]
cmp edi, dword [esi + 0x64]
jae 0x4dc45d
movzx esi, word ds:[edi]
add edi, 2
mov dword [eax + 0x38], edi
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dc40b
movzx eax, word [edi]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov eax, dword [ebp - 4]
add esi, 0x10000
add edi, 2
mov dword [eax + 0x38], edi
jmp 0x4dc40e
mov eax, dword [ebp - 4]
cmp esi, 0xff
jbe 0x4dc428
cmp byte ds:[eax + 0x31], 0x6e
je case.0x4daa93.162
jmp 0x4dc446
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
mov eax, dword [ebp - 4]
je 0x4db0aa
mov eax, dword [eax + 0x20]
inc ebx
cmp ebx, eax
ja 0x4dc52e
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 0x18]
jmp 0x4dc3c2
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edi, dword [esi + 0x6c]
ja 0x4dc47b
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
cmp edx, 1
jb 0x4dc52e
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x38]
nop
cmp edi, dword [esi + 0x64]
jae 0x4dc4fa
movzx esi, word [edi]
add edi, 2
mov dword [eax + 0x38], edi
cmp esi, 0xff
jbe 0x4dc4c8
cmp byte ds:[eax + 0x31], 0x6e
je case.0x4daa93.162
jmp 0x4dc4e6
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
mov eax, dword [ebp - 4]
je 0x4db0aa
mov eax, dword [eax + 0x20]
inc ebx
cmp ebx, eax
ja 0x4dc52e
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 0x18]
jmp 0x4dc4a0
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edi, dword [esi + 0x6c]
ja 0x4dc518
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov ecx, dword ds:[ebp - 4]
mov esi, dword [ebp + 0x18]
mov ebx, dword [ecx + 0x24]
mov dword [ebp - 0x40], ebx
cmp eax, ebx
je 0x4daa71
cmp dword [ebp - 0x10], 0
je 0x4e4bb1
mov edx, dword [ebp - 8]
mov eax, ecx
mov edi, dword [eax + 0x38]
mov dword [eax + 4], edi
mov eax, dword [eax + 0x24]
test edx, edx
je 0x4dc650
cmp dword [ebp - 0xc], eax
jae 0x4dc5d8
mov esi, dword ds:[ebp + 0x18]
mov ebx, 1
cmp edi, dword [esi + 0x64]
jae 0x4dc62b
movzx esi, word [edi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dc5b9
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 ds:[ebp - 4]
cmp esi, 0xff
jbe 0x4dc5f4
cmp byte [eax + 0x31], 0x6e
jne 0x4dc60e
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp - 8]
cmp dword ds:[ebp - 0x10], 2
je 0x4daa74
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x4e5251
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 0x4dc5d2
mov eax, dword [ebp - 4]
lea edi, ds:[edi + ebx*2]
mov dword [eax + 0x38], edi
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x40]
jb 0x4dc571
jmp 0x4dc5d2
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4dc5d5
cmp edi, dword [esi + 0x6c]
ja 0x4dc642
cmp dword ds:[esi + 0x34], 0
je 0x4dc5d5
mov dword [esi + 0x2c], ebx
cmp ecx, 1
ja 0x4dad1f
jmp 0x4dc5d5
cmp dword [ebp - 0xc], eax
jae 0x4dc68c
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
nop
mov esi, dword [ebp + 0x18]
cmp edi, dword [esi + 0x64]
jae 0x4dc6ea
movzx esi, word [edi]
cmp esi, 0xff
jbe 0x4dc6b4
cmp byte ds:[ecx + 0x31], 0x6e
jne 0x4dc6d4
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0x10], 2
je 0x4daa74
mov ebx, dword [ebp - 4]
mov eax, dword ds:[ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x4daa93.162
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x18
jmp 0x4e5251
mov eax, dword [ebp - 4]
mov ecx, esi
and ecx, 7
shr esi, 3
mov edx, 1
shl edx, cl
mov eax, dword [eax + 8]
test byte [esi + eax], dl
je 0x4dc686
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
inc eax
add edi, 2
mov dword [ecx + 0x38], edi
mov dword [ebp - 0xc], eax
cmp eax, ebx
jb 0x4dc660
jmp 0x4dc686
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4dc689
cmp edi, dword [esi + 0x6c]
ja 0x4dc702
cmp dword ds:[esi + 0x34], 0
je 0x4dc689
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp 0x4dc689
mov ecx, dword [ebp - 4]
lea eax, [edi + 4]
mov dword [ecx + 8], eax
movzx eax, word [edi + 2]
lea edx, [edi + eax*2]
mov eax, ecx
mov dword [eax], edx
movzx edi, word [edx]
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x4dc741
movzx eax, byte [eax + 0x4e5664]
jmp dword [eax*4 + 0x4e565c]
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
mov esi, dword [edi*4 + 0x54c91c]
mov dword [ecx], eax
mov eax, dword [ebp - 4]
mov ecx, dword [edi*4 + str.PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES_is_not_allowed_in_UTF_16_mode]
lea ebx, [eax + 0x24]
mov dword [eax + 0x20], ecx
mov eax, dword [edi*4 + 0x54e4c0]
mov dword [ebx], esi
mov dword [ebp - 0x10], eax
jmp 0x4dc7ad
mov eax, dword [ebp - 4]
movzx ecx, word [edx + 2]
lea ebx, [eax + 0x24]
mov dword [eax + 0x20], ecx
movzx esi, word [edx + 4]
mov dword [ebx], esi
test esi, esi
jne 0x4dc798
mov dword [ebx], 0xffffffff
or esi, 0xffffffff
movzx eax, word [edx]
mov eax, dword [eax*4 + 0x54e4c0]
mov dword [ebp - 0x10], eax
lea eax, [edx + 6]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov edi, ebx
cmp ecx, 1
jb 0x4dc85e
mov esi, 1
jmp 0x4dc7e5
mov eax, dword ds:[ebp - 4]
mov esi, 1
lea ebx, [eax + 0x24]
mov dword [ebx], 1
mov edi, ebx
mov dword [eax + 0x20], 1
jmp 0x4dc7e5
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jae 0x4dc965
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dc83e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dc83b
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
push dword [ebp - 8]
mov edx, dword [eax + 8]
call fcn.005151e0
test eax, eax
mov eax, dword [ebp - 4]
je 0x4db0aa
mov ecx, dword [eax + 0x20]
inc esi
cmp esi, ecx
jbe 0x4dc7e2
mov esi, dword [edi]
mov edi, edi
cmp ecx, esi
je 0x4daa6e
cmp dword [ebp - 0x10], 0
je 0x4e4d45
mov edx, dword ds:[eax + 0x38]
mov dword [eax + 4], edx
mov edi, dword [eax + 0x20]
cmp edi, esi
jb 0x4dc8a8
mov esi, dword [ebp + 0x18]
cmp dword [ebp - 0x10], 2
je 0x4daa71
mov ebx, dword [ebp - 4]
mov edi, dword ds:[ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x4e5251
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, 1
cmp edx, dword [ecx + 0x64]
jae 0x4dc92d
cmp dword [ebp - 8], 0
movzx ecx, word [edx]
je 0x4dc8fa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dc8f7
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 [ebp - 4]
push dword [ebp - 8]
mov edx, dword [eax + 8]
call fcn.005151e0
test eax, eax
je 0x4dc888
mov ecx, dword ds:[ebp - 4]
lea eax, [esi + esi]
inc edi
add dword [ecx + 0x38], eax
mov eax, ecx
mov edx, dword [eax + 0x38]
cmp edi, dword [ebx]
jb 0x4dc8a5
jmp 0x4dc888
mov esi, ecx
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4dc88b
mov edi, edi
cmp edx, dword [esi + 0x6c]
ja 0x4dc94f
cmp dword [esi + 0x34], 0
je 0x4dc88b
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
nop
jmp 0x4dc88b
mov esi, ecx
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dc986
cmp dword ds:[esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dc9dd
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dc9c8
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dca2f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dca2f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dca32
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja 0x4dcaf9
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 8
je 0x4dcaf9
jmp case.0x4daa93.162
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dca92
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dca7d
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dcadc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dcadc
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dcadf
mov edx, dword [ebp - 4]
nop
cmp ecx, 0xff
ja case.0x4daa93.162
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 8
je case.0x4daa93.162
lea eax, ds:[edi + 2]
mov dword [edx], eax
jmp 0x4daa71
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dcb4e
movzx eax, word ds:[esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dcb38
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dcb9c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dcb9c
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dcb9f
mov edx, dword [ebp - 4]
nop
cmp ecx, 0xff
ja 0x4dcaf9
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
je 0x4dcaf9
jmp case.0x4daa93.162
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dcc05
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
lea esp, [esp]
cmp edx, dword [esi + 0x6c]
ja 0x4dcbef
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
nop
jmp case.0x4daa93.162
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dcc4f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dcc4f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dcc52
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.0x4daa93.162
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 1
je case.0x4daa93.162
lea eax, [edi + 2]
mov dword [edx], eax
jmp 0x4daa71
mov eax, dword ds:[ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dccbc
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dcca7
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dcd0f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dcd0f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dcd12
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja 0x4dcaf9
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
je 0x4dcaf9
jmp case.0x4daa93.162
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dcd7b
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dcd66
cmp dword ds:[esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dcdcf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dcdcf
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dcdd2
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.0x4daa93.162
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
je case.0x4daa93.162
lea eax, [edi + 2]
mov dword [edx], eax
jmp 0x4daa71
mov eax, dword ds:[ebp - 4]
mov ecx, dword [ebp + 0x18]
mov esi, dword [eax + 0x38]
cmp esi, dword [ecx + 0x64]
jb 0x4dce4e
movzx eax, word [ecx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4dce33
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword ds:[eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word ds:[esi]
add esi, 2
cmp dword [ebp - 8], 0
mov edx, esi
mov dword [eax + 0x38], esi
je 0x4dce9a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dce9a
movzx eax, word [esi]
lea edx, [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], edx
lea ebx, [ebx]
cmp ecx, 0xd
ja 0x4dcf39
je 0x4dcec6
cmp ecx, 0xa
je 0x4dcf79
jbe case.0x4daa93.162
cmp ecx, 0xc
jmp 0x4dcf5e
mov esi, dword [ebp + 0x18]
cmp edx, dword [esi + 0x64]
jb 0x4dcf17
movzx eax, word ds:[esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4dcf7c
cmp edx, dword [esi + 0x6c]
ja 0x4dcefc
cmp dword [esi + 0x34], 0
je 0x4dcf7c
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x4daa71
cmp word ds:[edx], 0xa
jne 0x4dcf7c
mov ecx, dword [ebp - 4]
lea eax, [edx + 2]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 2
jmp 0x4daa71
lea esp, [esp]
cmp ecx, 0x85
je 0x4dcf66
cmp ecx, 0x2027
jbe case.0x4daa93.162
cmp ecx, 0x2029
mov edi, edi
ja case.0x4daa93.162
mov esi, dword [ebp + 0x18]
cmp word [esi + 0x4e], 2
jne 0x4dcf7c
jmp case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x4daa71
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dcfd1
movzx eax, word ds:[esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dcfbc
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dd01f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dd01f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dd022
mov edx, dword [ebp - 4]
cmp ecx, 0x180e
ja 0x4dd070
je case.0x4daa93.162
jmp 0x4dd040
cmp ecx, 0xa0
ja 0x4dd065
je case.0x4daa93.162
cmp ecx, 9
je case.0x4daa93.162
cmp ecx, 0x20
jmp 0x4dcaf3
cmp ecx, 0x1680
jmp 0x4dcaf3
cmp ecx, 0x205f
ja 0x4dd0a9
lea esp, [esp]
je case.0x4daa93.162
cmp ecx, 0x2000
jb 0x4dcaf9
cmp ecx, 0x200a
jbe case.0x4daa93.162
cmp ecx, 0x202f
jmp 0x4dcaf3
cmp ecx, 0x3000
je case.0x4daa93.162
lea eax, [edi + 2]
mov dword [edx], eax
jmp 0x4daa71
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dd10e
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
lea ecx, [ecx]
cmp edx, dword [esi + 0x6c]
ja 0x4dd0f3
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dd15f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dd15f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dd162
mov edx, dword [ebp - 4]
cmp ecx, 0x180e
ja 0x4dd1b0
je 0x4dcaf9
jmp 0x4dd180
cmp ecx, 0xa0
ja 0x4dd1a5
je 0x4dcaf9
cmp ecx, 9
je 0x4dcaf9
cmp ecx, 0x20
jmp 0x4dd1ef
cmp ecx, 0x1680
jmp 0x4dd1ef
cmp ecx, 0x205f
ja 0x4dd1e9
lea esp, [esp]
je 0x4dcaf9
cmp ecx, 0x2000
jb case.0x4daa93.162
cmp ecx, 0x200a
jbe 0x4dcaf9
cmp ecx, 0x202f
jmp 0x4dd1ef
cmp ecx, 0x3000
je 0x4dcaf9
jmp case.0x4daa93.162
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dd24e
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
jmp 0x4dd220
cmp edx, dword [esi + 0x6c]
ja 0x4dd233
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dd29f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dd29f
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dd2a2
mov edx, dword [ebp - 4]
cmp ecx, 0x85
ja 0x4dd2d3
je case.0x4daa93.162
cmp ecx, 0xa
jb 0x4dcaf9
lea ecx, [ecx]
cmp ecx, 0xd
jbe case.0x4daa93.162
lea eax, [edi + 2]
mov dword [edx], eax
jmp 0x4daa71
lea eax, ds:[ecx - 0x2028]
cmp eax, 1
ja 0x4dcaf9
jmp case.0x4daa93.162
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dd334
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4dd31f
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4dd385
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dd385
movzx eax, word ds:[edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
jmp 0x4dd388
mov edx, dword [ebp - 4]
cmp ecx, 0x85
ja 0x4dd3b7
je 0x4dcaf9
lea ebx, [ebx]
cmp ecx, 0xa
jb case.0x4daa93.162
cmp ecx, 0xd
jbe 0x4dcaf9
jmp case.0x4daa93.162
lea eax, ds:[ecx - 0x2028]
cmp eax, 1
ja case.0x4daa93.162
lea eax, [edi + 2]
mov dword [edx], eax
jmp 0x4daa71
mov esi, dword ds:[ebp - 4]
mov eax, dword [ebp + 0x18]
mov ecx, dword [esi + 0x38]
cmp ecx, dword [eax + 0x64]
jb 0x4dd42e
mov esi, eax
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
lea ebx, [ebx]
cmp ecx, dword [esi + 0x6c]
ja 0x4dd413
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx edx, word ds:[ecx]
add ecx, 2
cmp dword [ebp - 8], 0
mov dword [esi + 0x38], ecx
je 0x4dd477
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dd477
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 [esi + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x563720]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea ecx, [eax + eax*2]
movzx eax, word [edi + 2]
cmp eax, 0xa
ja case.0x4e30cb.15
jmp dword [eax*4 + 0x4e5670]
cmp bl, 0xf
je case.0x4daa93.162
add dword ds:[esi], 6
jmp 0x4daa6e
mov al, byte [ecx*4 + 0x54f041]
cmp al, 9
je 0x4dd4ef
cmp al, 5
je 0x4dd4ef
lea esp, [esp]
cmp al, 8
je 0x4dd4ef
xor ecx, ecx
jmp 0x4dd4f4
mov ecx, 1
xor eax, eax
cmp bl, 0xf
sete al
cmp ecx, eax
mov edi, edi
jne 0x4dd4b9
jmp case.0x4daa93.162
movzx ecx, byte [ecx*4 + 0x54f041]
xor edx, edx
movzx eax, word [edi + 4]
cmp eax, dword [ecx*4 + 0x567b60]
setne dl
xor eax, eax
cmp bl, 0x10
sete al
cmp edx, eax
jne 0x4dd4b9
jmp case.0x4daa93.162
movzx eax, byte [ecx*4 + 0x54f041]
xor ecx, ecx
cmp word [edi + 4], ax
setne cl
xor eax, eax
cmp bl, 0x10
sete al
cmp ecx, eax
jne 0x4dd4b9
jmp case.0x4daa93.162
movzx eax, byte [ecx*4 + 0x54f040]
mov edi, edi
jmp 0x4dd538
movzx eax, byte [ecx*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4dd4ef
lea ebx, [ebx]
cmp eax, 3
je 0x4dd4ef
xor ecx, ecx
jmp 0x4dd4f4
cmp edx, 0x180e
ja 0x4dd5f7
lea esp, [esp]
je case.0x4dd4a9.0
cmp edx, 0x85
ja 0x4dd5da
je case.0x4dd4a9.0
jmp 0x4dd5c0
cmp edx, 9
jb case.0x4dd630.8203
cmp edx, 0xd
jbe case.0x4dd4a9.0
cmp edx, 0x20
jmp 0x4dd652
lea ebx, [ebx]
cmp edx, 0xa0
je case.0x4dd4a9.0
cmp edx, 0x1680
jmp 0x4dd652
jmp 0x4dd600
cmp edx, 0x202f
ja 0x4dd637
je case.0x4dd4a9.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4dd630.8203
movzx eax, byte [edx + 0x4e56a4]
jmp dword [eax*4 + 0x4e569c]
jmp 0x4dd640
cmp edx, 0x205f
je case.0x4dd4a9.0
cmp edx, 0x3000
je case.0x4dd4a9.0
movzx eax, byte [ecx*4 + 0x54f041]
xor ecx, ecx
cmp dword [eax*4 + 0x567b60], 6
sete cl
jmp 0x4dd4f4
movzx eax, byte [ecx*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4dd4ef
cmp eax, 3
je 0x4dd4ef
cmp edx, 0x5f
je 0x4dd4ef
xor ecx, ecx
jmp 0x4dd4f4
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x54ee80]
lea eax, [eax*4 + 0x54ee80]
cmp edx, ecx
jb 0x4dd6d1
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x4dd6da
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4dd6c0
cmp byte [esi + 0x31], 0x10
jmp 0x4dd4fe
cmp byte ds:[esi + 0x31], 0x10
je 0x4dd4b9
jmp case.0x4daa93.162
cmp edx, 0x24
je 0x4dd4ef
cmp edx, 0x40
je 0x4dd4ef
lea ecx, [ecx]
cmp edx, 0x60
je 0x4dd4ef
cmp edx, 0xa0
jb 0x4dd72c
jmp 0x4dd720
cmp edx, 0xd7ff
jbe 0x4dd4ef
cmp edx, 0xe000
jae 0x4dd4ef
xor ecx, ecx
jmp 0x4dd4f4
mov ebx, dword [ebp - 4]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4dd78e
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
lea ecx, [ecx]
cmp edx, dword [esi + 0x6c]
ja 0x4dd773
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
movzx ecx, word ds:[edx]
add edx, 2
mov edi, dword [ebp - 8]
mov esi, edx
mov dword [ebx + 0x38], edx
test edi, edi
je 0x4dd7d9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dd7d9
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
mov dword [ebx + 0x38], esi
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp + 0x18]
mov edx, esi
push 0
push edi
push dword [eax + 0x64]
push dword [eax + 0x5c]
call fcn.00515c60
mov esi, dword [ebp + 0x18]
mov dword [ebx + 0x38], eax
cmp eax, dword [esi + 0x64]
jb 0x4dd82d
movzx ecx, word [esi + 0x4c]
mov edx, ecx
test cx, cx
je 0x4dd82d
cmp eax, dword [esi + 0x6c]
ja 0x4dd81d
cmp dword [esi + 0x34], 0
je 0x4dd82d
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
add dword [ebx], 2
mov edx, edi
jmp 0x4daa74
movzx eax, word [edi + 2]
add edi, 4
mov edx, dword [ebp - 4]
mov dword [ebp - 0xc], eax
mov dword [edx + 0x24], eax
mov dword [edx + 0x20], eax
mov eax, edi
mov dword [edx], edi
jmp 0x4dd95f
mov edx, dword ds:[ebp - 4]
mov dword [ebp - 0xc], 0
mov dword [edx + 0x20], 0
movzx eax, word [edi + 2]
mov dword [edx + 0x24], eax
xor eax, eax
cmp word [edi], 0x5c
setne al
add edi, 4
mov dword [ebp - 0x10], eax
mov eax, edi
mov dword [edx], edi
jmp 0x4dd95f
mov edx, dword [ebp - 4]
add edi, 2
mov dword [ebp - 0x10], 2
mov eax, edi
mov dword [ebp - 0xc], 0
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0xffffffff
mov dword [edx], edi
jmp 0x4dd95f
mov edx, dword [ebp - 4]
add edi, 2
mov dword [ebp - 0x10], 2
mov eax, edi
mov dword [ebp - 0xc], 1
mov dword [edx + 0x20], 1
mov dword [edx + 0x24], 0xffffffff
mov dword [edx], edi
jmp 0x4dd95f
mov edx, dword [ebp - 4]
add edi, 2
mov dword [ebp - 0x10], 2
mov eax, edi
mov dword [ebp - 0xc], 0
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 1
mov dword [edx], edi
jmp 0x4dd95f
mov edx, dword [ebp - 4]
mov dword [ebp - 0x10], 2
mov dword [ebp - 0xc], 0
mov dword [edx + 0x20], 0
movzx eax, word [edi + 2]
add edi, 4
mov dword [edx + 0x24], eax
mov eax, edi
mov dword [edx], edi
jmp 0x4dd95f
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 4]
mov eax, dword [ecx*4 + 0x54da54]
mov dword [edx], edi
mov dword [edx + 0x20], eax
mov dword [ebp - 0xc], eax
mov eax, dword [ecx*4 + 0x54c950]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x54e4f4]
mov dword [ebp - 0x10], eax
mov eax, dword [edx]
movzx ebx, word [edi]
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [edx + 0x28], ebx
mov dword [eax], ecx
cmp ebx, 0x10
je 0x4dd98a
cmp ebx, 0xf
je 0x4dd98a
mov edi, dword [ebp - 0xc]
or edx, 0xffffffff
jmp 0x4dd9a8
movzx edx, word [ecx]
add ecx, 2
mov esi, dword [ebp - 4]
mov dword [eax], ecx
movzx eax, word [ecx]
mov dword [esi + 0x2c], eax
lea eax, [ecx + 2]
mov dword [esi], eax
mov eax, esi
mov edi, dword [eax + 0x20]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x40], edx
test edi, edi
je 0x4ddb59
test edx, edx
js 0x4de552
jmp 0x4dd9c0
cmp edx, 0xa
ja case.0x4e30cb.15
jmp dword [edx*4 + 0x4e56d0]
cmp ebx, 0xf
je case.0x4daa93.162
mov ebx, dword [ebp - 4]
mov esi, 1
cmp edi, esi
jb 0x4ddb5c
mov ecx, dword [ebx + 0x38]
lea esp, [esp]
mov eax, dword [ebp + 0x18]
cmp ecx, dword [eax + 0x64]
jae 0x4dda3c
cmp dword [ebp - 8], 0
lea eax, [ecx + 2]
movzx edx, word [ecx]
mov ecx, eax
mov dword [ebx + 0x38], eax
je 0x4dda32
and edx, 0xfc00
cmp edx, 0xd800
jne 0x4dda32
lea ecx, [eax + 2]
mov dword [ebx + 0x38], ecx
inc esi
cmp esi, edi
jbe 0x4dd9f0
jmp 0x4ddb5c
mov esi, eax
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
cmp ecx, dword [esi + 0x6c]
ja 0x4dda66
cmp dword ds:[esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edi, 1
cmp dword [ebp - 0xc], edi
jb 0x4ddb59
mov esi, dword [eax + 0x38]
lea esp, [esp]
mov ecx, dword [ebp + 0x18]
cmp esi, dword [ecx + 0x64]
jae 0x4ddbb0
cmp dword [ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x4ddaed
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ddaed
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x54f041]
cmp al, 9
je 0x4ddb37
lea esp, [esp]
cmp al, 5
je 0x4ddb37
cmp al, 8
je 0x4ddb37
xor ecx, ecx
jmp 0x4ddb3c
mov ecx, 1
xor eax, eax
cmp ebx, 0xf
sete al
cmp ecx, eax
mov eax, dword [ebp - 4]
je 0x4db0aa
inc edi
cmp edi, dword [ebp - 0xc]
jbe 0x4dda90
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 8]
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x20]
mov ebx, dword [ebx + 0x24]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x30], ebx
cmp ecx, ebx
je 0x4daa71
cmp dword ds:[ebp - 0x10], 0
mov eax, dword [ebp - 0x40]
je 0x4e4bc9
mov edx, dword [ebp - 4]
mov esi, dword [edx + 0x38]
mov dword [edx + 4], esi
test eax, eax
js 0x4e0616
jmp 0x4ddba0
cmp eax, 0xa
ja case.0x4e30cb.15
jmp dword [eax*4 + 0x4e56fc]
movzx eax, word [ecx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4ddbd5
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword ds:[eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edi, 1
cmp dword [ebp - 0xc], edi
jb 0x4ddb59
mov esi, dword [eax + 0x38]
nop
mov ecx, dword [ebp + 0x18]
cmp esi, dword [ecx + 0x64]
jae 0x4ddcb5
cmp dword ds:[ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x4ddc5a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ddc5a
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov edx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, dword [edx + 0x2c]
sete cl
xor eax, eax
cmp ebx, 0xf
sete al
cmp ecx, eax
mov eax, edx
je 0x4db0aa
inc edi
cmp edi, dword [ebp - 0xc]
jbe 0x4ddc00
jmp 0x4ddb59
movzx eax, word ds:[ecx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4ddcdf
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edi, 1
cmp dword [ebp - 0xc], edi
jb 0x4ddb59
mov esi, dword [eax + 0x38]
lea esp, [esp]
mov ecx, dword [ebp + 0x18]
cmp esi, dword [ecx + 0x64]
jae 0x4dddc5
cmp dword [ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x4ddd6d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ddd6d
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov edx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
cmp eax, dword [edx + 0x2c]
sete cl
xor eax, eax
cmp ebx, 0xf
sete al
cmp ecx, eax
mov eax, edx
je 0x4db0aa
inc edi
cmp edi, dword [ebp - 0xc]
jbe 0x4ddd10
lea esp, [esp]
jmp 0x4ddb59
movzx eax, word [ecx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4dddf3
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword ds:[eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edi, 1
cmp dword [ebp - 0xc], edi
jb 0x4ddb59
mov esi, dword [eax + 0x38]
nop
mov ecx, dword [ebp + 0x18]
cmp esi, dword [ecx + 0x64]
jae 0x4ddece
cmp dword ds:[ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x4dde7a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dde7a
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov edx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f040]
cmp eax, dword [edx + 0x2c]
sete cl
xor eax, eax
cmp ebx, 0xf
sete al
cmp ecx, eax
mov eax, edx
je 0x4db0aa
inc edi
cmp edi, dword [ebp - 0xc]
jbe 0x4dde20
jmp 0x4ddb59
movzx eax, word [ecx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4ddef3
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword ds:[eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edi, 1
cmp dword [ebp - 0xc], edi
jb 0x4ddb59
mov esi, dword [eax + 0x38]
nop
mov ecx, dword [ebp + 0x18]
cmp esi, dword [ecx + 0x64]
jae 0x4ddfee
cmp dword ds:[ebp - 8], 0
lea edx, [esi + 2]
movzx ecx, word [esi]
mov esi, edx
mov dword [eax + 0x38], edx
je 0x4ddf7a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ddf7a
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 4]
add ecx, 0x10000
mov dword [eax + 0x38], esi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4ddfc5
cmp eax, 3
je 0x4ddfc5
xor ecx, ecx
jmp 0x4ddfca
mov ecx, 1
xor eax, eax
cmp ebx, 0xf
sete al
cmp ecx, eax
mov eax, dword [ebp - 4]
je 0x4db0aa
inc edi
cmp edi, dword [ebp - 0xc]
jbe 0x4ddf20
jmp 0x4ddb59
movzx eax, word [ecx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4de013
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword ds:[eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov ebx, dword ds:[ebp - 4]
mov esi, 1
cmp edi, esi
mov edi, dword [ebp - 8]
jb 0x4ddb5f
mov eax, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [eax + 0x64]
jae 0x4de1b6
movzx ecx, word ds:[edx]
add edx, 2
mov dword [ebx + 0x38], edx
test edi, edi
je 0x4de099
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4de099
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
lea esp, [esp]
cmp ecx, 0x180e
ja 0x4de0fc
je case.0x4de130.8192
cmp ecx, 0x85
ja 0x4de0e5
mov edi, edi
je case.0x4de130.8192
cmp ecx, 9
jb case.0x4de130.8203
cmp ecx, 0xd
jbe case.0x4de130.8192
cmp ecx, 0x20
jmp 0x4de152
cmp ecx, 0xa0
je case.0x4de130.8192
cmp ecx, 0x1680
jmp 0x4de152
lea esp, [esp]
cmp ecx, 0x202f
ja 0x4de137
je case.0x4de130.8192
lea eax, ds:[ecx - 0x2000]
cmp eax, 0x29
ja case.0x4de130.8203
movzx eax, byte [eax + 0x4e5730]
jmp dword [eax*4 + 0x4e5728]
jmp 0x4de140
cmp ecx, 0x205f
je case.0x4de130.8192
cmp ecx, 0x3000
je case.0x4de130.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
cmp dword [eax*4 + 0x567b60], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jmp 0x4de1a1
cmp dword [ebx + 0x28], 0xf
je case.0x4daa93.162
inc esi
cmp esi, dword [ebx + 0x20]
jbe 0x4de046
jmp 0x4ddb5f
mov esi, eax
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4de1dc
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edi, 1
cmp dword [ebp - 0xc], edi
jb 0x4ddb59
mov esi, dword [eax + 0x38]
mov ecx, dword [ebp + 0x18]
cmp esi, dword [ecx + 0x64]
jae 0x4de2d7
cmp dword ds:[ebp - 8], 0
lea ecx, [esi + 2]
movzx edx, word [esi]
mov esi, ecx
mov dword [eax + 0x38], ecx
je 0x4de25a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4de25a
movzx eax, word [ecx]
lea esi, [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, dword [ebp - 4]
add edx, 0x10000
mov dword [eax + 0x38], esi
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x563720]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4de2b0
cmp eax, 3
je 0x4de2b0
lea ecx, [ecx]
cmp edx, 0x5f
je 0x4de2b0
xor ecx, ecx
jmp 0x4de2b5
mov ecx, 1
xor eax, eax
cmp ebx, 0xf
sete al
cmp ecx, eax
mov eax, dword [ebp - 4]
je 0x4db0aa
inc edi
cmp edi, dword [ebp - 0xc]
jbe 0x4de202
jmp 0x4ddb59
movzx eax, word ds:[ecx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4de2ff
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov esi, 1
cmp edi, esi
jb 0x4ddb59
jmp 0x4de330
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jae 0x4de3ed
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4de390
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4de38d
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax*4 + 0x54ee80]
lea eax, [eax*4 + 0x54ee80]
cmp ecx, edx
jb 0x4de3c4
lea esp, [esp]
lea eax, [eax + 4]
cmp ecx, edx
je 0x4de3de
mov edx, dword ds:[eax]
cmp ecx, edx
jae 0x4de3b0
mov eax, dword [ebp - 4]
cmp ebx, 0xf
jne 0x4db0aa
inc esi
cmp esi, edi
jbe 0x4de330
jmp 0x4ddb59
mov eax, dword [ebp - 4]
cmp dword [eax + 0x28], 0xf
je case.0x4daa93.162
jmp 0x4de3d0
mov esi, ecx
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov edi, edi
cmp edx, dword [esi + 0x6c]
ja 0x4de413
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov esi, 1
cmp edi, esi
jb 0x4ddb59
jmp 0x4de440
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x64]
jae 0x4de519
movzx ecx, word ds:[edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x4de49a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4de49a
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
add ecx, 0x10000
mov dword [edx + 0x38], eax
lea ebx, [ebx]
cmp ecx, 0x24
je 0x4de4f3
cmp ecx, 0x40
je 0x4de4f3
cmp ecx, 0x60
je 0x4de4f3
jmp 0x4de4c0
cmp ecx, 0xa0
jb 0x4de4d8
cmp ecx, 0xd7ff
jbe 0x4de4f3
jmp 0x4de4e0
cmp ecx, 0xe000
jae 0x4de4f3
xor ecx, ecx
jmp 0x4de4f8
mov ecx, 1
xor eax, eax
cmp ebx, 0xf
sete al
cmp ecx, eax
mov eax, dword [ebp - 4]
je 0x4db0aa
inc esi
cmp esi, edi
jbe 0x4de440
jmp 0x4ddb59
mov esi, ecx
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4de53d
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
cmp ebx, 0x16
jne 0x4de674
mov ebx, dword [ebp - 4]
mov edi, 1
cmp dword [ebp - 0xc], edi
jb 0x4ddb5c
mov ecx, dword [ebp + 0x18]
mov esi, dword [ecx + 0x64]
mov edx, dword [ebx + 0x38]
cmp edx, esi
jae 0x4de638
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov esi, edx
mov dword [ebx + 0x38], edx
je 0x4de5ca
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4de5ca
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
mov dword [ebx + 0x38], esi
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp + 0x18]
mov edx, esi
push 0
push dword [ebp - 8]
push dword [eax + 0x64]
push dword [eax + 0x5c]
call fcn.00515c60
mov ecx, dword [ebp + 0x18]
mov dword [ebx + 0x38], eax
mov esi, dword [ecx + 0x64]
cmp eax, esi
jb 0x4de629
movzx ecx, word ds:[ecx + 0x4c]
mov edx, ecx
test cx, cx
mov ecx, dword [ebp + 0x18]
je 0x4de629
cmp eax, dword [ecx + 0x6c]
ja 0x4de619
cmp dword [ecx + 0x34], 0
je 0x4de629
mov dword [ecx + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
inc edi
cmp edi, dword [ebx + 0x20]
jbe 0x4de572
jmp 0x4ddb5c
movzx eax, word ds:[ecx + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp edx, dword [eax + 0x6c]
ja 0x4de65f
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
lea eax, ds:[ebx - 6]
cmp eax, 0xf
ja case.0x4e30cb.15
cmp dword [ebp - 8], 0
je switch.0x004df274
jmp dword [eax*4 + 0x4e575c]
mov ebx, dword [ebp - 4]
mov esi, 1
cmp edi, esi
jb 0x4ddb5c
mov edx, dword [ebx + 0x38]
mov eax, dword [ebp + 0x18]
cmp edx, dword [eax + 0x64]
jae 0x4def09
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4deed7
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebx + 0x38], edx
jmp 0x4deee0
cmp ecx, 0x80
jae 0x4deefc
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 8
jne case.0x4daa93.162
inc esi
cmp esi, edi
jbe 0x4dee91
jmp 0x4ddb5c
mov esi, eax
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
lea ebx, [ebx]
cmp edx, dword [esi + 0x6c]
ja 0x4def33
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
jmp dword [eax*4 + 0x4e579c]
mov ebx, dword [ebp - 4]
mov esi, 1
cmp edi, esi
jb 0x4ddb5c
mov edx, dword [ebx + 0x38]
mov eax, dword [ebp + 0x18]
cmp edx, dword [eax + 0x64]
jae 0x4df945
movzx eax, word [edx]
mov ecx, 0xff
cmp ax, cx
ja 0x4df930
mov ecx, eax
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 8
jne case.0x4daa93.162
add edx, 2
inc esi
mov dword [ebx + 0x38], edx
cmp esi, edi
jbe 0x4df901
jmp 0x4df940
jmp 0x4ddb5c
mov esi, eax
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4df969
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
cmp ecx, ebx
jae 0x4dfce4
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp + 0x18]
nop
mov ecx, 1
cmp esi, dword [eax + 0x64]
jae 0x4dfcff
cmp dword [ebp - 8], 0
je 0x4dfccf
mov eax, 0xfc00
and ax, word [esi]
cmp ax, word [ebp - 0x48]
mov eax, 2
cmove ecx, eax
mov eax, dword [ebp + 0x18]
cmp dword [edx + 0x28], 0xf
je 0x4dfce4
inc edi
lea esi, [esi + ecx*2]
mov dword [edx + 0x38], esi
cmp edi, ebx
jb 0x4dfca0
mov esi, dword [ebp + 0x18]
cmp dword [ebp - 0x10], 2
mov edx, dword [ebp - 8]
je 0x4daa74
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx + 0x38]
jmp 0x4e48af
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x4dfce4
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
mov esi, eax
ja 0x4dfd1e
cmp dword [esi + 0x34], 0
je 0x4dfce7
mov dword [esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp 0x4dfce7
cmp ecx, ebx
jae 0x4dfce4
mov edi, dword [ebp - 4]
jmp 0x4dfd40
mov eax, dword [ebp + 0x18]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x4dfe0d
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x4dfd8f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dfd8f
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 + 0x563720]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x54f041]
cmp al, 9
je 0x4dfdd7
mov edi, edi
cmp al, 5
je 0x4dfdd7
cmp al, 8
je 0x4dfdd7
xor ecx, ecx
jmp 0x4dfddc
mov ecx, 1
xor eax, eax
cmp dword [edi + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4dfce4
mov ecx, dword ds:[ebp - 0xc]
lea esi, [esi + edx*2]
inc ecx
mov dword [edi + 0x38], esi
mov dword [ebp - 0xc], ecx
cmp ecx, ebx
jb 0x4dfd40
jmp 0x4dfce4
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x4dfce4
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
mov esi, eax
ja 0x4dfe34
cmp dword [esi + 0x34], 0
je 0x4dfce7
mov dword [esi + 0x2c], edx
jmp 0x4dfe40
cmp ecx, 1
ja 0x4dad1f
jmp 0x4dfce7
cmp ecx, ebx
jae 0x4dfce4
mov edi, dword [ebp - 0xc]
lea esp, [esp]
mov eax, dword [ebp + 0x18]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x4dfe0d
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x4dfeab
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dfeab
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
mov ebx, dword [ebp - 0x30]
sete al
cmp ecx, eax
je 0x4dfce4
mov eax, dword [ebp - 4]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, ebx
jb 0x4dfe60
jmp 0x4dfce4
cmp ecx, ebx
jae 0x4dfce4
mov edi, dword [ebp - 0xc]
jmp 0x4dff20
mov eax, dword [ebp + 0x18]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x4dfe0d
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x4dff6f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4dff6f
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
mov ebx, dword [ebp - 0x30]
sete al
cmp ecx, eax
je 0x4dfce4
mov eax, dword [ebp - 4]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, ebx
jb 0x4dff20
jmp 0x4dfce4
cmp ecx, ebx
jae 0x4dfce4
mov edi, dword [ebp - 0xc]
jmp 0x4dffe0
mov eax, dword [ebp + 0x18]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x4dfe0d
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x4e002f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e002f
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov ebx, dword [ebp - 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f040]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
mov ebx, dword [ebp - 0x30]
sete al
cmp ecx, eax
je 0x4dfce4
mov eax, dword [ebp - 4]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, ebx
jb 0x4dffe0
jmp 0x4dfce4
cmp ecx, ebx
jae 0x4dfce4
mov edi, dword [ebp - 0xc]
jmp 0x4e00a0
mov eax, dword [ebp + 0x18]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x4dfe0d
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x4e00ef
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e00ef
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 + 0x563720]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4e0139
cmp eax, 3
je 0x4e0139
xor ecx, ecx
jmp 0x4e013e
mov ecx, 1
mov ebx, dword [ebp - 4]
xor eax, eax
cmp dword [ebx + 0x28], 0xf
mov ebx, dword [ebp - 0x30]
sete al
cmp ecx, eax
je 0x4dfce4
mov eax, dword ds:[ebp - 4]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, ebx
jb 0x4e00a0
jmp 0x4dfce4
cmp ecx, ebx
jae 0x4dfce4
mov ebx, dword [ebp - 4]
mov edi, esi
lea ebx, [ebx]
mov eax, dword [ebp + 0x18]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x4dfe0d
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x4e01cf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e01cf
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, 0x180e
ja 0x4e0237
jmp 0x4e01e0
je case.0x4e0270.8192
cmp ecx, 0x85
ja 0x4e021a
je case.0x4e0270.8192
jmp 0x4e0200
cmp ecx, 9
jb case.0x4e0270.8203
cmp ecx, 0xd
jbe case.0x4e0270.8192
cmp ecx, 0x20
jmp 0x4e0292
lea ebx, [ebx]
cmp ecx, 0xa0
je case.0x4e0270.8192
cmp ecx, 0x1680
jmp 0x4e0292
jmp 0x4e0240
cmp ecx, 0x202f
ja 0x4e0277
je case.0x4e0270.8192
lea eax, ds:[ecx - 0x2000]
cmp eax, 0x29
ja case.0x4e0270.8203
movzx eax, byte [eax + 0x4e57e4]
jmp dword [eax*4 + 0x4e57dc]
jmp 0x4e0280
cmp ecx, 0x205f
je case.0x4e0270.8192
cmp ecx, 0x3000
je case.0x4e0270.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
cmp dword [eax*4 + 0x567b60], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4dfce4
mov edi, edi
jmp 0x4e02f1
cmp dword [ebx + 0x28], 0xf
je 0x4dfce4
mov edi, esi
mov eax, dword [ebp - 0xc]
lea esi, [edi + edx*2]
inc eax
mov dword [ebx + 0x38], esi
mov edi, esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebx + 0x24]
jb 0x4e0180
jmp 0x4dfce4
cmp ecx, ebx
jae 0x4dfce4
jmp 0x4e0320
mov edx, dword [ebp + 0x18]
mov edi, 1
cmp esi, dword [edx + 0x64]
jae 0x4e03f8
cmp dword [ebp - 8], 0
movzx edx, word [esi]
je 0x4e036f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e036f
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 + 0x563720]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4e03c5
cmp eax, 3
je 0x4e03c5
cmp edx, 0x5f
je 0x4e03c5
xor ecx, ecx
jmp 0x4e03ca
mov ecx, 1
mov edx, dword [ebp - 4]
xor eax, eax
cmp dword [edx + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4dfce4
mov eax, dword [ebp - 0xc]
lea esi, [esi + edi*2]
inc eax
mov dword [edx + 0x38], esi
mov dword [ebp - 0xc], eax
cmp eax, ebx
jb 0x4e0320
jmp 0x4dfce4
movzx eax, word ds:[edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x4e060f
cmp esi, dword [edx + 0x6c]
mov esi, edx
ja 0x4e041e
cmp dword [esi + 0x34], 0
je 0x4dfce7
mov dword [esi + 0x2c], edi
jmp 0x4dfe37
cmp ecx, ebx
jae 0x4dfce4
mov edi, edi
mov eax, dword ds:[ebp + 0x18]
mov edi, 1
cmp esi, dword [eax + 0x64]
jae 0x4e04fd
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x4e048a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e048a
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:[edx + 0x2c]
mov edx, dword [eax*4 + 0x54ee80]
lea eax, [eax*4 + 0x54ee80]
cmp ecx, edx
jb 0x4e04c4
jmp 0x4e04b0
lea eax, [eax + 4]
cmp ecx, edx
je 0x4e04ee
mov edx, dword ds:[eax]
cmp ecx, edx
jae 0x4e04b0
mov edx, dword [ebp - 4]
cmp dword [edx + 0x28], 0xf
jne 0x4dfce4
lea eax, [edi + edi]
add dword [edx + 0x38], eax
mov eax, dword [ebp - 0xc]
mov esi, dword [edx + 0x38]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, ebx
jb 0x4e0430
jmp 0x4dfce4
mov edx, dword [ebp - 4]
cmp dword [edx + 0x28], 0xf
je 0x4dfce4
jmp 0x4e04d1
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je 0x4dfce4
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
mov esi, eax
jmp 0x4e040e
lea esp, [esp]
cmp ecx, ebx
jae 0x4dfce4
mov edi, dword [ebp - 4]
jmp 0x4e0530
mov eax, dword ds:[ebp + 0x18]
mov edx, 1
cmp esi, dword [eax + 0x64]
jae 0x4dfe0d
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x4e058a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e058a
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 0x4e05df
cmp ecx, 0x40
je 0x4e05df
lea esp, [esp]
cmp ecx, 0x60
je 0x4e05df
cmp ecx, 0xa0
jb 0x4e05cc
jmp 0x4e05c0
cmp ecx, 0xd7ff
jbe 0x4e05df
cmp ecx, 0xe000
jae 0x4e05df
xor ecx, ecx
jmp 0x4e05e4
mov ecx, 1
xor eax, eax
cmp dword [edi + 0x28], 0xf
sete al
cmp ecx, eax
je 0x4dfce4
mov eax, dword [ebp - 0xc]
lea esi, [esi + edx*2]
inc eax
mov dword [edi + 0x38], esi
mov dword [ebp - 0xc], eax
cmp eax, ebx
jb 0x4e0530
jmp 0x4dfce4
mov esi, edx
jmp 0x4dfce7
mov edi, dword ds:[edx + 0x28]
cmp edi, 0x16
jne 0x4e0765
cmp ecx, ebx
jae 0x4e074e
mov edi, dword [ebp + 0x18]
mov esi, dword [edi + 0x64]
jmp 0x4e0640
mov edx, dword [edx + 0x38]
cmp edx, esi
jae 0x4e0706
mov ebx, dword ds:[ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov esi, edx
mov dword [ebx + 0x38], edx
je 0x4e0697
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e0697
movzx eax, word [edx]
lea esi, [edx + 2]
and ecx, 0x3ff
mov dword [ebx + 0x38], esi
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
push 0
push dword [ebp - 8]
mov edx, esi
push dword [edi + 0x64]
push dword [edi + 0x5c]
call fcn.00515c60
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov esi, dword [edi + 0x64]
cmp eax, esi
jb 0x4e06ef
movzx ecx, word [edi + 0x4c]
mov edx, ecx
test cx, cx
je 0x4e06ec
cmp eax, dword [edi + 0x6c]
ja 0x4e06dc
cmp dword [edi + 0x34], 0
je 0x4e06ec
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [edx + 0x24]
jb 0x4e0640
mov esi, edi
jmp 0x4e0751
mov esi, edi
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4e0751
jmp 0x4e0720
cmp edx, dword [esi + 0x6c]
ja 0x4e0733
cmp dword [esi + 0x34], 0
je 0x4e0751
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp 0x4e0751
mov esi, dword [ebp + 0x18]
cmp dword [ebp - 0x10], 2
mov edx, dword [ebp - 8]
je 0x4daa74
mov edi, edi
jmp 0x4e4b28
lea eax, [edi - 6]
cmp eax, 0xf
ja case.0x4e30cb.15
cmp dword [ebp - 8], 0
je switch.0x004e11ae
jmp 0x4e0780
jmp dword [eax*4 + 0x4e5810]
jmp dword [eax*4 + 0x4e5850]
mov ebx, dword ds:[ebp - 4]
mov esi, dword [ebp + 0x18]
jmp 0x4e152b
ja 0x4e12f2
cmp dword [esi + 0x34], 0
je 0x4e1309
mov dword ds:[esi + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
mov ebx, dword [ebp - 4]
jmp 0x4e152b
movzx eax, word ds:[edi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4e195a
cmp esi, dword [edi + 0x6c]
mov esi, edi
jmp 0x4e12e2
cmp dword [ebp - 0x10], 2
mov edx, dword [ebp - 8]
je 0x4daa74
mov ecx, dword ds:[ebx + 0x38]
jmp 0x4e3492
cmp ecx, ebx
jae 0x4e1277
mov edi, dword [ebp + 0x18]
cmp esi, dword [edi + 0x64]
jae 0x4e1432
movzx eax, word ds:[esi]
cmp ax, word [ebp - 0x3c]
ja 0x4e17bc
mov ecx, eax
mov eax, dword [edi + 0x40]
test byte [ecx + eax], 8
jne 0x4e195a
mov ecx, dword [ebp - 0xc]
inc ecx
add esi, 2
mov dword [edx + 0x38], esi
mov dword [ebp - 0xc], ecx
cmp ecx, ebx
jb 0x4e1790
mov ebx, dword [ebp - 4]
mov esi, edi
jmp 0x4e152b
mov ebx, dword ds:[ebp - 4]
mov esi, edi
jmp 0x4e152b
xor eax, eax
cmp bl, 0x74
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx eax, word [esi + 0x52]
movzx ecx, word [edi + 2]
movzx edx, word [edi + 4]
imul ecx, eax
mov eax, dword [esi + 0x54]
lea ecx, [eax + ecx*2]
lea eax, [edi + 6]
mov dword [ebx], eax
test edx, edx
je 0x4e19c4
movzx eax, word [ecx]
dec edx
lea eax, [eax*2 - 2]
mov dword [ebx + 0x14], eax
cmp eax, dword [ebx + 0x50]
jae 0x4e19b7
cmp dword [ebx + eax*4 + 0x54], 0xffffffff
jne 0x4e19c4
movzx eax, word ds:[esi + 0x52]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x4e1995
mov edi, dword [ebx]
jmp 0x4e19ec
xor eax, eax
cmp bl, 0x72
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx eax, word [edi + 2]
add edi, 4
lea eax, [eax*2 - 2]
mov dword [ebx + 0x14], eax
mov dword [ebx], edi
mov esi, edi
movzx edx, word [edi]
lea eax, [edx - 0x62]
cmp eax, 7
ja case.default.0x4e1a04
movzx eax, byte [eax + 0x4e5898]
jmp dword [eax*4 + 0x4e5890]
mov ecx, dword [edx*4 + str.PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES_is_not_allowed_in_UTF_16_mode]
lea eax, [edi + 2]
mov edi, dword [ebp - 4]
mov ebx, dword [edx*4 + 0x54c91c]
mov edx, dword [edx*4 + 0x54e4c0]
mov dword [ebp - 0x10], edx
mov dword [edi], eax
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], ebx
jmp 0x4e1a6b
movzx ecx, word [edi + 2]
mov edi, dword [ebp - 4]
mov dword [edi + 0x20], ecx
movzx ebx, word [esi + 4]
mov dword [edi + 0x24], ebx
movzx eax, word [esi]
mov eax, dword [eax*4 + 0x54e4c0]
mov dword [ebp - 0x10], eax
test ebx, ebx
jne 0x4e1a66
mov dword [edi + 0x24], 0xffffffff
or ebx, 0xffffffff
lea eax, [esi + 6]
mov dword [edi], eax
mov eax, dword [edi + 0x14]
cmp eax, dword [edi + 0x50]
jae 0x4e1a9e
mov edx, dword ds:[edi + eax*4 + 0x54]
cmp edx, 0xffffffff
je 0x4e1a9e
cmp edx, dword [edi + eax*4 + 0x58]
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp - 8]
je 0x4daa74
jmp 0x4e1abc
mov esi, dword [ebp + 0x18]
mov edx, dword [ebp - 8]
test ecx, ecx
je 0x4daa74
test dword [esi + 0x8c], 0x200
jne 0x4daa74
mov esi, 1
cmp ecx, esi
jb 0x4e1b00
lea esp, [esp]
mov edx, dword ds:[edi + 0x28]
lea eax, [ebp - 0x50]
mov ecx, dword [edi + 0x14]
push eax
push dword [ebp + 0x18]
push edi
call fcn.004da640
test eax, eax
jne 0x4e1b76
mov eax, dword [ebp - 0x50]
inc esi
add eax, eax
add dword [edi + 0x38], eax
mov ecx, dword [edi + 0x20]
cmp esi, ecx
jbe 0x4e1ad0
mov ebx, dword [edi + 0x24]
mov edx, dword [ebp - 8]
cmp ecx, ebx
je 0x4dadc0
cmp dword [ebp - 0x10], 0
je 0x4e4ca5
mov eax, dword [edi + 0x38]
mov esi, 1
mov dword [edi + 4], eax
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + ecx*4 + 0x58]
sub eax, dword [edi + ecx*4 + 0x54]
mov dword [edi + 0xc], eax
mov edi, dword [edi + 0x20]
cmp edi, ebx
mov ebx, dword [ebp - 4]
jae 0x4e2d43
lea esp, [esp]
mov edx, dword [ebx + 0x28]
lea eax, [ebp - 0x54]
mov ecx, dword [ebx + 0x14]
push eax
push dword [ebp + 0x18]
push ebx
call fcn.004da640
test eax, eax
jne 0x4e1bd1
mov eax, dword [ebp - 0x54]
xor ecx, ecx
cmp eax, dword [ebx + 0xc]
cmovne esi, ecx
add eax, eax
add dword [ebx + 0x38], eax
inc edi
cmp edi, dword [ebx + 0x24]
jb 0x4e1b40
jmp 0x4e1c09
mov esi, dword [ebp + 0x18]
jle 0x4e1b8a
mov ecx, dword [esi + 0x64]
mov dword [edi + 0x38], ecx
jmp 0x4e1b8d
mov ecx, dword [edi + 0x38]
cmp ecx, dword [esi + 0x64]
jb case.0x4daa93.162
movzx eax, word ds:[esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
cmp ecx, dword [esi + 0x6c]
ja 0x4e1bbc
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
jle 0x4e1c09
mov edx, dword [ebp + 0x18]
movzx eax, word [edx + 0x4c]
mov ecx, eax
test ax, ax
je 0x4e1c09
mov eax, dword [edx + 0x64]
cmp eax, dword [edx + 0x6c]
jbe 0x4e1c09
mov dword ds:[edx + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
test esi, esi
jne 0x4e2d43
mov dword [ebx + 0x24], edi
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x16
jmp 0x4e5251
mov esi, dword [ebp + 0x18]
lea eax, [ebp - 0x1c]
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x14]
push eax
push esi
push ebx
call fcn.004da640
test eax, eax
je 0x4e1c94
jmp 0x4e1c40
jle 0x4e1c51
mov ecx, dword [esi + 0x64]
mov dword [ebx + 0x38], ecx
jmp 0x4e1c54
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [esi + 0x64]
jb case.0x4daa93.162
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
cmp ecx, dword [esi + 0x6c]
ja 0x4e1c7f
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov eax, dword ds:[ebp - 0x1c]
add eax, eax
add dword [ebx + 0x38], eax
jmp 0x4daa71
mov ecx, dword [ebp - 4]
add edi, 2
mov dword [ecx], edi
lea ecx, [ecx]
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov dword [ecx], edi
cmp word [edi], 0x78
je 0x4e1cb0
lea eax, [edi + 4]
mov dword [ecx], eax
jmp 0x4daa74
cmp dword [esi + 0x30], 0
mov ebx, dword [ebp - 4]
jne 0x4e1ce6
cmp dword ds:[ebx + 0x18], 0
jne 0x4e2840
xor eax, eax
jmp 0x4e5042
mov ebx, dword [ebp - 4]
lea eax, [ebp - 0x1c]
push eax
mov edx, esi
mov ecx, ebx
call fcn.004da540
mov esi, eax
test esi, esi
jg case.0x4daa93.162
js case.0x4e2232.35
mov eax, dword [ebp - 0x1c]
add eax, eax
add dword [ebx], eax
jmp 0x4daa6e
movzx eax, word [edi + 2]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0xc], eax
cmp word [edi + eax*2], 0x78
je 0x4e1d35
add eax, 0xfffffffe
mov dword [ebx + 0xc], eax
add edi, 4
mov dword [ebx], edi
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x76
je 0x4e1d52
cmp eax, 0x77
jne 0x4e1d82
lea eax, [ebp - 0x1c]
mov edx, esi
push eax
mov ecx, ebx
call fcn.004da540
mov esi, eax
test esi, esi
jg case.0x4daa93.162
js case.0x4e2232.35
mov ecx, dword [ebx]
mov eax, dword [ebp - 0x1c]
lea edi, [ecx + eax*2]
mov dword [ebx], edi
mov eax, dword [ebp - 0x1c]
sub dword [ebx + 0xc], eax
movzx ecx, word [edi]
movzx ecx, cx
lea eax, [ecx - 0x90]
cmp eax, 0x12
ja 0x4e4c07
movzx eax, byte [eax + 0x4e58bc]
jmp 0x4e1da0
jmp dword [eax*4 + 0x4e58a0]
cmp dword [ebp - 8], 0
movzx edx, word [edi + 2]
mov ebx, dword [ebp - 4]
je 0x4e1f3c
test edx, edx
je 0x4e1f34
mov ecx, dword [ebx + 0x38]
mov edi, 0xfc00
dec edx
cmp ecx, dword [esi + 0x60]
jbe case.0x4daa93.162
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov ax, word [ecx]
and ax, di
cmp ax, word [ebp - 0x20]
jne 0x4e1f30
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
test edx, edx
jne 0x4e1f00
mov ecx, dword [ebx + 0x38]
jmp 0x4e1f56
mov ecx, dword [ebx + 0x38]
mov eax, ecx
sub eax, dword [esi + 0x5c]
sar eax, 1
cmp edx, eax
jg case.0x4daa93.162
lea eax, [edx + edx]
sub ecx, eax
mov dword [ebx + 0x38], ecx
cmp ecx, dword [esi + 0x6c]
jae 0x4e1f62
mov dword [esi + 0x6c], ecx
add dword [ebx], 4
jmp 0x4daa71
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 4]
mov dword [eax], edi
cmp word [edi], 0x78
je case.0x4daa93.120
jmp 0x4daa74
movzx eax, word ds:[edi + 2]
mov ecx, 0x86
add eax, eax
sub edi, eax
movzx eax, word [edi]
cmp ax, cx
je 0x4e2027
mov ecx, 0x8a
cmp ax, cx
je 0x4e2027
mov ebx, dword ds:[ebp - 4]
mov ecx, dword [esi + 0x10]
add ecx, dword [ebx + 0x4c]
mov esi, ecx
mov dword [ebp - 0x14], ecx
sub esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x4c]
mov dword [ebx + 0x4c], eax
mov eax, dword [ecx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x4e201f
mov eax, dword [ebx + 0x50]
shl eax, 2
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [esi + 0x54]
push eax
call fcn.00521a30
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov dword [esi + 0x50], eax
mov eax, dword [ebx + 0x40]
mov dword [esi + 0x40], eax
mov eax, ebx
sub eax, esi
mov dword [ebx + 0x10], eax
mov esi, 1
jmp case.0x4e2232.35
movzx eax, word [edi]
jmp 0x4e202f
mov ebx, dword [ebp - 4]
xor esi, esi
mov ecx, dword [ebp - 0x14]
movzx eax, ax
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x4e2045.134
movzx eax, byte [eax + 0x4e58ec]
jmp dword [eax*4 + 0x4e58d0]
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x4e205e
mov dword [ecx + 0x70], eax
mov eax, dword [esi + 0x38]
mov dword [ebx + 0x38], eax
jmp case.0x4e2045.134
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x70]
jbe 0x4e207b
mov dword [ecx + 0x70], eax
mov eax, dword [esi + 0x38]
mov dword [ebx + 0x38], eax
mov eax, ebx
sub eax, esi
mov dword [ebx + 0x10], eax
mov ecx, dword [esi]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
jne case.0x4e2045.134
lea esp, [esp]
mov dword [esi], ecx
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
lea ecx, [ecx + eax*2]
je 0x4e20a0
jmp case.0x4e2045.134
mov ecx, dword ds:[esi + 0x38]
push edx
mov edx, dword [ebx + 0x38]
call fcn.00515700
test eax, eax
jne case.0x4e2045.134
jmp case.0x4daa93.162
movzx eax, word [edi + 4]
cmp dword [ebx + 0x44], eax
jne 0x4e2119
mov esi, ecx
sub esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00521a30
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x48]
mov dword [ebx + 0x48], eax
mov eax, dword [esi + 0x44]
mov dword [ebx + 0x44], eax
mov eax, dword [esi]
add eax, 4
mov dword [ebx], eax
jmp 0x4daa6e
lea edx, [eax + eax]
mov dword [ebx + 0x48], eax
mov eax, dword [esi + 0x38]
lea ecx, [edx - 2]
mov dword [ebp - 0x40], edx
mov edx, dword [ebp + 0x18]
sub eax, dword [edx + 0x5c]
sar eax, 1
mov dword [ebx + ecx*4 + 0x54], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [edx + 0x5c]
mov edx, dword [ebp - 0x40]
sar eax, 1
mov dword [ebx + ecx*4 + 0x58], eax
cmp ecx, dword [ebx + 0x50]
jb case.0x4e2045.134
mov dword [ebx + 0x50], edx
mov edx, dword [ebx]
cmp word [edx], 0x7c
jne 0x4e2178
push dword [ebp - 0x44]
lea eax, [ebx + 0x38]
push eax
lea eax, [esi + 0x38]
push eax
call fcn.00521a30
add esp, 0xc
mov esi, 0xfffffc1a
jmp case.0x4e2232.35
mov cl, byte ds:[ebx + 0x31]
cmp cl, 0x79
je 0x4e219d
test esi, esi
je 0x4e4c58
mov eax, dword [ebx + 0x38]
cmp eax, dword [esi + 0x38]
jne 0x4e4c58
add dword [ebx], 4
jmp 0x4daa6e
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [esi + 0x5c]
jne case.0x4daa93.162
test byte ds:[esi + 0x88], 1
jne case.0x4daa93.162
lea eax, [edi + 2]
mov dword [ecx], eax
jmp 0x4daa74
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [esi + 0x5c]
je 0x4e21c6
xor esi, esi
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax + 0x38]
cmp eax, dword [edx + 0x70]
jbe 0x4e21f2
mov dword [edx + 0x70], eax
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x18], 0
je 0x4e53f2
mov eax, dword ds:[ebp + 0x18]
sub ebx, dword [ebx + 0x10]
mov edi, ebx
mov dword [ebp - 4], ebx
mov eax, dword [eax + 0xa8]
or dword [eax + 0x3c], 2
movzx eax, byte [ebx + 0x30]
dec eax
cmp eax, 0xdd
ja case.0x4e30cb.15
movzx eax, byte [eax + 0x4e59ec]
jmp dword [eax*4 + 0x4e5900]
test byte [esi + 0x88], 2
jne case.0x4daa93.162
test byte [esi + 0x8c], 0x10
je case.0x4daa93.23
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
cmp eax, dword [esi + 0x64]
jae 0x4e2361
mov edi, edi
jmp case.0x4daa93.162
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0x18]
mov esi, dword [edx + 0x38]
mov edi, dword [eax + 0x64]
cmp esi, edi
jae 0x4e235e
mov edx, dword [eax + 0x98]
lea ebx, [eax + 0x9c]
test edx, edx
je 0x4e22bb
push dword [ebp - 8]
mov ecx, esi
push ebx
push edi
call fcn.00514f40
lea esp, [esp]
test eax, eax
je 0x4e2308
mov eax, dword [ebp + 0x18]
mov edx, dword [ebx]
mov edi, dword [eax + 0x64]
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
jmp 0x4e22fa
mov edx, dword [ebx]
mov ecx, edi
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4e2308
mov ecx, dword [ebp + 0x18]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x4e2308
nop
cmp edx, 1
je 0x4e22fa
mov ax, word [esi + 2]
cmp ax, word [ecx + 0xa2]
jne 0x4e2308
lea eax, ds:[edx + edx]
sub edi, eax
cmp esi, edi
je 0x4e235b
mov esi, dword [ebp + 0x18]
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0x64]
jb case.0x4daa93.162
cmp dword [esi + 0x98], 0
jne case.0x4daa93.162
cmp dword [ebx], 2
lea esp, [esp]
jne case.0x4daa93.162
mov ax, word [ecx]
cmp ax, word [esi + 0xa0]
jne case.0x4daa93.162
jmp 0x4dbf67
mov edx, dword [ebp - 4]
mov esi, dword [ebp + 0x18]
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je 0x4e2389
mov dword ds:[esi + 0x2c], 1
nop
cmp ecx, 1
ja 0x4dad1f
add dword [edx], 2
jmp 0x4daa71
test byte ds:[esi + 0x88], 1
mov ebx, dword [ebp - 4]
je 0x4e23b2
mov eax, dword [ebx + 0x38]
cmp eax, dword [esi + 0x5c]
je case.0x4daa93.162
mov ecx, dword ds:[ebx + 0x38]
mov esi, dword [esi + 0x5c]
cmp ecx, esi
je 0x4e2413
mov eax, dword [ebp + 0x18]
cmp ecx, dword [eax + 0x64]
jne 0x4e23e6
test dword ds:[eax + 0x8c], 0x200000
je case.0x4daa93.162
mov edx, dword [eax + 0x98]
test edx, edx
je 0x4e241e
cmp ecx, esi
jbe case.0x4daa93.162
push dword [ebp - 8]
add eax, 0x9c
push eax
push esi
call fcn.00515000
test eax, eax
je case.0x4daa93.162
mov esi, dword [ebp + 0x18]
add dword [ebx], 2
jmp 0x4daa71
mov edi, dword [eax + 0x9c]
lea edx, [edi + edi]
lea eax, [edx + esi]
cmp ecx, eax
jb case.0x4daa93.162
mov esi, dword ds:[ebp + 0x18]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esi + 0xa0]
jne case.0x4daa93.162
cmp edi, 1
je 0x4e2416
mov ax, word [ecx + 2]
cmp ax, word [esi + 0xa2]
je 0x4e2416
nop
jmp case.0x4daa93.162
mov ebx, dword [ebp - 4]
mov esi, dword [esi + 0x64]
mov ecx, dword [ebx + 0x38]
cmp ecx, esi
jae 0x4e2525
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + 0x98]
lea edi, [eax + 0x9c]
test edx, edx
je 0x4e24b0
push dword [ebp - 8]
push edi
push esi
call fcn.00514f40
mov esi, dword ds:[ebp + 0x18]
test eax, eax
je 0x4e24f0
add dword [ebx], 2
jmp 0x4daa71
mov edx, dword ds:[edi]
lea eax, [edx + edx]
sub esi, eax
cmp ecx, esi
mov esi, dword [ebp + 0x18]
ja 0x4e24f0
mov ax, word [ecx]
cmp ax, word [esi + 0xa0]
jne 0x4e24f0
cmp edx, 1
je 0x4e2416
mov ax, word [ecx + 2]
cmp ax, word [esi + 0xa2]
je 0x4e2416
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
mov ecx, dword [ebx + 0x38]
lea eax, [ecx + 2]
cmp eax, dword [esi + 0x64]
jb case.0x4daa93.162
cmp dword [esi + 0x98], 0
jne case.0x4daa93.162
cmp dword ds:[edi], 2
jmp 0x4e233c
mov esi, dword [ebp + 0x18]
test byte [esi + 0x88], 2
jne case.0x4daa93.162
movzx eax, word ds:[esi + 0x4c]
mov edx, eax
test ax, ax
je 0x4e2416
cmp ecx, dword [esi + 0x6c]
ja 0x4e255c
cmp dword [esi + 0x34], 0
je 0x4e2416
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
add dword [ebx], 2
jmp 0x4daa71
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x5c]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
jmp 0x4e21d9
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
lea eax, [edi + 2]
mov dword [ecx], eax
jmp 0x4daa74
mov ebx, dword [ebp - 4]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x60]
je 0x4e26a8
add edx, 0xfffffffe
cmp dword [ebp - 8], 0
je 0x4e260a
movzx eax, word [edx]
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4e25d3
movzx ecx, word [edx - 2]
sub edx, 2
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e260d
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x4e260d
movzx ecx, word [edx]
cmp edx, dword [esi + 0x6c]
jae 0x4e2619
mov dword [esi + 0x6c], edx
test dword [esi + 0x8c], 0x20000
je 0x4e2685
cmp ecx, 0x5f
jne 0x4e263a
lea edi, [ecx - 0x5e]
jmp 0x4e26aa
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4e267b
cmp eax, 3
jne 0x4e26a8
mov edi, 1
jmp 0x4e26aa
cmp ecx, 0xff
ja 0x4e26a8
mov eax, dword [esi + 0x40]
test byte [ecx + eax], 0x10
je 0x4e26a8
mov edi, 1
jmp 0x4e26aa
xor edi, edi
mov ecx, dword [ebx + 0x38]
mov eax, dword [esi + 0x64]
cmp ecx, eax
jb 0x4e2719
movzx eax, word ds:[esi + 0x4c]
mov edx, eax
test ax, ax
je 0x4e26ec
cmp ecx, dword [esi + 0x6c]
ja 0x4e26dc
cmp dword [esi + 0x34], 0
je 0x4e26ec
mov dword [esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
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 0x4e270c
xor edx, 1
test edx, edx
je 0x4daa71
jmp case.0x4daa93.162
cmp dword [ebp - 8], 0
lea esi, [ecx + 2]
mov edx, esi
je 0x4e2789
cmp edx, eax
jae 0x4e274d
mov ax, word ds:[edx]
and ax, word [ebp - 0x24]
cmp ax, word [ebp - 0x20]
jne 0x4e274d
add edx, 2
movzx ecx, word ds:[ecx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e278c
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x4e278c
movzx ecx, word [ecx]
mov esi, dword [ebp + 0x18]
cmp edx, dword [esi + 0x70]
jbe 0x4e279b
mov dword [esi + 0x70], edx
test dword [esi + 0x8c], 0x20000
je 0x4e2807
cmp ecx, 0x5f
jne 0x4e27bc
lea edx, [ecx - 0x5e]
jmp 0x4e26ee
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4e27fd
cmp eax, 3
jne 0x4e26ec
mov edx, 1
jmp 0x4e26ee
cmp ecx, 0xff
ja 0x4e26ec
mov eax, dword ds:[esi + 0x40]
test byte [ecx + eax], 0x10
je 0x4e26ec
mov edx, 1
jmp 0x4e26ee
test esi, esi
jne case.0x4e2232.35
mov edi, dword [ebx + 4]
mov esi, dword [ebp + 0x18]
mov dword [ebx], edi
movzx eax, word ds:[edi + 2]
lea edx, [edi + eax*2]
mov dword [ebx + 4], edx
cmp word [edx], 0x78
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x567be0]
lea edi, [ecx + eax*2]
je 0x4e4c7e
mov dword [ebx], edi
jmp 0x4daa71
mov edx, dword [ebp + 0x18]
cmp esi, 0xfffffc1f
jne 0x4e28a5
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x7c], eax
jae 0x4e2c8b
cmp word [ecx], 0x78
je 0x4e28ad
cmp word ds:[eax], 0x78
jmp 0x4e28a7
test esi, esi
jne 0x4e2c8b
mov ecx, dword ds:[ebx]
movzx eax, word [ecx + 2]
lea edi, [ecx + eax*2]
mov dword [ebx], edi
cmp word [edi], 0x78
je 0x4e5045
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x4e21e3
cmp esi, 0xfffffc19
je 0x4e48c5
lea esp, [esp]
test esi, esi
je 0x4e28f7
mov edx, dword [ebp + 0x18]
cmp esi, 0xfffffc1f
jne 0x4e2c8b
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea edi, [ecx + eax*2]
mov dword [ebx], edi
cmp word [edi], 0x78
je 0x4e5113
jmp case.0x4daa93.162
cmp esi, 0xfffffc1f
jg 0x4e2979
lea ecx, [ecx]
je 0x4e4909
cmp esi, 0xfffffc19
je case.0x4daa93.162
mov edx, dword ds:[ebp + 0x18]
cmp esi, 0xfffffc1a
jle 0x4e2c8b
cmp esi, 0xfffffc1d
jg 0x4e2c8b
mov edi, dword [ebx]
lea ebx, [ebx]
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov dword [ebx], edi
cmp word [edi], 0x78
je 0x4e2960
lea eax, [edi + 4]
mov dword [ebx], eax
jmp 0x4daa6e
mov eax, esi
sub eax, 0
je 0x4e4909
mov edx, dword [ebp + 0x18]
sub eax, 1
mov eax, dword [ebp - 4]
jne 0x4e21e3
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp esi, 0xfffffc1f
jg 0x4e29e5
je 0x4e4950
cmp esi, 0xfffffc19
je 0x4e4928
mov edx, dword [ebp + 0x18]
cmp esi, 0xfffffc1a
jle 0x4e2c8b
cmp esi, 0xfffffc1d
jle 0x4e4967
mov eax, dword ds:[ebp - 4]
jmp 0x4e21e3
mov eax, esi
sub eax, 0
je 0x4e4950
sub eax, 1
je 0x4e4948
jmp case.0x4e2232.35
mov edi, edi
test esi, esi
jne case.0x4e2232.35
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
add eax, eax
sub ecx, eax
mov dword [ebx], ecx
jmp 0x4daa6e
lea esp, [esp]
test esi, esi
je 0x4e219d
jmp case.0x4e2232.35
cmp esi, 0xfffffc1a
jne 0x4e2a65
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x4e4c87
mov ecx, dword [ebx]
mov edi, edi
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x4e2a50
nop
jmp 0x4e2abb
mov edx, dword [ebp + 0x18]
cmp esi, 0xfffffc1f
jne 0x4e2a9c
mov ecx, dword ds:[ebx]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x7c], eax
jae 0x4e2c8b
cmp word [ecx], 0x78
je 0x4e2aa6
cmp word [eax], 0x78
jmp 0x4e2a9e
test esi, esi
mov edi, edi
jne 0x4e2c8b
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x4e5005
cmp dword ds:[ebx + 0x24], 0
jne 0x4e2af0
cmp dword [ebx + 0x28], 0
jne 0x4e2af0
jmp case.0x4daa93.162
test esi, esi
jne case.0x4e2232.35
mov ecx, dword [ebx + 4]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx + 4], ecx
cmp word [ecx], 0x78
je 0x4e2ae0
lea eax, [ecx + 4]
mov dword [ebx], eax
jmp 0x4daa6e
lea ebx, [ebx]
test esi, esi
jne case.0x4e2232.35
add dword [ebx], 2
jmp 0x4daa6e
mov edx, dword [ebx + 4]
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
lea eax, [esi + 0x3e5]
cmp eax, 4
ja 0x4e2b89
mov edi, dword ds:[ebp + 0x18]
mov eax, dword [ebx + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x84], eax
jne 0x4e2b89
cmp esi, 0xfffffc1f
jne 0x4dba29
mov eax, edi
cmp dword [eax + 0x7c], ecx
jae 0x4dba29
cmp word [edx], 0x78
je 0x4e2b94
cmp word [ecx], 0x78
je 0x4e2b94
mov eax, dword [ebp - 4]
xor esi, esi
mov edx, edi
jmp 0x4e21e3
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov dword ds:[ebx + 4], ecx
cmp word [ecx], 0x78
je 0x4e50e6
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
cmp esi, 0xfffffc1e
jne 0x4e2c8b
mov ecx, dword [ebx]
mov eax, edx
add ecx, 4
mov edx, dword [eax + 0x80]
call fcn.00515e60
mov edx, dword [ebp + 0x18]
test eax, eax
jne 0x4e2c8b
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edx + 0x80], eax
mov eax, dword [ebp - 4]
jmp 0x4e21e3
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1c
mov dword [edx + 0x84], eax
mov eax, dword [ebp - 4]
jmp 0x4e21e3
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov eax, dword [ebx + 0x38]
mov esi, edx
mov dword [esi + 0x80], eax
mov eax, dword [ebx + 0x44]
mov dword [esi + 0x84], eax
mov esi, 0xfffffc1d
mov eax, dword [ebp - 4]
jmp 0x4e21e3
mov edx, dword ds:[ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov eax, dword [ebx]
mov esi, edx
add eax, 4
mov dword [esi + 0x80], eax
mov eax, dword [ebx + 0x44]
mov dword [esi + 0x84], eax
mov esi, 0xfffffc1e
mov eax, dword [ebp - 4]
jmp 0x4e21e3
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov eax, dword [ebx]
mov esi, edx
mov dword [esi + 0x7c], eax
mov eax, dword [ebx + 0x44]
mov dword [esi + 0x84], eax
mov esi, 0xfffffc1f
mov eax, dword [ebp - 4]
jmp 0x4e21e3
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword ds:[ebp + 0x18]
lea eax, [ebp - 0x58]
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x14]
push eax
push esi
push ebx
call fcn.004da640
test eax, eax
je 0x4e4c91
jle 0x4e2cde
mov ecx, dword [esi + 0x64]
mov dword [edi + 0x38], ecx
jmp 0x4e2ce1
mov ecx, dword [edi + 0x38]
cmp ecx, dword [esi + 0x64]
jb case.0x4daa93.162
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
lea esp, [esp]
cmp ecx, dword [esi + 0x6c]
ja 0x4e2d13
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov eax, dword [ebx + 0xc]
neg eax
add eax, eax
add dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.0x4daa93.162
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x15
jmp 0x4e5251
mov edx, dword ds:[ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov eax, dword [ebx + 4]
cmp dword [ebx + 0x38], eax
je case.0x4daa93.162
mov dword ds:[ebx + 0x38], eax
dec dword [ebx + 0x24]
mov esi, dword [ebx + 0x20]
cmp esi, dword [ebx + 0x24]
jae 0x4e2db3
lea esp, [esp]
mov edx, dword ds:[ebx + 0x28]
lea eax, [ebp - 0x5c]
mov ecx, dword [ebx + 0x14]
push eax
push dword [ebp + 0x18]
push ebx
call fcn.004da640
mov eax, dword [ebp - 0x5c]
inc esi
add eax, eax
add dword [ebx + 0x38], eax
cmp esi, dword [ebx + 0x24]
jb 0x4e2d90
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x16
jmp 0x4e5251
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
jbe 0x4e2e14
cmp byte [ebx + 0x31], 0x6e
je case.0x4daa93.162
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x17
jmp 0x4e5251
mov edx, dword [ebx + 8]
mov esi, ecx
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x4e2e09
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
add dword ds:[ebx + 0x38], 0xfffffffe
jmp 0x4dc699
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword ds:[ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [esi + 0x64]
jae 0x4e4029
movzx eax, word ds:[ecx]
cmp dword [ebx + 0x28], eax
je 0x4e2e92
cmp dword [ebx + 0x2c], eax
jne case.0x4daa93.162
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov edi, dword [eax]
mov byte [eax + 0x30], 0x19
jmp 0x4e5251
add dword [ebx + 0x38], 0xfffffffe
test esi, esi
je 0x4db9de
jmp case.0x4e2232.35
mov edx, dword ds:[ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov eax, dword [ebp + 0x18]
mov esi, dword [ebx + 0x38]
cmp esi, dword [eax + 0x64]
jae 0x4e303a
movzx ecx, word [esi]
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
jne case.0x4daa93.162
mov eax, dword [ebp - 4]
mov edi, dword [eax]
mov byte [eax + 0x30], 0x1b
jmp 0x4e5251
add dword [ebx + 0x38], 0xfffffffe
test esi, esi
je 0x4dbb7b
jmp case.0x4e2232.35
mov edx, dword ds:[ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [esi + 0x64]
jae 0x4e4029
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je case.0x4daa93.162
cmp dword [ebx + 0x2c], eax
je case.0x4daa93.162
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x1d
jmp 0x4e5251
test esi, esi
jne case.0x4e2232.35
add dword [ebx + 0x38], 0xfffffffe
mov eax, dword [ebx + 0x38]
mov edi, edi
cmp eax, dword [ebx + 4]
je 0x4daa6e
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x1e
jmp 0x4e5251
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
mov esi, dword [ebx + 0x38]
cmp esi, dword [eax + 0x64]
jae 0x4e303a
movzx ecx, word [esi]
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.0x4daa93.162
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x1f
jmp 0x4e5251
test esi, esi
jne case.0x4e2232.35
add dword [ebx + 0x38], 0xfffffffe
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x4daa6e
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x20
jmp 0x4e5251
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword ds:[ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov eax, dword [ebp + 0x18]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x64]
cmp esi, ecx
jb 0x4e3074
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4e305f
cmp dword [eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edi, dword ds:[ebx + 0x28]
cmp edi, 0xc
jne 0x4e30b6
mov edx, dword [eax + 0x98]
add eax, 0x9c
test edx, edx
je 0x4e30d2
push dword [ebp - 8]
push eax
push ecx
mov ecx, esi
call fcn.00514f40
test eax, eax
jne 0x4e3113
mov esi, dword [ebx + 0x38]
mov edi, dword [ebx + 0x28]
movzx ecx, word [esi]
lea eax, [edi - 6]
add esi, 2
mov dword [ebx + 0x38], esi
cmp eax, 0xf
ja case.0x4e30cb.15
jmp dword [eax*4 + 0x4e5acc]
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4e30b6
mov ecx, dword [ebp + 0x18]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x4e30b6
cmp edx, 1
je 0x4e3125
mov ax, word ds:[esi + 2]
mov edx, ecx
cmp ax, word [edx + 0xa2]
jne 0x4e30b6
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x4e21e3
mov edx, dword ds:[ebp + 0x18]
xor esi, esi
mov eax, dword [ebp - 4]
jmp 0x4e21e3
mov edx, ecx
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x4e21e3
cmp ecx, 0xd
ja 0x4e3165
lea ebx, [ebx]
je 0x4e4cb3
cmp ecx, 0xa
je case.0x4e30cb.13
jbe case.0x4daa93.162
cmp ecx, 0xc
jbe 0x4e318c
mov edi, edi
jmp case.0x4daa93.162
cmp ecx, 0x85
je 0x4e318c
cmp ecx, 0x2027
jbe case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0x2029
ja case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4e], 2
jne case.0x4e30cb.13
jmp case.0x4daa93.162
nop
cmp ecx, 0x180e
ja 0x4e31f1
je case.0x4daa93.162
cmp ecx, 0xa0
ja 0x4e31dd
mov edi, edi
je case.0x4daa93.162
cmp ecx, 9
je case.0x4daa93.162
cmp ecx, 0x20
jne case.0x4e30cb.13
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0x1680
jne case.0x4e30cb.13
jmp case.0x4daa93.162
cmp ecx, 0x205f
ja 0x4e3231
lea ecx, [ecx]
je case.0x4daa93.162
cmp ecx, 0x2000
jb case.0x4e30cb.13
cmp ecx, 0x200a
jbe case.0x4daa93.162
mov edi, edi
cmp ecx, 0x202f
jne case.0x4e30cb.13
jmp case.0x4daa93.162
cmp ecx, 0x3000
jne case.0x4e30cb.13
lea ecx, [ecx]
jmp case.0x4daa93.162
cmp ecx, 0x180e
ja 0x4e329f
je case.0x4e30cb.13
jmp 0x4e3260
cmp ecx, 0xa0
ja 0x4e328e
je case.0x4e30cb.13
cmp ecx, 9
je case.0x4e30cb.13
jmp 0x4e3280
cmp ecx, 0x20
je case.0x4e30cb.13
jmp case.0x4daa93.162
cmp ecx, 0x1680
je case.0x4e30cb.13
jmp case.0x4daa93.162
nop
cmp ecx, 0x205f
ja 0x4e32dd
je case.0x4e30cb.13
cmp ecx, 0x2000
jb case.0x4daa93.162
mov edi, edi
cmp ecx, 0x200a
jbe case.0x4e30cb.13
cmp ecx, 0x202f
je case.0x4e30cb.13
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0x3000
je case.0x4e30cb.13
jmp case.0x4daa93.162
cmp ecx, 0x85
ja 0x4e3317
lea ecx, [ecx]
je case.0x4daa93.162
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4e30cb.13
jmp case.0x4daa93.162
lea eax, ds:[ecx - 0x2028]
cmp eax, 1
ja case.0x4e30cb.13
jmp case.0x4daa93.162
cmp ecx, 0x85
ja 0x4e335d
lea ebx, [ebx]
je case.0x4e30cb.13
cmp ecx, 0xa
jb case.0x4daa93.162
cmp ecx, 0xd
jbe case.0x4e30cb.13
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0x2028
jb case.0x4daa93.162
cmp ecx, 0x2029
jbe case.0x4e30cb.13
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0xff
ja case.0x4e30cb.13
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 8
je case.0x4e30cb.13
lea esp, [esp]
jmp case.0x4daa93.162
cmp ecx, 0xff
ja case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 8
jne case.0x4e30cb.13
jmp case.0x4daa93.162
cmp ecx, 0xff
ja case.0x4e30cb.13
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x4e30cb.13
jmp case.0x4daa93.162
cmp ecx, 0xff
ja case.0x4daa93.162
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x4e30cb.13
jmp case.0x4daa93.162
cmp ecx, 0xff
ja case.0x4e30cb.13
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x4e30cb.13
jmp case.0x4daa93.162
cmp ecx, 0xff
ja case.0x4daa93.162
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4e30cb.13
jmp case.0x4daa93.162
test esi, esi
jne case.0x4e2232.35
mov eax, dword [ebx + 0x38]
add eax, 0xfffffffe
mov dword [ebx + 0x38], eax
mov ecx, eax
cmp dword [ebx + 0x28], 0x11
jne 0x4e3492
cmp eax, dword [ebx + 4]
jbe 0x4e3492
cmp word [eax], 0xa
jne 0x4e3492
cmp word [eax - 2], 0xd
lea edx, [eax - 2]
jne 0x4e3492
mov dword [ebx + 0x38], edx
mov ecx, edx
cmp ecx, dword [ebx + 4]
je 0x4daa6e
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x22
jmp 0x4e5251
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1b
mov dword [edx + 0x84], eax
mov eax, dword [ebp - 4]
jmp 0x4e21e3
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword ds:[ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
mov edi, dword [ebp - 8]
mov dword [ebx + 0x38], edx
test edi, edi
je 0x4e353d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e353d
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
mov edx, dword [ebx + 8]
push edi
call fcn.005151e0
test eax, eax
jne 0x4e4d48
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 2]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.0x4daa93.162
cmp dword [ebp - 8], 0
je 0x4dc898
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4dc898
lea eax, ds:[edx - 2]
mov dword [ebx + 0x38], eax
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x4e5251
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword ds:[ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e3612
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, 0xff
jbe 0x4e3633
cmp byte [ebx + 0x31], 0x6e
je case.0x4daa93.162
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xc8
jmp 0x4e5251
mov edx, dword [ebx + 8]
mov esi, ecx
shr esi, 3
and ecx, 7
mov eax, 1
shl eax, cl
test byte [esi + edx], al
jne 0x4e3628
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 2]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.0x4daa93.162
mov ax, word ds:[edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4dc5e9
lea eax, [edx - 2]
mov dword [ebx + 0x38], eax
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x4e5251
mov edx, dword ds:[ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov eax, dword [ebp + 0x18]
mov edi, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x38]
mov ecx, dword [eax + 0x64]
mov eax, ecx
lea esi, [edi + edi]
mov dword [ebp - 0x30], ecx
sub eax, esi
cmp ebx, eax
ja 0x4e3762
mov eax, dword [ebp - 4]
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4e3705
lea esp, [esp]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4e370e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4e36f0
cmp esi, 0xfffffffc
je 0x4e4d53
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4e375f
jmp 0x4e3720
cmp esi, 0xfffffffd
je 0x4e4d53
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4e375f
cmp esi, 0xfffffffe
je 0x4e4d53
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4e375f
cmp esi, 0xffffffff
je 0x4e4d53
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4e4d53
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 4]
mov edi, dword [edx + 0x14]
test edi, edi
je 0x4e37ff
lea esi, [edi + edi]
mov eax, ecx
sub eax, esi
cmp ebx, eax
ja 0x4e37ff
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x4e37a5
lea ecx, [ecx]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4e37ae
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4e3790
cmp esi, 0xfffffffc
je 0x4e4d53
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4e37ff
jmp 0x4e37c0
cmp esi, 0xfffffffd
je 0x4e4d53
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4e37ff
cmp esi, 0xfffffffe
je 0x4e4d53
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4e37ff
cmp esi, 0xffffffff
je 0x4e4d53
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4e4d53
mov esi, dword [ebp + 0x18]
cmp ebx, dword [esi + 0x64]
jb case.0x4daa93.162
movzx eax, word [esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp ebx, dword ds:[esi + 0x6c]
jmp 0x4e422c
test esi, esi
jne case.0x4e2232.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 4]
jne 0x4e3856
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
cmp ecx, dword [eax + 4]
jbe 0x4daa6e
mov edi, dword [eax]
mov byte [eax + 0x30], 0xcb
jmp 0x4e5254
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword ds:[ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e38d2
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 dword [ebx + 0x28], ecx
je case.0x4daa93.162
jmp 0x4e38e0
cmp dword [ebx + 0x2c], ecx
je case.0x4daa93.162
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xcc
jmp 0x4e5251
test esi, esi
jne case.0x4e2232.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 4]
jne 0x4e3925
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
cmp ecx, dword [eax + 4]
jbe 0x4daa6e
mov edi, dword [eax]
mov byte [eax + 0x30], 0xcd
jmp 0x4e5251
mov edx, dword ds:[ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word ds:[edx]
add edx, 2
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e39aa
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 dword [ebx + 0x28], ecx
je case.0x4daa93.162
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xce
jmp 0x4e5251
mov edi, edi
test esi, esi
jne case.0x4e2232.35
add dword ds:[ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4e39ef
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x4daa6e
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xcf
jmp 0x4e5251
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword ds:[ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [esi + 0x64]
jae 0x4e4029
movzx eax, word [ecx]
add ecx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4e3a61
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e3a61
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
jne 0x4e4d6d
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4e3aea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e3aea
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
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x54f041]
cmp al, 9
je 0x4e3b37
lea esp, [esp]
cmp al, 5
je 0x4e3b37
cmp al, 8
je 0x4e3b37
xor ecx, ecx
jmp 0x4e3b3c
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x4e4d7b
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4e3bca
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e3bca
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
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x4e4d89
jmp case.0x4daa93.162
mov edx, dword ds:[ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4e3c8d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e3c8d
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
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x4e4d97
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4e3d4a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e3d4a
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
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f040]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x4e4da8
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4e3e0a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e3e0a
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
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4e3e59
cmp eax, 3
je 0x4e3e59
xor ecx, ecx
jmp 0x4e3e5e
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x4e4db6
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword ds:[ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4e3eed
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e3eed
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, 0x180e
ja 0x4e3f48
je case.0x4e3f70.8192
nop
cmp ecx, 0x85
ja 0x4e3f31
je case.0x4e3f70.8192
cmp ecx, 9
jb case.0x4e3f70.8203
jmp 0x4e3f20
cmp ecx, 0xd
jbe case.0x4e3f70.8192
cmp ecx, 0x20
jmp 0x4e3f92
cmp ecx, 0xa0
je case.0x4e3f70.8192
cmp ecx, 0x1680
jmp 0x4e3f92
cmp ecx, 0x202f
ja 0x4e3f77
je case.0x4e3f70.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x4e3f70.8203
movzx eax, byte [eax + 0x4e5b14]
jmp dword [eax*4 + 0x4e5b0c]
jmp 0x4e3f80
cmp ecx, 0x205f
je case.0x4e3f70.8192
cmp ecx, 0x3000
je case.0x4e3f70.8192
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
cmp dword [eax*4 + 0x567b60], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x4e4dc8
mov edi, edi
jmp case.0x4daa93.162
cmp dword [ebx + 0x28], 0xf
jne 0x4e4dc8
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword ds:[ebp + 0x18]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [esi + 0x64]
jb 0x4e4065
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
jmp 0x4e4040
cmp ecx, dword [esi + 0x6c]
ja 0x4e4053
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp edx, 1
jmp 0x4e3069
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4e40aa
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e40aa
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 [ebx + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x563720]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x54f041]
mov eax, dword [eax*4 + 0x567b60]
cmp eax, 1
je 0x4e4105
cmp eax, 3
je 0x4e4105
cmp edx, 0x5f
je 0x4e4105
xor ecx, ecx
jmp 0x4e410a
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x4e4dd6
jmp 0x4e4120
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword ds:[ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jae 0x4e4218
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4e419c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e419c
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
mov eax, dword [ebx + 0x2c]
mov edx, dword [eax*4 + 0x54ee80]
lea eax, [eax*4 + 0x54ee80]
cmp ecx, edx
jb 0x4e41ce
lea eax, ds:[eax + 4]
cmp ecx, edx
je 0x4e41dd
mov edx, dword [eax]
cmp ecx, edx
jae 0x4e41b5
cmp dword [ebx + 0x28], 0xf
je 0x4e4de8
jmp case.0x4daa93.162
cmp dword [ebx + 0x28], 0xf
jne 0x4e4de8
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x64]
jb 0x4e4248
movzx eax, word ds:[esi + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
cmp edx, dword [esi + 0x6c]
ja 0x4e423c
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword [esi + 0x2c], 1
jmp 0x4e3066
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4e428c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e428c
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, 0x24
je 0x4e42df
cmp ecx, 0x40
je 0x4e42df
mov edi, edi
cmp ecx, 0x60
je 0x4e42df
cmp ecx, 0xa0
jb 0x4e42cc
jmp 0x4e42c0
cmp ecx, 0xd7ff
jbe 0x4e42df
cmp ecx, 0xe000
jae 0x4e42df
xor ecx, ecx
jmp 0x4e42e4
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
jne 0x4e4df6
jmp case.0x4daa93.162
mov edx, dword ds:[ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [esi + 0x64]
jb 0x4e4e05
movzx eax, word [esi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4daa93.162
jmp 0x4e4340
cmp ecx, dword [esi + 0x6c]
ja 0x4e4353
cmp dword [esi + 0x34], 0
je case.0x4daa93.162
mov dword ds:[esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edx, dword [ebp + 0x18]
test esi, esi
jne 0x4e2c8b
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.0x4daa93.162
mov eax, dword [ebp + 0x18]
mov esi, dword [ebx + 0x38]
mov ecx, dword [eax + 0x64]
cmp esi, ecx
jb 0x4e43db
movzx eax, word [eax + 0x4c]
mov ecx, eax
test ax, ax
je case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x6c]
ja 0x4e43c6
cmp dword ds:[eax + 0x34], 0
je case.0x4daa93.162
mov dword [eax + 0x2c], 1
cmp ecx, 1
ja 0x4dad1f
jmp case.0x4daa93.162
mov edi, dword ds:[ebx + 0x28]
cmp edi, 0xc
jne 0x4e445c
mov edx, dword [eax + 0x98]
add eax, 0x9c
test edx, edx
je 0x4e441b
push dword [ebp - 8]
push eax
push ecx
mov ecx, esi
call fcn.00514f40
test eax, eax
jne 0x4e3113
mov esi, dword [ebx + 0x38]
mov edi, dword [ebx + 0x28]
jmp 0x4e445c
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4e445c
mov ecx, dword [ebp + 0x18]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x4e445c
lea ecx, [ecx]
cmp edx, 1
je 0x4e3125
mov ax, word [esi + 2]
mov edx, ecx
cmp ax, word [edx + 0xa2]
je 0x4e3127
movzx ecx, word [esi]
add esi, 2
mov eax, ecx
mov dword [ebx + 0x38], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e4496
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebx + 0x38], esi
lea eax, ds:[edi - 6]
cmp eax, 0xf
ja case.0x4e30cb.15
jmp dword [eax*4 + 0x4e5b40]
cmp ecx, 0xd
ja 0x4e44dd
je 0x4e4eb4
nop
cmp ecx, 0xa
je case.0x4e44a9.13
jbe case.0x4daa93.162
cmp ecx, 0xc
jbe 0x4e450c
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0x85
je 0x4e450c
cmp ecx, 0x2027
jbe case.0x4daa93.162
jmp 0x4e4500
cmp ecx, 0x2029
ja case.0x4daa93.162
mov eax, dword [ebp + 0x18]
cmp word [eax + 0x4e], 2
jne case.0x4e44a9.13
jmp case.0x4daa93.162
nop
cmp ecx, 0x180e
ja 0x4e4571
je case.0x4daa93.162
cmp ecx, 0xa0
ja 0x4e455d
mov edi, edi
je case.0x4daa93.162
cmp ecx, 9
je case.0x4daa93.162
cmp ecx, 0x20
jne case.0x4e44a9.13
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0x1680
jne case.0x4e44a9.13
jmp case.0x4daa93.162
cmp ecx, 0x205f
ja 0x4e45b1
lea ecx, [ecx]
je case.0x4daa93.162
cmp ecx, 0x2000
jb case.0x4e44a9.13
cmp ecx, 0x200a
jbe case.0x4daa93.162
mov edi, edi
cmp ecx, 0x202f
jne case.0x4e44a9.13
jmp case.0x4daa93.162
cmp ecx, 0x3000
jne case.0x4e44a9.13
lea ecx, [ecx]
jmp case.0x4daa93.162
cmp ecx, 0x180e
ja 0x4e461f
je case.0x4e44a9.13
jmp 0x4e45e0
cmp ecx, 0xa0
ja 0x4e460e
je case.0x4e44a9.13
cmp ecx, 9
je case.0x4e44a9.13
jmp 0x4e4600
cmp ecx, 0x20
je case.0x4e44a9.13
jmp case.0x4daa93.162
cmp ecx, 0x1680
je case.0x4e44a9.13
jmp case.0x4daa93.162
nop
cmp ecx, 0x205f
ja 0x4e465d
je case.0x4e44a9.13
cmp ecx, 0x2000
jb case.0x4daa93.162
mov edi, edi
cmp ecx, 0x200a
jbe case.0x4e44a9.13
cmp ecx, 0x202f
je case.0x4e44a9.13
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0x3000
je case.0x4e44a9.13
jmp case.0x4daa93.162
cmp ecx, 0x85
ja 0x4e4697
lea ecx, [ecx]
je case.0x4daa93.162
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4e44a9.13
jmp case.0x4daa93.162
lea eax, ds:[ecx - 0x2028]
cmp eax, 1
ja case.0x4e44a9.13
jmp case.0x4daa93.162
cmp ecx, 0x85
ja 0x4e46dd
lea ebx, [ebx]
je case.0x4e44a9.13
cmp ecx, 0xa
jb case.0x4daa93.162
cmp ecx, 0xd
jbe case.0x4e44a9.13
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0x2028
jb case.0x4daa93.162
cmp ecx, 0x2029
jbe case.0x4e44a9.13
jmp case.0x4daa93.162
lea ecx, [ecx]
cmp ecx, 0x100
jae case.0x4e44a9.13
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 8
je case.0x4e44a9.13
lea esp, [esp]
jmp case.0x4daa93.162
cmp ecx, 0x100
jae case.0x4daa93.162
mov eax, dword ds:[ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 8
jne case.0x4e44a9.13
jmp case.0x4daa93.162
cmp ecx, 0x100
jae case.0x4e44a9.13
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
je case.0x4e44a9.13
jmp case.0x4daa93.162
cmp ecx, 0x100
jae case.0x4daa93.162
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 1
jne case.0x4e44a9.13
jmp case.0x4daa93.162
cmp ecx, 0x100
jae case.0x4e44a9.13
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
je case.0x4e44a9.13
jmp case.0x4daa93.162
cmp ecx, 0x100
jae case.0x4daa93.162
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x40]
test byte [ecx + eax], 0x10
jne case.0x4e44a9.13
jmp case.0x4daa93.162
test esi, esi
jne case.0x4e2232.35
mov edx, dword [ebx + 0x38]
mov esi, dword [ebp - 8]
add edx, 0xfffffffe
mov dword [ebx + 0x38], edx
test esi, esi
jne 0x4e49cd
movzx ecx, word [edx]
jmp 0x4e4a28
test esi, esi
jne case.0x4e2232.35
add dword [ebx + 0x38], 0xfffffffe
mov edx, 0xfc00
mov ecx, dword [ebx + 0x38]
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4e4821
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
cmp dword [ebx + 0x28], 0x11
mov eax, ecx
jne 0x4e4859
cmp ecx, dword [ebx + 4]
jbe 0x4e4859
cmp word ds:[ecx], 0xa
jne 0x4e4859
cmp word [ecx - 2], 0xd
lea edx, [ecx - 2]
jne 0x4e4859
mov dword [ebx + 0x38], edx
mov eax, edx
lea esp, [esp]
cmp eax, dword [ebx + 4]
jbe 0x4daa6e
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xdd
jmp 0x4e5251
test esi, esi
jne case.0x4e2232.35
mov ecx, dword [ebx + 0x38]
add ecx, 0xfffffffe
mov edx, ecx
mov dword [ebx + 0x38], ecx
cmp dword [ebp - 8], esi
je 0x4e48af
mov ax, word [edx]
mov esi, 0xfc00
and ax, si
mov esi, 0xdc00
cmp ax, si
jne 0x4e48af
lea ecx, [edx - 2]
mov dword [ebx + 0x38], ecx
cmp ecx, dword [ebx + 4]
jbe 0x4daa6e
mov edi, dword ds:[ebx]
mov byte [ebx + 0x30], 0xde
jmp 0x4e5251
mov esi, dword [ebp - 0x28]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00521a30
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x40]
mov dword [ebx + 0x40], eax
mov ecx, dword [ebx]
lea ecx, [ecx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x4e48f0
lea eax, [ecx + 4]
mov dword [ebx], eax
jmp 0x4daa6e
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea edi, [ecx + eax*2]
mov dword [ebx], edi
cmp word [edi], 0x78
je 0x4e513d
lea eax, [edi + 4]
mov dword [ebx], eax
jmp 0x4daa6e
mov esi, dword [ebp - 0x28]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.00521a30
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
mov eax, dword [ebx + 0x20]
jmp 0x4e496f
mov ecx, dword [ebx + 4]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov dword [ebx + 4], eax
cmp word [eax], 0x78
je 0x4e4c32
xor eax, eax
cmp dword [ebx + 0x20], eax
sete al
test eax, eax
je 0x4e49a8
mov ecx, dword [ebx]
lea esp, [esp]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x4e4980
mov ecx, dword ds:[ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x567be0]
jmp 0x4e49ad
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
lea edi, [ecx + eax*2]
mov dword [ebx], edi
cmp byte [ebx + 0x31], 0x8f
jne 0x4daa6e
mov eax, 0x2008f
mov byte [ebx + 0x30], 0x23
mov dword [ebp - 0x18], eax
jmp 0x4e5251
movzx eax, word ds:[edx]
mov esi, edx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4e49f4
lea esi, [edx - 2]
mov dword [ebx + 0x38], esi
movzx ecx, word [esi]
movzx ecx, cx
mov edx, esi
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e4a25
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, dword [ebp - 8]
mov ebx, dword [ebx + 4]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, word [eax*2 + 0x563720]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx edi, byte [eax*4 + 0x54f042]
cmp edx, ebx
jbe 0x4e4b28
jmp 0x4e4a60
movzx eax, word [edx - 2]
add edx, 0xfffffffe
mov ecx, eax
test esi, esi
je 0x4e4ac5
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4e4a92
movzx ecx, word [edx - 2]
sub edx, 2
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e4ac5
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 + 0x563720]
shl eax, 7
add eax, ecx
mov ecx, edi
movzx eax, word [eax*2 + 0x551e20]
lea eax, [eax + eax*2]
movzx esi, byte [eax*4 + 0x54f042]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x567b20], eax
je 0x4e4b28
mov eax, dword ds:[ebp - 4]
mov edi, esi
mov esi, dword [ebp - 8]
mov dword [eax + 0x38], edx
cmp edx, ebx
ja 0x4e4a60
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [ecx + 4]
jbe 0x4daa6e
mov edi, dword ds:[ecx]
mov byte [ecx + 0x30], 0xdc
jmp 0x4e5251
inc dword [esi + 0x90]
mov ebx, dword [ebp - 4]
mov eax, dword [esi + 0x90]
cmp eax, dword [esi + 0x94]
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x567be0]
movzx eax, word [edx + 2]
ja 0x4e4f54
add ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebx], eax
jmp 0x4daa71
mov ebx, dword ds:[ebp - 4]
test edx, edx
jne 0x4e38e9
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x1d
jmp 0x4e5251
cmp dword ds:[ebp - 8], 0
mov ebx, dword [ebp - 4]
jne 0x4e39b3
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x1f
jmp 0x4e5251
cmp dword [ebp - 8], 0
mov ebx, dword [ebp - 4]
jne 0x4e3628
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x17
jmp 0x4e5251
test eax, eax
js 0x4e4be7
cmp eax, 0xa
ja case.0x4e30cb.15
lea ebx, [ebx]
jmp dword [eax*4 + 0x4e5b80]
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x28], 0x16
je 0x4e4ea9
test edi, edi
jne case.0x4e44a9.13
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x21
jmp 0x4e5251
cmp ecx, 0x7e
je 0x4e4c25
mov eax, 0x80
cmp cx, ax
je 0x4e4c25
xor eax, eax
jmp 0x4e4c2a
mov eax, 1
mov dword [ebx + 0x20], eax
mov eax, dword [ebx]
mov dword [ebx + 4], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
movzx eax, word [eax]
or eax, 0x30000
mov dword [ebp - 0x18], eax
movzx eax, word [ecx]
mov byte [ebx + 0x30], 5
movzx eax, byte [eax + 0x567be0]
lea edi, [ecx + eax*2]
jmp 0x4e5251
mov eax, dword ds:[ebp - 4]
cmp cl, 0x7b
jne 0x4e4c75
lea edi, [edx + 4]
mov byte [ebx + 0x30], 6
jmp 0x4e5254
mov byte [ebx + 0x30], 7
jmp 0x4e5254
mov byte [ebx + 0x30], 1
jmp 0x4e5251
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x4e5005
mov eax, dword ds:[ebp - 0x58]
add eax, eax
add dword [ebx + 0x38], eax
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x14
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x14
jmp 0x4e5251
mov eax, dword [ebp + 0x18]
cmp esi, dword [eax + 0x64]
jae case.0x4e30cb.13
cmp word [esi], 0xa
jne case.0x4e30cb.13
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x21
jmp 0x4e5251
mov edi, dword [ebp + 0x18]
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4e30cb.13
cmp esi, dword [edi + 0x64]
jb case.0x4e30cb.13
cmp dword ds:[edi + 0x98], 0
jne case.0x4e30cb.13
cmp dword [edi + 0x9c], 2
jne case.0x4e30cb.13
movzx eax, word ds:[edi + 0xa0]
cmp ecx, eax
jne case.0x4e30cb.13
mov dword [edi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
mov edi, dword ds:[ebx]
mov byte [ebx + 0x30], 0x21
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0x64
jmp 0x4e5251
mov ecx, dword [ebp - 4]
lea eax, [ebx + edi*2]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov edi, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xd0
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xd1
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xd2
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword ds:[ebx]
mov byte [ebx + 0x30], 0xd3
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xd4
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword ds:[ebx]
mov byte [ebx + 0x30], 0xd5
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xd6
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword ds:[ebx]
mov byte [ebx + 0x30], 0xd7
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xd8
jmp 0x4e5251
mov ebx, dword [ebp - 4]
mov edi, dword ds:[ebx]
mov byte [ebx + 0x30], 0xd9
jmp 0x4e5251
movzx esi, word [ecx]
add ecx, 2
mov edi, dword [ebp - 8]
mov edx, ecx
mov dword [ebx + 0x38], ecx
test edi, edi
je 0x4e4e4c
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4e4e4c
movzx eax, word [ecx]
lea edx, [ecx + 2]
and esi, 0x3ff
mov dword [ebx + 0x38], edx
shl esi, 0xa
and eax, 0x3ff
or esi, eax
add esi, 0x10000
mov eax, dword [ebp + 0x18]
mov ecx, esi
push 0
push edi
push dword [eax + 0x64]
push dword [eax + 0x5c]
call fcn.00515c60
mov esi, dword [ebp + 0x18]
mov dword [ebx + 0x38], eax
cmp eax, dword [esi + 0x64]
jb 0x4e4ea9
movzx ecx, word [esi + 0x4c]
mov edx, ecx
test cx, cx
je 0x4e4ea9
lea ecx, [ecx]
cmp eax, dword [esi + 0x6c]
ja 0x4e4e93
cmp dword [esi + 0x34], 0
je 0x4e4ea9
mov dword ds:[esi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xda
jmp 0x4e5251
mov eax, dword ds:[ebp + 0x18]
cmp esi, dword [eax + 0x64]
jae case.0x4e44a9.13
cmp word [esi], 0xa
jne case.0x4e44a9.13
lea eax, ds:[esi + 2]
mov dword [ebx + 0x38], eax
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xdb
jmp 0x4e5251
mov edi, dword [ebp + 0x18]
movzx eax, word [edi + 0x4c]
mov edx, eax
test ax, ax
je case.0x4e44a9.13
jmp 0x4e4f00
cmp esi, dword [edi + 0x64]
jb case.0x4e44a9.13
cmp dword [edi + 0x98], 0
jne case.0x4e44a9.13
cmp dword ds:[edi + 0x9c], 2
jne case.0x4e44a9.13
movzx eax, word [edi + 0xa0]
cmp ecx, eax
jne case.0x4e44a9.13
mov dword ds:[edi + 0x2c], 1
cmp edx, 1
ja 0x4dad1f
mov edi, dword [ebx]
mov byte [ebx + 0x30], 0xdb
jmp 0x4e5251
mov byte [ebx + 0x30], 0x11
jmp 0x4e524c
mov eax, dword [ebp - 4]
add edi, 2
mov dword [eax + 4], edi
mov byte [eax + 0x30], 9
jmp 0x4e5251
mov ecx, dword [ebp - 4]
add edi, 2
mov dword [ecx + 4], edi
jmp 0x4e4f80
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov dword [ecx + 4], edi
cmp word [edi], 0x78
je 0x4e4f80
add edi, 4
mov byte [ecx + 0x30], 0xa
jmp 0x4e5251
mov ebx, dword [ebp - 4]
add edi, 2
mov ecx, 0x89
mov dword [ebx + 0x28], 1
mov dword [ebx], edi
movzx eax, word [edi]
cmp ax, cx
je 0x4e4fef
mov ecx, 0x8e
cmp ax, cx
jne 0x4e4fd9
jmp 0x4e4fef
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov eax, 0x20000
jmp 0x4e4ff8
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
movzx eax, word [edi + 4]
or eax, 0x10000
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], 0
mov dword [ebx + 8], edi
mov eax, dword [ebx + 0x38]
mov dword [ebx + 4], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, word [ecx]
mov byte [ebx + 0x30], 8
movzx eax, byte [eax + 0x567be0]
lea edi, [ecx + eax*2]
jmp 0x4e5251
movzx eax, word [edi + 4]
or eax, 0x10000
jmp 0x4e503f
movzx eax, bl
or eax, 0x20000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], eax
mov eax, dword ds:[ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, word [edi]
mov byte [ebx + 0x30], 2
movzx eax, byte [eax + 0x567be0]
lea edi, [edi + eax*2]
jmp 0x4e5251
mov ecx, dword [esi + 0x58]
movzx eax, word [edi + 2]
lea ebx, [ecx + eax*2]
cmp ebx, ecx
jne 0x4e507e
xor edi, edi
jmp 0x4e5082
movzx edi, word [ebx + 4]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x44], 0xffffffff
je 0x4e50d7
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
je 0x4e50d7
mov esi, dword [esi + 0x10]
mov edx, edi
or edx, 0x40000
add eax, esi
mov ecx, eax
sub ecx, dword [ebp + 0x14]
cmp dword [eax + 0x1c], edx
je 0x4e50c5
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
jne 0x4e50a6
mov edi, edi
jmp 0x4e50d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x38]
je 0x4e53fd
mov ecx, dword [ebp - 4]
mov dword [ecx + 4], ebx
or edi, 0x40000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], edi
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, word [ecx]
mov byte [ebx + 0x30], 0xb
movzx eax, byte [eax + 0x567be0]
lea edi, [ecx + eax*2]
jmp 0x4e5251
movzx eax, bl
mov ebx, dword [ebp - 4]
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, word [edi]
mov byte [ebx + 0x30], 3
movzx eax, byte [eax + 0x567be0]
lea edi, [edi + eax*2]
jmp 0x4e5251
movzx eax, bl
mov ebx, dword [ebp - 4]
or eax, 0x20000
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, word [edi]
mov byte [ebx + 0x30], 4
movzx eax, byte [eax + 0x567be0]
lea edi, [edi + eax*2]
jmp 0x4e5251
mov ebx, dword [ebp - 4]
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 + 0x567be0]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0xc
jmp 0x4e524c
movzx eax, word [edi]
movzx eax, byte [eax + 0x567be0]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xd
jmp 0x4e5251
mov ebx, dword [ebp - 4]
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 + 0x567be0]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0x24
jmp 0x4e524c
movzx eax, word [edi]
movzx eax, byte [eax + 0x567be0]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xe
jmp 0x4e5251
mov ebx, dword [ebp - 4]
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 + 0x567be0]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0xf
jmp 0x4e524c
movzx eax, word [edi]
movzx eax, byte [eax + 0x567be0]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x10
jmp 0x4e5251
movzx eax, word [edi]
movzx eax, byte [eax + 0x567be0]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x12
jmp 0x4e5251
mov ebx, dword [ebp - 4]
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 + 0x567be0]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0x13
add ecx, eax
lea edi, [edx + ecx*2]
mov eax, dword [ebp - 4]
mov esi, dword ds:[ebp + 0x18]
mov ebx, dword [ebp + 0x14]
add ebx, eax
mov dword [ebp - 0x14], ebx
cmp ebx, dword [esi + 0x14]
jb 0x4e5315
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x1c]
lea ebx, [ecx + ecx]
mov eax, ebx
shr eax, 0xa
cmp eax, edx
jbe 0x4e5295
mov ebx, edx
xor edx, edx
shl ebx, 0xa
mov eax, ebx
div dword [ebp + 0x14]
sub ebx, edx
cmp ecx, ebx
jae 0x4e540b
lfence
push dword [esi + 8]
mov esi, dword [esi]
mov ecx, esi
push ebx
call dword [0x5404bc]
call esi
mov esi, eax
mov dword [ebp - 0x40], esi
test esi, esi
je 0x4e5419
mov eax, dword ds:[ebp + 0x18]
push dword [eax + 0xc]
push dword [eax + 0x10]
push esi
call fcn.00521a30
mov eax, dword [ebp + 0x18]
add esp, 0xc
mov edx, dword [ebp - 4]
mov ecx, dword [eax + 0x10]
mov eax, esi
sub eax, ecx
add edx, eax
mov dword [ebp - 4], edx
add edx, dword [ebp + 0x14]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp + 0x18]
cmp ecx, dword [edx + 0x18]
je 0x4e5303
push dword [edx + 8]
mov esi, dword [edx + 4]
push ecx
mov ecx, esi
call dword [0x5404bc]
call esi
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp + 0x18]
lea eax, [esi + ebx]
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 4]
mov dword [edx + 0xc], ebx
mov ebx, dword [ebp - 0x14]
push dword [ebp - 0x44]
add eax, 0x38
push eax
lea eax, [ebx + 0x38]
push eax
call fcn.00521a30
mov eax, dword ds:[ebp - 4]
add esp, 0xc
mov edx, dword [ebp - 0x18]
mov dword [ebp - 4], ebx
mov eax, dword [eax + 0x18]
inc eax
mov dword [ebx + 0x18], eax
mov eax, ebx
mov ebx, dword [ebp + 0x14]
jmp 0x4daa08
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, ecx
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp + 0x18]
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 0x4e5376
mov dword [ecx + 0x70], eax
mov eax, dword [ebx + 0x3c]
sub eax, dword [ecx + 0x5c]
mov edi, dword [ebp + 8]
movzx esi, word [ebp + 0xc]
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 [ebp + 0x10]
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.00521a30
mov eax, dword ds:[ebx + 0x50]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x4e53e4
jmp 0x4e53d0
mov dword ds:[edi + esi*4], 0xffffffff
dec esi
mov ecx, dword [ebx + 0x50]
add ecx, 2
cmp esi, ecx
jae 0x4e53d0
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret 0x14
pop edi
pop esi
mov eax, 0xffffffd1
pop ebx
mov esp, ebp
pop ebp
ret 0x14