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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [ebp + 0x1c]
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
xor edx, edx
mov dword [ebp - 0xc], ecx
push ebx
mov ecx, dword [eax + 0x7c]
mov eax, ecx
mov ebx, dword [ebp + 0x18]
shr eax, 0x13
and eax, 1
shr ecx, 0x11
push esi
mov dword [ebp - 8], eax
and ecx, 1
push edi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0x14], edx
lea eax, [edi - 0x38]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 4], eax
mov eax, ecx
div edi
mov eax, dword [ebp - 4]
sub ecx, edx
mov dword [ebp - 0x30], 0xfc00
mov dword [ebp - 0x34], ecx
add ecx, eax
mov dword [ebp - 0x38], ecx
xor edx, edx
mov ecx, dword [ebp - 4]
mov dword [eax + 0x18], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x44], 0xffffffff
mov eax, dword [ebp + 8]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov eax, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x2c], 0xdc00
mov dword [ebp - 0x3c], 0xd800
mov dword [eax + 0x40], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x4c], 0xffffffff
mov dword [ebp - 0x28], 0xff
mov dword [eax + 0x1c], edx
mov dword [eax], esi
mov dword [eax + 0x10], edi
test edx, edx
je 0x498d00
sub eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], eax
mov eax, edx
and eax, 0xffff0000
cmp eax, 0x40000
jne 0x498cfb
movzx eax, dx
mov dword [ecx + 0x44], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0x1c]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x10]
lea eax, [edx + 1]
mov dword [edi + 0x18], eax
cmp edx, ecx
jae 0x4a2899
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
cmp eax, dword [edi + 0x14]
jb 0x498d38
pop edi
pop esi
mov eax, 0xffffffcb
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, esi
jmp 0x498d38
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov bl, byte [esi]
movzx ecx, bl
mov byte [ebp + 0xb], bl
mov byte [eax + 0x31], bl
cmp ecx, 0xa6
ja case.0x4a060b.15
movzx eax, byte [ecx + 0x4a2a04]
jmp dword [eax*4 + 0x4a28a8]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
jne 0x498de3
movzx edi, word [esi + 2]
mov eax, dword [eax + 0x4c]
nop word [eax + eax]
cmp eax, 0xffffffff
je case.0x4a060b.15
mov ecx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0x18]
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 0x498daa
mov eax, dword [edx + 0x4c]
jmp 0x498d80
mov eax, dword [ebp - 4]
lea esi, [edi + edi]
lea ecx, [esi - 2]
mov dword [eax + 0x48], edi
mov edi, dword [ebp + 0x1c]
mov eax, dword [edx + 0x38]
mov edx, dword [ebp - 4]
sub eax, dword [edi + 0x4c]
sar eax, 1
mov dword [edx + ecx*4 + 0x54], eax
mov eax, edx
mov eax, dword [eax + 0x38]
sub eax, dword [edi + 0x4c]
sar eax, 1
mov dword [edx + ecx*4 + 0x58], eax
mov eax, edx
cmp ecx, dword [eax + 0x50]
jb 0x498de0
mov dword [eax + 0x50], esi
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x4fdc20]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jmp 0x498d38
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x60]
jbe 0x498e0a
mov dword [edi + 0x60], eax
mov eax, dword [ebp - 4]
mov esi, 0xfffffc19
mov dword [ebp - 0x1c], eax
jmp 0x49ab43
mov eax, dword [ebp - 4]
cmp dword [eax + 0x44], 0xffffffff
je 0x498e79
mov eax, dword [eax + 0x4c]
cmp eax, 0xffffffff
je case.0x4a060b.15
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ecx + 0x18]
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 0x498e53
mov eax, dword [ecx + 0x4c]
jmp 0x498e26
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov dword [ecx + 0x40], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0x3c]
mov dword [ecx + 0x3c], eax
add dword [ecx], 4
jmp 0x498d40
mov edx, dword [eax + 0x38]
mov esi, dword [eax + 0x3c]
cmp edx, esi
jne 0x498eaa
mov eax, dword [edi + 0x78]
test al, 4
jne case.default.0x4a0628
test al, 8
je 0x498eaa
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x4c]
lea eax, [eax + ecx*2]
cmp esi, eax
jne 0x498eaa
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x4a27ca
mov edi, dword [ebp + 0x1c]
mov eax, dword [eax + 0x78]
or eax, dword [edi + 0x7c]
test eax, 0x20000000
je 0x4a27c8
test bl, bl
je case.default.0x4a0628
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp - 4]
add ebx, 0x38
mov esi, dword [eax + 0x88]
test esi, esi
je 0x498f86
mov ecx, dword [ebx]
lea edi, [eax + 0x54]
mov edx, dword [edi]
cmp ecx, edx
jae 0x498f1c
push dword [ebp - 8]
add eax, 0x8c
push eax
push edx
push esi
push ecx
call fcn.0048b2e0
add esp, 0x14
test eax, eax
je 0x498f1c
mov eax, 1
jmp 0x498f1e
xor eax, eax
mov edx, dword [ebp + 0x1c]
add edx, 0x8c
test eax, eax
jne 0x498fbf
mov eax, dword [ebp + 0x1c]
movzx eax, word [eax + 0x3c]
mov esi, eax
test ax, ax
je 0x498fd7
mov eax, dword [edi]
mov ecx, dword [ebx]
sub eax, 2
cmp ecx, eax
jne 0x498fd7
mov eax, dword [ebp + 0x1c]
cmp dword [eax + 0x88], 0
jne 0x498f82
cmp dword [edx], 2
jne 0x498f82
mov edi, dword [ebp + 0x1c]
mov ax, word [ecx]
cmp ax, word [edi + 0x90]
jne case.0x498d63.13
mov eax, edi
mov dword [eax + 0x1c], 1
cmp esi, 1
ja 0x49a037
mov edi, eax
jmp case.0x498d63.13
mov esi, dword [eax + 0x8c]
mov edi, eax
mov edx, dword [ebx]
add edi, 0x54
lea eax, [esi + esi]
mov ecx, dword [edi]
sub ecx, eax
cmp edx, ecx
ja 0x498fc9
mov ecx, dword [ebp + 0x1c]
mov ax, word [edx]
cmp ax, word [ecx + 0x90]
jne 0x498fc9
cmp esi, 1
je 0x498fbf
mov ax, word [edx + 2]
cmp ax, word [ecx + 0x92]
jne 0x498fc9
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x49ab3d
mov eax, dword [ebp + 0x1c]
lea edx, [eax + 0x8c]
jmp 0x498f32
mov edi, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x499019
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x499002
cmp dword [eax + 0x24], 0
je 0x499012
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x49a037
mov edi, eax
jmp case.default.0x4a0628
mov edx, dword [ebp - 8]
add ecx, 2
mov dword [eax + 0x38], ecx
test edx, edx
je 0x49904c
cmp ecx, dword [edi + 0x54]
jae 0x49904c
mov ax, word [ecx]
mov ebx, 0xfc00
and ax, bx
mov ebx, 0xdc00
cmp ax, bx
jne 0x499049
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x498d40
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x49909b
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x498fbf
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x499083
cmp dword [eax + 0x24], 0
je 0x498fbf
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x49a037
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
lea eax, [esi + 2]
mov dword [ecx], eax
mov edi, dword [ebp + 0x1c]
jmp 0x498d40
mov eax, dword [ebp - 4]
test edx, edx
je 0x499178
mov dword [eax + 0xc], 1
lea edi, [esi + 2]
mov dword [eax], edi
mov ecx, 0xfc00
mov ax, word [edi]
mov edx, 1
and ax, cx
mov ecx, 0xd800
cmp ax, cx
mov eax, dword [ebp - 4]
jne 0x4990f1
mov dword [eax + 0xc], 2
mov edx, 2
mov ecx, dword [ebp + 0x1c]
mov esi, dword [eax + 0x38]
mov ecx, dword [ecx + 0x54]
mov eax, ecx
sub eax, esi
sar eax, 1
cmp edx, eax
jbe 0x499146
mov edi, dword [ebp + 0x1c]
cmp esi, ecx
jb case.default.0x4a0628
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
mov eax, edi
cmp esi, dword [eax + 0x5c]
ja 0x49912f
cmp dword [eax + 0x24], 0
je 0x499012
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x49a037
mov edi, eax
jmp case.default.0x4a0628
mov ax, word [esi]
add esi, 2
mov ebx, dword [ebp - 4]
movzx ecx, word [edi]
add edi, 2
cmp cx, ax
mov eax, ebx
mov dword [ebx + 0x38], esi
mov dword [ebx], edi
jne 0x49916e
add edx, 0xffffffff
mov dword [eax + 0xc], edx
jne 0x499146
jmp 0x498d35
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x49ab40
mov ecx, dword [ebp + 0x1c]
mov edi, dword [eax + 0x38]
mov eax, dword [ecx + 0x54]
sub eax, edi
and eax, 0xfffffffe
cmp eax, 2
jge 0x4991c1
movzx eax, word [ecx + 0x3c]
mov ecx, eax
test ax, ax
je 0x4991b4
mov eax, dword [ebp + 0x1c]
cmp edi, dword [eax + 0x5c]
ja 0x4991a4
cmp dword [eax + 0x24], 0
je 0x4991b4
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x49a037
mov eax, dword [ebp - 4]
xor esi, esi
mov edi, dword [ebp + 0x1c]
jmp 0x49ab43
movzx edx, word [esi + 2]
lea eax, [edi + 2]
movzx ecx, word [edi]
mov ebx, dword [ebp - 4]
cmp dx, cx
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
mov dword [ebx + 0x38], eax
je 0x4a1f3e
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x38]
mov dword [ebp + 8], ebx
cmp ebx, dword [edi + 0x54]
jb 0x49922d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x499223
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x5c]
ja 0x499211
cmp dword [eax + 0x24], 0
je 0x499221
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x49a037
mov edi, eax
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
test edx, edx
je 0x49935a
lea edi, [esi + 2]
mov dword [eax + 0xc], 1
mov dword [eax], edi
lea ecx, [edi + 2]
movzx esi, word [edi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49927f
movzx eax, word [ecx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov ebx, 4
mov eax, dword [ebp - 4]
add esi, 0x10000
mov dword [eax + 0xc], 2
jmp 0x499284
mov ebx, 2
mov eax, dword [ebp + 8]
movzx edx, word [eax]
cmp esi, 0x80
jae 0x4992cc
mov edi, dword [ebp + 0x1c]
cmp edx, 0xff
ja 0x4992a4
mov eax, dword [edi + 0x28]
movzx edx, byte [eax + edx]
mov eax, dword [edi + 0x28]
movzx eax, byte [eax + esi]
cmp eax, edx
mov eax, dword [ebp - 4]
je 0x4992b9
xor esi, esi
jmp 0x49ab40
mov dword [eax], ecx
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 8]
add eax, 2
mov dword [ecx + 0x38], eax
jmp 0x498d38
lea ecx, [eax + 2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], ecx
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499307
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 0x49930a
mov ecx, dword [ebp - 4]
lea eax, [ebx + edi]
mov edi, dword [ebp + 0x1c]
mov dword [ecx], eax
cmp edx, esi
je 0x498d38
mov eax, esi
shr eax, 7
movzx ecx, word [eax*2 + 0x506e40]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x502c34]
add eax, esi
cmp edx, eax
mov edx, dword [ebp - 8]
je 0x498d40
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
cmp dword [ebp - 0x24], 0
je 0x4993ea
movzx edi, word [esi + 2]
movzx edx, word [ebx]
cmp edi, 0x80
jae 0x49939f
cmp edx, 0xff
ja 0x499385
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x28]
movzx edx, byte [eax + edx]
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x28]
movzx eax, byte [eax + edi]
mov edi, dword [ebp + 0x1c]
cmp eax, edx
je 0x49941f
jmp case.default.0x4a0628
cmp edx, edi
je 0x49941c
mov eax, edi
test eax, eax
jns 0x4993ac
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x506e40]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4993c8
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x502c34]
add eax, edi
mov edi, dword [ebp + 0x1c]
cmp edx, eax
je 0x49941f
jmp case.default.0x4a0628
movzx eax, word [esi + 2]
mov ecx, 0xff
mov edx, eax
cmp ax, cx
ja 0x499401
mov eax, dword [edi + 0x28]
movzx edx, byte [edx + eax]
movzx eax, word [ebx]
mov ecx, eax
cmp ax, word [ebp - 0x28]
ja 0x499413
mov eax, dword [edi + 0x28]
movzx ecx, byte [ecx + eax]
cmp edx, ecx
je 0x49941f
jmp case.default.0x4a0628
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ebp - 4]
lea eax, [ebx + 2]
mov dword [ecx + 0x38], eax
lea eax, [esi + 4]
mov dword [ecx], eax
jmp 0x498d38
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jb 0x499479
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x498fbf
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x499461
cmp dword [eax + 0x24], 0
je 0x498fbf
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x49a037
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
lea eax, [esi + 2]
test edx, edx
je 0x49955f
mov edx, dword [ebp - 4]
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 0x4994c3
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 0x4994ff
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
mov edi, dword [ebp + 0x1c]
cmp edx, esi
je case.default.0x4a0628
cmp bl, 0x20
jne 0x498d38
cmp edx, 0x7f
jbe 0x499543
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x506e40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x502c34]
jmp 0x49954a
mov eax, dword [edi + 0x2c]
movzx edx, byte [eax + edx]
cmp edx, esi
mov edx, dword [ebp - 8]
jne 0x498d40
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
cmp dword [ebp - 0x24], 0
lea edi, [ecx + 2]
je 0x4995ee
movzx ebx, word [ecx]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], edi
movzx edx, word [eax]
lea eax, [esi + 4]
mov edi, dword [ebp + 0x1c]
mov dword [ecx], eax
cmp edx, ebx
je case.default.0x4a0628
cmp byte [ebp + 0xb], 0x20
jne 0x498d38
cmp edx, 0x7f
jbe 0x4995d2
mov eax, edx
test eax, eax
jns 0x4995a0
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x506e40]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4995bc
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
add edx, dword [eax*4 + 0x502c34]
jmp 0x4995d9
mov eax, dword [edi + 0x2c]
movzx edx, byte [eax + edx]
cmp edx, ebx
mov edx, dword [ebp - 8]
jne 0x498d40
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
movzx edx, word [eax]
mov eax, dword [ebp - 4]
movzx ecx, word [ecx]
mov dword [eax + 0x38], edi
mov edi, dword [ebp + 0x1c]
cmp edx, ecx
je case.default.0x4a0628
cmp bl, 0x20
jne 0x499621
cmp edx, 0xff
ja 0x499621
mov eax, dword [edi + 0x2c]
movzx eax, byte [eax + edx]
cmp eax, ecx
je case.default.0x4a0628
mov ecx, dword [ebp - 4]
lea eax, [esi + 4]
mov dword [ecx], eax
jmp 0x498d38
mov eax, dword [ebp - 4]
movzx edi, word [esi + 2]
lea ebx, [eax + 0x24]
mov dword [ebx], edi
add esi, 4
mov dword [eax + 0x20], edi
mov dword [eax], esi
jmp 0x49972c
mov dword [ebp - 0xc], 2
mov eax, dword [ebp - 4]
lea ebx, [eax + 0x24]
mov dword [eax + 0x20], 0
movzx eax, word [esi + 2]
add esi, 4
mov dword [ebx], eax
xor edi, edi
mov eax, dword [ebp - 4]
mov dword [eax], esi
jmp 0x499729
mov dword [ebp - 0xc], 1
jmp 0x49964e
mov dword [ebp - 0xc], 0
jmp 0x49964e
mov eax, dword [ebp - 4]
add esi, 2
lea ebx, [eax + 0x24]
mov dword [ebp - 0xc], 2
xor edi, edi
mov dword [eax + 0x20], 0
mov dword [ebx], 0xffffffff
mov dword [eax], esi
jmp 0x499729
mov eax, dword [ebp - 4]
add esi, 2
lea ebx, [eax + 0x24]
mov dword [ebp - 0xc], 2
mov edi, 1
mov dword [eax + 0x20], 1
mov dword [ebx], 0xffffffff
mov dword [eax], esi
jmp 0x499729
mov eax, dword [ebp - 4]
add esi, 2
lea ebx, [eax + 0x24]
mov dword [ebp - 0xc], 2
xor edi, edi
mov dword [eax + 0x20], 0
mov dword [ebx], 1
mov dword [eax], esi
jmp 0x499729
movzx ecx, word [esi]
cmp bl, 0x2e
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, dword [ebp - 4]
add esi, 2
lea ebx, [eax + 0x24]
mov edi, dword [ecx*4 + 0x51de40]
mov dword [eax], esi
mov dword [eax + 0x20], edi
mov eax, dword [ecx*4 + 0x51de6c]
mov dword [ebx], eax
mov eax, dword [ecx*4 + 0x51de98]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebp + 0xc], edi
test edx, edx
je 0x499aef
mov dword [eax + 0xc], 1
lea ecx, [esi + 2]
mov dword [eax + 8], esi
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 4]
jne 0x499ae2
movzx edi, word [ecx]
and edx, 0x3ff
mov ecx, dword [ebp - 4]
and edi, 0x3ff
shl edx, 0xa
or edi, edx
mov dword [eax + 0xc], 2
add edi, 0x10000
lea eax, [esi + 4]
cmp byte [ebp + 0xb], 0x2e
mov dword [ecx], eax
jb 0x4997cc
mov eax, edi
shr eax, 7
movzx ecx, word [eax*2 + 0x506e40]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x502c34]
add ecx, edi
cmp ecx, edi
je 0x4997cc
mov eax, dword [ebp - 4]
add eax, 0x32
push eax
push ecx
call fcn.0048d170
add esp, 8
jmp 0x4997ce
xor eax, eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], 1
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
mov dword [ebp + 0xc], edx
cmp edx, 1
jb 0x499912
nop dword [eax]
mov ecx, dword [ebp + 0x1c]
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 0x38]
add edi, edi
mov ecx, dword [ecx + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x499872
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x499829
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x499832
add ecx, 4
add edx, 4
sub esi, 4
jae 0x499818
cmp esi, 0xfffffffc
je 0x4998f3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49986f
cmp esi, 0xfffffffd
je 0x4998f3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49986f
cmp esi, 0xfffffffe
je 0x4998f3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49986f
cmp esi, 0xffffffff
je 0x4998f3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4998f3
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x499a54
lea edi, [eax + eax]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x499a54
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x4998b1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4998b6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4998a0
cmp esi, 0xfffffffc
je 0x4998f3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x499a54
cmp esi, 0xfffffffd
je 0x4998f3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x499a54
cmp esi, 0xfffffffe
je 0x4998f3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x499a54
cmp esi, 0xffffffff
je 0x4998f3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x499a54
mov ecx, dword [ebp - 4]
lea eax, [ebx + edi]
mov edx, dword [ebp - 0x10]
inc edx
mov dword [ebp - 0x10], edx
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
cmp edx, dword [ebp + 0xc]
jbe 0x4997f0
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0x10], ecx
cmp edx, ecx
je 0x498d35
cmp dword [ebp - 0xc], 0
je 0x4a2321
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
cmp edx, ecx
jae 0x499acd
nop dword [eax + eax]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edi, dword [eax + 0xc]
mov ebx, dword [eax + 0x38]
add edi, edi
mov ecx, dword [ecx + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x4999c6
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x499981
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49998a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x499970
cmp esi, 0xfffffffc
je 0x499a39
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4999c3
cmp esi, 0xfffffffd
je 0x499a39
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4999c3
cmp esi, 0xfffffffe
je 0x499a39
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4999c3
cmp esi, 0xffffffff
je 0x499a39
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x499a39
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x499a99
lea edi, [eax + eax]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x499a99
mov edx, dword [ebp - 4]
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x499a03
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x499a08
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4999f2
cmp esi, 0xfffffffc
je 0x499a39
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x499a99
cmp esi, 0xfffffffd
je 0x499a39
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x499a99
cmp esi, 0xfffffffe
je 0x499a39
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x499a99
cmp esi, 0xffffffff
je 0x499a39
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x499a99
mov edx, dword [ebp + 0xc]
lea eax, [ebx + edi]
mov ebx, dword [ebp - 4]
inc edx
mov dword [ebp + 0xc], edx
mov dword [ebx + 0x38], eax
cmp edx, dword [ebp - 0x10]
jb 0x499940
jmp 0x499acd
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x498fbf
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x498fbf
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x5c]
ja 0x499a81
cmp dword [eax + 0x24], 0
je 0x498fbf
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x49a037
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x54]
jb 0x499aca
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x499aca
mov eax, dword [ebp + 0x1c]
cmp ebx, dword [eax + 0x5c]
ja 0x499aba
cmp dword [eax + 0x24], 0
je 0x499aca
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x49a037
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0xc], 2
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
je 0x498d40
jmp 0x4a0c52
mov esi, dword [ebp - 4]
mov dword [eax], ecx
mov dword [eax + 0x28], edx
add eax, 0x24
jmp 0x499aff
movzx edx, word [esi]
mov dword [eax + 0x28], edx
lea eax, [esi + 2]
mov esi, dword [ebp - 4]
mov dword [esi], eax
mov eax, ebx
cmp byte [ebp + 0xb], 0x2e
jb 0x499c7d
cmp dword [ebp - 8], 0
jne 0x499b15
cmp dword [ebp - 0x24], 0
je 0x499b47
cmp edx, 0x7f
jbe 0x499b47
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x506e40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x502c34]
add eax, edx
jmp 0x499b5d
cmp edx, 0xff
ja 0x499b5b
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x2c]
movzx eax, byte [eax + edx]
jmp 0x499b5d
mov eax, edx
mov edx, 1
mov dword [esi + 0x2c], eax
cmp edi, edx
jb 0x499b9d
nop dword [eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x499bf2
mov ebx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x499b92
cmp dword [ebx + 0x2c], eax
jne 0x498fbf
inc edx
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
cmp edx, edi
jbe 0x499b70
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x24]
cmp edi, edx
je 0x498d35
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x4a035f
mov ebx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ebx + 4], eax
cmp edi, edx
jae 0x499c57
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x499c2b
mov ebx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x499be5
cmp dword [ebx + 0x2c], eax
jne 0x499c57
inc edi
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
cmp edi, edx
jb 0x499bc7
jmp 0x499c57
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x498fbf
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x499c13
cmp dword [eax + 0x24], 0
je 0x498fbf
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x49a037
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x499c54
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x499c44
cmp dword [eax + 0x24], 0
je 0x499c54
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x49a037
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp esi, 2
je 0x498d40
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x498d38
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1a
jmp 0x4a26ec
mov edi, 1
cmp dword [ebp + 0xc], edi
jb 0x499cb7
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x54]
jae 0x499d0c
mov eax, dword [ebp - 4]
movzx edx, word [esi]
mov ecx, dword [eax + 0x28]
lea eax, [esi + 2]
mov esi, dword [ebp - 4]
mov dword [esi + 0x38], eax
cmp ecx, edx
jne 0x498fbf
inc edi
cmp edi, dword [ebp + 0xc]
jbe 0x499c87
mov eax, ebx
mov edx, dword [eax]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x1c]
cmp ebx, edx
je 0x498d38
mov edi, dword [ebp - 0xc]
test edi, edi
je 0x4a2292
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [ecx + 4], eax
cmp ebx, edx
jae 0x499d6e
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x499d45
mov esi, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [esi + 0x28], eax
jne 0x499d6e
inc ebx
lea eax, [ecx + 2]
mov dword [esi + 0x38], eax
cmp ebx, edx
jb 0x499ce6
jmp 0x499d6e
movzx eax, word [eax + 0x3c]
mov ecx, eax
test ax, ax
je 0x498fbf
mov eax, dword [ebp + 0x1c]
cmp esi, dword [eax + 0x5c]
ja 0x499d2d
cmp dword [eax + 0x24], 0
je 0x498fbf
mov dword [eax + 0x1c], 1
cmp ecx, 1
ja 0x49a037
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x499d6e
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x5c]
ja 0x499d5e
cmp dword [eax + 0x24], 0
je 0x499d6e
mov dword [eax + 0x1c], 1
cmp edx, 1
ja 0x49a037
mov edx, dword [ebp - 8]
cmp edi, 2
mov edi, dword [ebp + 0x1c]
je 0x498d40
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x498d38
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1c
jmp 0x4a26ec
mov eax, dword [ebp - 4]
movzx ebx, word [esi + 2]
add esi, 4
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], ebx
mov dword [eax], esi
jmp 0x499ece
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 1
mov dword [eax + 0x20], 0
movzx eax, word [esi + 2]
add esi, 4
mov dword [ecx + 0x24], eax
xor ebx, ebx
mov eax, ecx
mov dword [eax], esi
jmp 0x499ecb
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 0
mov dword [eax + 0x20], 0
movzx eax, word [esi + 2]
add esi, 4
mov dword [ecx + 0x24], eax
xor ebx, ebx
mov eax, ecx
mov dword [eax], esi
jmp 0x499ecb
mov eax, dword [ebp - 4]
add esi, 2
mov dword [ebp - 0xc], 2
xor ebx, ebx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x499ecb
mov eax, dword [ebp - 4]
add esi, 2
mov dword [ebp - 0xc], 2
mov ebx, 1
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0xffffffff
mov dword [eax], esi
jmp 0x499ecb
mov eax, dword [ebp - 4]
add esi, 2
mov dword [ebp - 0xc], 2
xor ebx, ebx
mov dword [eax + 0x20], 0
mov dword [eax + 0x24], 1
mov dword [eax], esi
jmp 0x499ecb
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [eax + 0x20], 0
movzx eax, word [esi + 2]
add esi, 4
mov dword [ecx + 0x24], eax
xor ebx, ebx
mov eax, ecx
mov dword [eax], esi
jmp 0x499ecb
movzx ecx, word [esi]
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 esi, 2
mov ebx, dword [ecx*4 + 0x51de40]
mov dword [eax], esi
mov dword [eax + 0x20], ebx
mov eax, dword [ecx*4 + 0x51de6c]
mov dword [edx + 0x24], eax
mov eax, dword [ecx*4 + 0x51de98]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebp + 0xc], ebx
movzx ecx, word [esi]
lea edx, [esi + 2]
mov dword [eax + 0x28], ecx
mov edi, ecx
mov dword [eax], edx
mov eax, dword [ebp - 8]
test eax, eax
je 0x499f1e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499f1b
movzx edi, word [edx]
and ecx, 0x3ff
mov eax, dword [ebp - 4]
and edi, 0x3ff
shl ecx, 0xa
or edi, ecx
mov ecx, dword [ebp - 4]
add edi, 0x10000
mov dword [eax + 0x28], edi
lea eax, [esi + 4]
mov dword [ecx], eax
mov eax, dword [ebp - 8]
cmp byte [ebp + 0xb], 0x48
jb 0x49a1f2
test eax, eax
jne 0x499f31
cmp dword [ebp - 0x24], eax
je 0x499f63
cmp edi, 0x7f
jbe 0x499f63
mov eax, edi
shr eax, 7
movzx ecx, word [eax*2 + 0x506e40]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
mov esi, dword [eax*4 + 0x502c34]
add esi, edi
jmp 0x499f79
cmp edi, 0xff
ja 0x499f77
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0x2c]
movzx esi, byte [eax + edi]
jmp 0x499f79
mov esi, edi
cmp dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x2c], esi
je 0x49a043
mov eax, dword [ebp + 0xc]
mov dword [ebp + 8], 1
cmp eax, 1
jb 0x49a083
mov ebx, eax
nop
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x49a007
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499fe7
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
cmp edi, ecx
je 0x498fbf
cmp esi, ecx
je 0x498fbf
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 8], eax
cmp eax, ebx
jbe 0x499fa0
jmp 0x49a083
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49a027
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
jbe case.default.0x4a0628
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov edx, 1
cmp ecx, edx
jb 0x49a089
mov ebx, ecx
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x49a129
movzx eax, word [ecx]
cmp edi, eax
je 0x498fbf
cmp esi, eax
je 0x498fbf
lea eax, [ecx + 2]
inc edx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
mov eax, ecx
cmp edx, ebx
jbe 0x49a051
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov edi, dword [eax + 0x24]
cmp ebx, edi
je 0x498d35
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x4a2129
cmp dword [ebp - 8], 0
mov edx, dword [eax + 0x38]
mov dword [eax + 4], edx
je 0x49a184
cmp ecx, edi
jae 0x49a112
mov eax, dword [ebp + 0x1c]
mov esi, 1
cmp edx, dword [eax + 0x54]
jae 0x49a15e
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a0f4
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]
cmp dword [eax + 0x28], ecx
je 0x49a112
cmp dword [eax + 0x2c], ecx
je 0x49a112
mov ecx, dword [ebp + 0xc]
lea edx, [edx + esi*2]
inc ecx
mov dword [eax + 0x38], edx
mov dword [ebp + 0xc], ecx
cmp ecx, edi
jb 0x49a0b3
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp ebx, 2
je 0x498d40
mov ebx, dword [ebp - 4]
jmp 0x4a0d3f
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x49a149
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49a115
cmp edx, dword [edi + 0x5c]
ja 0x49a176
cmp dword [edi + 0x24], 0
je 0x49a115
mov dword [edi + 0x1c], esi
cmp ecx, 1
ja 0x49a037
jmp 0x49a115
cmp ecx, edi
jae 0x49a1ad
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x49a1c5
mov ebx, dword [ebp - 4]
movzx eax, word [edx]
cmp dword [ebx + 0x28], eax
je 0x49a1b0
cmp dword [ebx + 0x2c], eax
je 0x49a1b0
mov eax, ebx
add edx, 2
inc ecx
mov dword [eax + 0x38], edx
cmp ecx, edi
jb 0x49a188
mov ebx, dword [ebp - 4]
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x498d40
jmp 0x4a0487
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49a1ed
cmp edx, dword [edi + 0x5c]
ja 0x49a1dd
cmp dword [edi + 0x24], 0
je 0x49a1ed
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
mov ebx, dword [ebp - 4]
jmp 0x49a1b3
test eax, eax
mov esi, 1
mov eax, ebx
je 0x49a341
cmp ebx, esi
jb 0x49a263
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x49a30c
movzx ecx, word [edx]
add edx, 2
mov dword [eax + 0x38], edx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a250
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]
cmp edi, ecx
je 0x49916e
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x49a205
mov ecx, dword [ebp - 4]
mov edi, dword [ecx + 0x24]
cmp eax, edi
je 0x498d35
cmp dword [ebp - 0xc], 0
je 0x4a213e
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 0x49a3ef
cmp ebx, eax
jae 0x49a3e7
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov esi, 1
cmp ecx, dword [eax + 0x54]
jae 0x49a3b6
movzx edx, word [ecx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a2e1
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 [ebp - 4]
cmp dword [eax + 0x28], edx
je 0x49a2f4
inc ebx
lea ecx, [ecx + esi*2]
mov dword [eax + 0x38], ecx
cmp ebx, edi
jb 0x49a2a0
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x498d40
mov ebx, dword [ebp - 4]
jmp 0x4a0e20
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49a32c
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
cmp ebx, 1
jb 0x49a263
nop word [eax + eax]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp edx, dword [eax + 0x54]
jae 0x49a381
movzx ecx, word [edx]
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
mov dword [edx + 0x38], eax
mov eax, edx
cmp edi, ecx
je 0x49916e
mov eax, dword [eax + 0x20]
inc esi
cmp esi, eax
jbe 0x49a350
jmp 0x49a263
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49a3a1
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x49a2f7
cmp ecx, dword [edi + 0x5c]
ja 0x49a3d6
cmp dword [edi + 0x24], 0
je 0x49a2f7
mov dword [edi + 0x1c], esi
cmp edx, 1
ja 0x49a037
jmp 0x49a2f7
mov edi, dword [ebp + 0x1c]
jmp 0x49a2fa
cmp ebx, eax
jae 0x49a455
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x49a42b
mov edx, dword [ebp - 4]
movzx eax, word [ecx]
cmp dword [edx + 0x28], eax
je 0x49a413
mov eax, edx
add ecx, 2
inc ebx
mov dword [eax + 0x38], ecx
cmp ebx, edi
jb 0x49a3f3
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x498d40
mov ebx, dword [ebp - 4]
jmp 0x4a051c
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je 0x49a416
cmp ecx, dword [edi + 0x5c]
ja 0x49a443
cmp dword [edi + 0x24], 0
je 0x49a416
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp 0x49a416
mov edi, dword [ebp + 0x1c]
jmp 0x49a419
mov ecx, dword [ebp - 4]
lea eax, [esi + 2]
add esi, 0x22
mov dword [ecx + 8], eax
mov eax, ecx
mov dword [eax], esi
movzx ecx, word [esi]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x49a47c
movzx eax, byte [eax + 0x4a2ab4]
jmp dword [eax*4 + 0x4a2aac]
mov edx, dword [ebp - 4]
lea eax, [esi + 2]
mov esi, dword [ebp - 4]
mov edi, dword [ecx*4 + 0x51dd10]
mov dword [ebp - 0xc], edi
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov edx, dword [ecx*4 + 0x51dcb8]
mov dword [eax + 0x20], edx
mov eax, dword [ecx*4 + 0x51dce4]
mov dword [esi + 0x24], eax
jmp 0x49a4fe
mov eax, dword [ebp - 4]
movzx edx, word [esi + 2]
mov dword [eax + 0x20], edx
movzx ecx, word [esi + 4]
mov dword [eax + 0x24], ecx
test ecx, ecx
mov eax, ecx
mov ecx, 0xffffffff
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x24], eax
movzx eax, word [esi]
mov eax, dword [eax*4 + 0x51dd10]
mov dword [ebp - 0xc], eax
lea eax, [esi + 6]
mov dword [ecx], eax
jmp 0x49a4fe
mov eax, dword [ebp - 4]
mov edx, 1
mov dword [eax + 0x24], 1
mov dword [eax + 0x20], 1
cmp dword [ebp - 8], 0
mov edi, 1
mov dword [ebp + 0xc], edx
mov eax, edx
je 0x49a698
cmp edx, edi
jb 0x49a5ab
mov edx, dword [ebp + 0x1c]
nop dword [eax]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edx + 0x54]
jae 0x49a662
movzx esi, word [ecx]
add ecx, 2
mov dword [eax + 0x38], ecx
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a568
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 esi, 0xff
jbe 0x49a57b
cmp bl, 0x6e
je 0x498fbf
jmp 0x49a59c
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 0x498fbf
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
inc edi
mov eax, dword [eax + 0x20]
cmp edi, eax
jbe 0x49a520
mov ecx, dword [ebp - 4]
mov ebx, dword [ecx + 0x24]
mov dword [ebp - 0x10], ebx
cmp eax, ebx
je 0x498d35
cmp dword [ebp - 0xc], 0
je 0x4a2156
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 0x49a7a4
cmp dword [ebp + 0xc], eax
jae 0x49a79c
mov edx, dword [ebp + 0x1c]
nop dword [eax + eax]
mov ebx, 1
cmp edi, dword [edx + 0x54]
jae 0x49a76a
movzx esi, word [edi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a62e
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
mov ebx, 2
add esi, 0x10000
cmp esi, 0xff
jbe 0x49a72b
cmp byte [ebp + 0xb], 0x6e
jne 0x49a74c
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x498d40
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x4a26ec
mov edi, dword [ebp + 0x1c]
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x49a683
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
cmp edx, 1
jb 0x49a5ab
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
mov eax, dword [ebp + 0x1c]
cmp ecx, dword [eax + 0x54]
jae 0x49a6f6
movzx esi, word [ecx]
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x38], eax
cmp esi, 0xff
jbe 0x49a6c8
cmp bl, 0x6e
jmp 0x49a6e0
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 0x498fbf
mov eax, dword [ebp - 4]
inc edi
mov eax, dword [eax + 0x20]
cmp edi, eax
jbe 0x49a6a1
jmp 0x49a5ab
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x49a716
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
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 0x49a644
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 4]
lea edi, [edi + ebx*2]
mov dword [eax + 0x38], edi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebp - 0x10]
jb 0x49a5f0
jmp 0x49a644
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x49a644
cmp edi, dword [edx + 0x5c]
mov edi, dword [ebp + 0x1c]
ja 0x49a78b
cmp dword [edi + 0x24], 0
je 0x49a647
mov dword [edi + 0x1c], ebx
cmp ecx, 1
ja 0x49a037
jmp 0x49a647
mov edi, dword [ebp + 0x1c]
jmp 0x49a64a
cmp dword [ebp + 0xc], eax
jae 0x49a857
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
cmp edi, dword [edx + 0x54]
jae 0x49a829
movzx esi, word [edi]
cmp esi, 0xff
jbe 0x49a7f6
cmp byte [ebp + 0xb], 0x6e
jne 0x49a819
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0xc], 2
je 0x498d40
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x18
jmp 0x4a26ec
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 0x49a7cc
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0x1c]
inc eax
add edi, 2
mov dword [ecx + 0x38], edi
mov dword [ebp + 0xc], eax
cmp eax, ebx
jb 0x49a7b6
jmp 0x49a7cc
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x49a7cc
cmp edi, dword [edx + 0x5c]
mov edi, dword [ebp + 0x1c]
ja 0x49a842
cmp dword [edi + 0x24], 0
je 0x49a7cf
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp 0x49a7cf
mov edi, dword [ebp + 0x1c]
jmp 0x49a7d2
mov ecx, dword [ebp - 4]
lea eax, [esi + 4]
mov dword [ecx + 8], eax
movzx eax, word [esi + 2]
lea edx, [esi + eax*2]
mov eax, ecx
mov dword [eax], edx
movzx ecx, word [edx]
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x49a889
movzx eax, byte [eax + 0x4a2ac8]
jmp dword [eax*4 + 0x4a2ac0]
mov esi, dword [ecx*4 + 0x51dcb8]
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov eax, edx
lea ebx, [eax + 0x20]
lea edi, [eax + 0x24]
mov dword [ebx], esi
mov eax, dword [ecx*4 + 0x51dce4]
mov dword [edi], eax
mov eax, dword [ecx*4 + 0x51dd10]
mov dword [ebp - 0xc], eax
jmp 0x49a8f6
mov eax, dword [ebp - 4]
movzx esi, word [edx + 2]
lea ebx, [eax + 0x20]
lea edi, [eax + 0x24]
mov dword [ebx], esi
movzx ecx, word [edx + 4]
mov dword [edi], ecx
mov eax, ecx
test ecx, ecx
mov ecx, 0xffffffff
cmove eax, ecx
mov ecx, dword [ebp - 4]
mov dword [edi], eax
movzx eax, word [edx]
mov eax, dword [eax*4 + 0x51dd10]
mov dword [ebp - 0xc], eax
lea eax, [edx + 6]
mov dword [ecx], eax
mov dword [ebp + 8], edi
mov edi, 1
cmp esi, edi
jae 0x49a925
jmp 0x49a996
mov eax, dword [ebp - 4]
mov edi, 1
lea ecx, [eax + 0x24]
mov dword [ecx], 1
mov dword [ebp + 8], ecx
mov dword [eax + 0x20], 1
lea ebx, [eax + 0x20]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x49aa72
movzx ecx, word [edx]
add edx, 2
mov esi, dword [ebp - 8]
mov dword [eax + 0x38], edx
test esi, esi
je 0x49a97a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a977
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 esi
push dword [eax + 8]
push ecx
call fcn.0048b490
add esp, 0xc
test eax, eax
je 0x498fbf
mov esi, dword [ebx]
inc edi
cmp edi, esi
jbe 0x49a925
mov ebx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov ecx, dword [ebx]
cmp esi, ecx
je 0x4990a9
cmp dword [ebp - 0xc], 0
je 0x4a2308
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [eax + 0x38]
mov dword [edx + 4], eax
cmp esi, ecx
jae 0x49aa2d
mov eax, dword [ebp - 4]
mov edi, 1
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax + 0x38]
cmp edx, dword [ecx + 0x54]
jae 0x49aa48
cmp dword [ebp - 8], 0
movzx ecx, word [edx]
je 0x49aa0c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49aa09
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, dword [ebp - 4]
push dword [ebp - 8]
push dword [eax + 8]
push ecx
call fcn.0048b490
add esp, 0xc
test eax, eax
je 0x49aa2d
mov ecx, dword [ebp - 4]
lea eax, [edi + edi]
inc esi
add dword [ecx + 0x38], eax
cmp esi, dword [ebx]
jb 0x49a9c0
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
je 0x498d38
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x4a26ec
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49aa30
cmp edx, dword [edi + 0x5c]
ja 0x49aa60
cmp dword [edi + 0x24], 0
je 0x49aa30
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp 0x49aa30
mov edi, ecx
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49aa92
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49aade
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49aacc
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49ab1f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ab1f
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 0x49ab22
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.0x49b0a4.8203
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
je case.0x49b0a4.8203
xor esi, esi
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [eax + 0x38]
cmp eax, dword [edi + 0x60]
jbe 0x49ab4e
mov dword [edi + 0x60], eax
mov ebx, dword [ebp - 4]
cmp dword [ebx + 0x18], 0
je 0x4a2860
sub ebx, dword [ebx + 0x10]
mov eax, dword [edi + 0x98]
mov dword [ebp - 4], ebx
or dword [eax + 0x3c], 2
movzx eax, byte [ebx + 0x30]
dec eax
cmp eax, 0xe0
ja case.0x4a060b.15
movzx eax, byte [eax + 0x4a2bcc]
jmp dword [eax*4 + 0x4a2ad4]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49abbf
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49abaa
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49ac00
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ac00
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 0x49ac03
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.default.0x4a0628
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
je case.default.0x4a0628
lea eax, [esi + 2]
mov dword [edx], eax
jmp 0x498d38
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49ac64
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49ac4f
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49aca5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49aca5
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 0x49aca8
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.0x49b0a4.8203
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
jmp 0x49ab35
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49acfe
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49ace9
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49ad3f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ad3f
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 0x49ad42
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.default.0x4a0628
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
je case.default.0x4a0628
lea eax, [esi + 2]
mov dword [edx], eax
jmp 0x498d38
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49ada3
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49ad8e
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49ade4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ade4
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 0x49ade7
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.0x49b0a4.8203
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
jmp 0x49ab35
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49ae3d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49ae28
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49ae7e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ae7e
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 0x49ae81
mov edx, dword [ebp - 4]
cmp ecx, 0xff
ja case.default.0x4a0628
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
je case.default.0x4a0628
lea eax, [esi + 2]
mov dword [edx], eax
jmp 0x498d38
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49aee2
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49aecd
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov esi, edx
mov dword [eax + 0x38], edx
je 0x49af23
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49af23
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
cmp ecx, 0x85
ja 0x49af8f
je case.0x49af39.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a0628
jmp dword [ecx*4 + 0x4a2cb0]
cmp esi, dword [edi + 0x54]
jb 0x49af76
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.0x49af39.10
cmp esi, dword [edi + 0x5c]
ja 0x49af5b
cmp dword [edi + 0x24], 0
je case.0x49af39.10
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x498d38
cmp word [esi], 0xa
jne case.0x49af39.10
mov ecx, dword [ebp - 4]
lea eax, [esi + 2]
mov dword [ecx + 0x38], eax
mov eax, ecx
add dword [eax], 2
jmp 0x498d38
sub ecx, 0x2028
je case.0x49af39.11
sub ecx, 1
jne case.default.0x4a0628
cmp word [edi + 0x3e], 2
je case.default.0x4a0628
mov eax, dword [ebp - 4]
add dword [eax], 2
jmp 0x498d38
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49aff4
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49afdf
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49b035
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b035
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 0x49b038
mov edx, dword [ebp - 4]
cmp ecx, 0x2000
ja 0x49b07c
je case.default.0x4a0628
cmp ecx, 0xa0
ja 0x49b065
je case.default.0x4a0628
cmp ecx, 9
je case.default.0x4a0628
cmp ecx, 0x20
jmp 0x49ac16
cmp ecx, 0x1680
je case.default.0x4a0628
cmp ecx, 0x180e
jmp 0x49ac16
cmp ecx, 0x3000
ja case.0x49b0a4.8203
je case.default.0x4a0628
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x49b0a4.8203
movzx eax, byte [ecx + 0x4a2cc8]
jmp dword [eax*4 + 0x4a2cc0]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49b0e9
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49b0d4
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49b12a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b12a
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 0x49b12d
mov edx, dword [ebp - 4]
cmp ecx, 0x2000
ja 0x49b171
je case.0x49b0a4.8203
cmp ecx, 0xa0
ja 0x49b15a
je case.0x49b0a4.8203
cmp ecx, 9
je case.0x49b0a4.8203
cmp ecx, 0x20
jmp 0x49ab35
cmp ecx, 0x1680
je case.0x49b0a4.8203
cmp ecx, 0x180e
jmp 0x49ab35
cmp ecx, 0x3000
ja case.default.0x4a0628
je case.0x49b0a4.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4a0628
movzx eax, byte [ecx + 0x4a2d30]
jmp dword [eax*4 + 0x4a2d28]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49b1de
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49b1c9
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49b21f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b21f
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 0x49b222
mov edx, dword [ebp - 4]
cmp ecx, 0x85
ja 0x49b243
je case.default.0x4a0628
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x49b0a4.8203
jmp dword [ecx*4 + 0x4a2d90]
sub ecx, 0x2028
je case.default.0x4a0628
sub ecx, 1
jne case.0x49b0a4.8203
jmp case.default.0x4a0628
mov ebx, dword [ebp - 4]
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49b29b
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49b286
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x49b2d7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b2d7
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, 0x85
ja 0x49b2f4
je case.0x49b2ed.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a0628
jmp dword [ecx*4 + 0x4a2da0]
sub ecx, 0x2028
je case.0x49b2ed.10
sub ecx, 1
jne case.default.0x4a0628
lea eax, [esi + 2]
mov dword [ebx], eax
jmp 0x498d38
mov ebx, dword [ebp - 4]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x49b34d
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x49b338
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x49b389
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b389
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
xor ebx, ebx
shr eax, 7
movzx ecx, word [eax*2 + 0x506e40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
mov cl, byte [ebp + 0xb]
cmp cl, 0xf
lea edi, [eax + eax*2]
sete bl
movzx eax, word [esi + 2]
cmp eax, 0xd
ja case.0x4a060b.15
jmp dword [eax*4 + 0x4a2db0]
cmp cl, 0xf
jne 0x49b5c7
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
mov al, byte [edi*4 + 0x502c31]
cmp al, 9
je 0x49b3f2
cmp al, 5
je 0x49b3f2
cmp al, 8
je 0x49b3f2
xor eax, eax
jmp 0x49b3f7
mov eax, 1
cmp eax, ebx
jne 0x49b5c7
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
movzx ecx, byte [edi*4 + 0x502c31]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4fddc0]
sete dl
cmp edx, ebx
jne 0x49b5c7
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
movzx eax, byte [edi*4 + 0x502c31]
xor ecx, ecx
cmp word [esi + 4], ax
sete cl
cmp ecx, ebx
jne 0x49b5c7
mov edi, dword [ebp + 0x1c]
jmp case.default.0x4a0628
movzx eax, byte [edi*4 + 0x502c30]
jmp 0x49b437
movzx ecx, word [esi + 4]
movzx eax, byte [edi*4 + 0x502c30]
cmp cx, ax
je 0x49b3f2
movzx edx, word [edi*4 + 0x502c38]
mov eax, ecx
and edx, 0x3ff
shr eax, 5
add edx, eax
and ecx, 0x8000001f
jns 0x49b48d
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x502938], eax
jne 0x49b3f2
xor eax, eax
jmp 0x49b3f7
movzx eax, byte [edi*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x49b3f2
cmp eax, 3
je 0x49b3f2
xor eax, eax
jmp 0x49b3f7
cmp edx, 0x20
ja 0x49b4ea
je case.0x49b3c3.0
add edx, 0xfffffff7
cmp edx, 4
ja case.0x49b55f.8203
jmp dword [edx*4 + 0x4a2de8]
cmp edx, 0x2000
ja 0x49b53f
je case.0x49b3c3.0
cmp edx, 0x1680
ja 0x49b537
je case.0x49b3c3.0
sub edx, 0x85
je case.0x49b3c3.0
sub edx, 0x1b
je case.0x49b3c3.0
movzx eax, byte [edi*4 + 0x502c31]
xor ecx, ecx
cmp dword [eax*4 + 0x4fddc0], 6
sete cl
cmp ecx, ebx
jmp 0x49b3cd
cmp edx, 0x180e
jmp 0x49b515
cmp edx, 0x3000
ja case.0x49b55f.8203
je case.0x49b3c3.0
add edx, 0xffffdfff
cmp edx, 0x5e
ja case.0x49b55f.8203
movzx eax, byte [edx + 0x4a2e04]
jmp dword [eax*4 + 0x4a2dfc]
movzx eax, byte [edi*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x49b58d
cmp eax, 3
je 0x49b58d
cmp edx, 0x5f
je 0x49b58d
xor eax, eax
cmp eax, ebx
jmp 0x49b3cd
mov eax, 1
cmp eax, ebx
jmp 0x49b3cd
movzx eax, word [esi + 4]
mov ecx, dword [eax*4 + 0x502668]
lea eax, [eax*4 + 0x502668]
cmp edx, ecx
jb 0x49b5bd
nop
lea eax, [eax + 4]
cmp edx, ecx
je 0x49b5d4
mov ecx, dword [eax]
cmp edx, ecx
jae 0x49b5b0
cmp byte [ebp + 0xb], 0xf
jne 0x498fbf
mov ecx, dword [ebp - 4]
lea eax, [esi + 6]
mov dword [ecx], eax
jmp 0x498d35
cmp byte [ebp + 0xb], 0xf
jmp 0x49b3cd
cmp edx, 0x24
je 0x49b58d
cmp edx, 0x40
je 0x49b58d
cmp edx, 0x60
je 0x49b58d
cmp edx, 0xa0
jb 0x49b5fc
cmp edx, 0xd7ff
jbe 0x49b58d
cmp edx, 0xe000
jae 0x49b58d
xor eax, eax
cmp eax, ebx
jmp 0x49b3cd
mov ax, word [edi*4 + 0x502c38]
xor ecx, ecx
shr ax, 0xb
cmp ax, word [esi + 4]
sete cl
cmp ecx, ebx
jmp 0x49b3cd
movzx ecx, word [esi + 4]
movzx edx, word [edi*4 + 0x502c3a]
mov eax, ecx
and edx, 0xfff
shr eax, 5
add edx, eax
and ecx, 0x8000001f
jns 0x49b64f
dec ecx
or ecx, 0xffffffe0
inc ecx
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x5020e0]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, ebx
jmp 0x49b3cd
mov ebx, dword [ebp - 4]
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x49b6aa
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49b695
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov esi, edx
mov dword [ebx + 0x38], edx
je 0x49b6e8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b6e8
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
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push ecx
call fcn.00498930
add esp, 0x18
mov dword [ebx + 0x38], eax
cmp eax, dword [edi + 0x54]
jb 0x49b72b
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x49b72b
cmp eax, dword [edi + 0x5c]
ja 0x49b71b
cmp dword [edi + 0x24], 0
je 0x49b72b
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
add dword [ebx], 2
jmp 0x498d38
mov ebx, dword [ebp - 4]
movzx eax, word [esi + 2]
add esi, 4
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x20], eax
mov dword [ebx], esi
jmp 0x49b819
mov ebx, dword [ebp - 4]
xor edx, edx
mov dword [ebx + 0x20], 0
movzx eax, word [esi + 2]
mov dword [ebx + 0x24], eax
cmp word [esi], 0x5c
setne dl
add esi, 4
mov dword [ebp - 0xc], edx
mov dword [ebx], esi
jmp 0x49b819
mov ebx, dword [ebp - 4]
add esi, 2
mov dword [ebp - 0xc], 2
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0xffffffff
mov dword [ebx], esi
jmp 0x49b819
mov ebx, dword [ebp - 4]
add esi, 2
mov dword [ebp - 0xc], 2
mov dword [ebx + 0x20], 1
mov dword [ebx + 0x24], 0xffffffff
mov dword [ebx], esi
jmp 0x49b819
mov ebx, dword [ebp - 4]
add esi, 2
mov dword [ebp - 0xc], 2
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 1
mov dword [ebx], esi
jmp 0x49b819
mov ebx, dword [ebp - 4]
mov dword [ebp - 0xc], 2
mov dword [ebx + 0x20], 0
movzx eax, word [esi + 2]
add esi, 4
mov dword [ebx + 0x24], eax
mov dword [ebx], esi
jmp 0x49b819
movzx ecx, word [esi]
add esi, 2
mov ebx, dword [ebp - 4]
mov eax, dword [ecx*4 + 0x51dcec]
mov dword [ebx], esi
mov dword [ebx + 0x20], eax
mov eax, dword [ecx*4 + 0x51dd18]
mov dword [ebx + 0x24], eax
mov eax, dword [ecx*4 + 0x51dd44]
mov dword [ebp - 0xc], eax
movzx eax, word [esi]
add esi, 2
mov ecx, eax
mov dword [ebx + 0x28], eax
mov dword [ebx], esi
cmp ecx, 0x10
je 0x49b838
cmp ecx, 0xf
je 0x49b838
mov ecx, dword [ebp - 4]
or edx, 0xffffffff
jmp 0x49b84e
movzx edx, word [esi]
lea ecx, [esi + 2]
mov dword [ebx], ecx
movzx eax, word [ecx]
mov dword [ebx + 0x2c], eax
lea eax, [ecx + 2]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov ebx, dword [ecx + 0x20]
mov dword [ebp - 0x10], edx
mov dword [ebp + 8], ebx
test ebx, ebx
je 0x49b9b1
mov edi, dword [ecx + 0x28]
test edx, edx
js 0x49c47c
xor ebx, ebx
cmp edi, 0xf
sete bl
cmp edx, 0xd
ja case.0x4a060b.15
jmp dword [edx*4 + 0x4a2e64]
cmp edi, 0xf
je 0x498fbf
mov edi, dword [ebp + 8]
mov esi, 1
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [eax + 0x54]
jae 0x49b8ce
cmp dword [ebp - 8], 0
lea eax, [ecx + 2]
movzx edx, word [ecx]
mov dword [ebx + 0x38], eax
je 0x49b8c4
and edx, 0xfc00
cmp edx, 0xd800
jne 0x49b8c4
lea eax, [ecx + 4]
mov dword [ebx + 0x38], eax
inc esi
cmp esi, edi
jbe 0x49b896
jmp 0x49b9b4
mov edi, eax
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x49b8ee
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov edi, dword [ebp + 8]
mov esi, 1
nop dword [eax + eax]
mov eax, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x38]
cmp edx, dword [eax + 0x54]
jae 0x49ba04
mov eax, dword [ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49b961
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b961
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, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x502c31]
cmp al, 9
je 0x49b998
cmp al, 5
je 0x49b998
cmp al, 8
je 0x49b998
xor eax, eax
jmp 0x49b99d
mov eax, 1
cmp eax, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, edi
jbe 0x49b910
mov ebx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov edi, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], edx
cmp edi, edx
je 0x498d35
cmp dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x10]
je 0x4a216e
mov esi, dword [ebx + 0x38]
mov dword [ebx + 4], esi
mov ebx, dword [ebx + 0x28]
test ecx, ecx
js 0x49e0b0
xor eax, eax
cmp ebx, 0xf
sete al
mov dword [ebp - 0x10], eax
cmp ecx, 0xd
ja case.0x4a060b.15
jmp dword [ecx*4 + 0x4a2e9c]
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49ba24
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov edi, dword [ebp + 8]
mov esi, 1
mov eax, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x38]
cmp edx, dword [eax + 0x54]
jae 0x49bae7
mov eax, dword [ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49ba94
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ba94
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 0x49ba97
mov edx, dword [ebp - 4]
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, edi
jbe 0x49ba41
jmp 0x49b9b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49bb07
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov edi, dword [ebp + 8]
mov esi, 1
mov eax, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x38]
cmp edx, dword [eax + 0x54]
jae 0x49bbc3
mov eax, dword [ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49bb77
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49bb77
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 0x49bb7a
mov edx, dword [ebp - 4]
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, edi
jbe 0x49bb24
jmp 0x49b9b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49bbe3
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov edi, dword [ebp + 8]
mov esi, 1
mov eax, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x38]
cmp edx, dword [eax + 0x54]
jae 0x49bc9f
mov eax, dword [ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49bc53
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49bc53
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 0x49bc56
mov edx, dword [ebp - 4]
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c30]
cmp eax, dword [edx + 0x2c]
sete cl
cmp ecx, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, edi
jbe 0x49bc00
jmp 0x49b9b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49bcbf
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov edi, dword [ebp + 8]
mov esi, 1
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x38]
cmp edx, dword [eax + 0x54]
jae 0x49bdad
mov eax, dword [ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49bd31
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49bd31
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, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x2c]
movzx eax, byte [edx*4 + 0x502c30]
cmp eax, ecx
je 0x49bd8f
movzx edx, word [edx*4 + 0x502c38]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x502938], eax
jne 0x49bd8f
xor eax, eax
jmp 0x49bd94
mov eax, 1
cmp eax, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, edi
jbe 0x49bce0
jmp 0x49b9b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49bdcd
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov edi, dword [ebp + 8]
mov esi, 1
nop word [eax + eax]
mov eax, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x38]
cmp edx, dword [eax + 0x54]
jae 0x49be9c
mov eax, dword [ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49be41
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49be41
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, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x49be7e
cmp eax, 3
je 0x49be7e
xor eax, eax
jmp 0x49be83
mov eax, 1
cmp eax, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, edi
jbe 0x49bdf0
jmp 0x49b9b1
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49bebc
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov esi, 1
mov eax, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x38]
cmp edx, dword [eax + 0x54]
jae 0x49bff6
mov eax, dword [ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [eax + 0x38], edx
je 0x49bf27
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49bf27
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
cmp ecx, 0x20
ja 0x49bf41
je case.0x49bfea.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x49bfea.8203
jmp dword [eax*4 + 0x4a2ed4]
cmp ecx, 0x2000
ja 0x49bfce
je case.0x49bfea.8193
cmp ecx, 0x1680
ja 0x49bfc6
je case.0x49bfea.8193
mov eax, ecx
sub eax, 0x85
je case.0x49bfea.8193
sub eax, 0x1b
je case.0x49bfea.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
cmp dword [eax*4 + 0x4fddc0], 6
sete cl
cmp ecx, ebx
je 0x498fbf
inc esi
cmp esi, dword [ebp + 8]
ja 0x49b9b1
mov ecx, dword [ebp - 4]
jmp 0x49bed6
cmp ecx, 0x180e
jmp 0x49bf71
cmp ecx, 0x3000
ja case.0x49bfea.8203
je case.0x49bfea.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x49bfea.8203
movzx eax, byte [eax + 0x4a2ef0]
jmp dword [eax*4 + 0x4a2ee8]
cmp edi, 0xf
jmp 0x49bfae
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49c016
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov esi, 1
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ecx + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x49c0e1
mov edi, dword [ebp - 4]
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 8], 0
mov dword [edi + 0x38], ecx
je 0x49c07e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c07e
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 [edi + 0x38], eax
mov eax, edx
shr eax, 7
movzx ecx, word [eax*2 + 0x506e40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x49c0c2
cmp eax, 3
je 0x49c0c2
cmp edx, 0x5f
je 0x49c0c2
xor eax, eax
jmp 0x49c0c7
mov eax, 1
cmp eax, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, dword [ebp + 8]
jbe 0x49c030
jmp 0x49b9b1
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x49c0ff
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov ebx, dword [ebp - 4]
mov esi, 1
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebx + 0x38]
cmp edx, dword [eax + 0x54]
jae 0x49c1ac
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x49c16b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c16b
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 + 0x502668]
lea eax, [eax*4 + 0x502668]
cmp ecx, edx
jb 0x49c18d
lea eax, [eax + 4]
cmp ecx, edx
je 0x49c1a1
mov edx, dword [eax]
cmp ecx, edx
jae 0x49c180
cmp edi, 0xf
jne 0x498fbf
inc esi
cmp esi, dword [ebp + 8]
jbe 0x49c120
jmp 0x49b9b4
cmp edi, 0xf
je 0x498fbf
jmp 0x49c196
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49c1cc
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov esi, 1
mov edi, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x38]
cmp edx, dword [edi + 0x54]
jae 0x49c27e
mov edi, dword [ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [edi + 0x38], edx
je 0x49c234
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c234
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 [edi + 0x38], eax
cmp ecx, 0x24
je 0x49c25f
cmp ecx, 0x40
je 0x49c25f
cmp ecx, 0x60
je 0x49c25f
cmp ecx, 0xa0
jb 0x49c253
cmp ecx, 0xd7ff
jbe 0x49c25f
cmp ecx, 0xe000
jae 0x49c25f
xor eax, eax
jmp 0x49c264
mov eax, 1
cmp eax, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, dword [ebp + 8]
jbe 0x49c1e6
jmp 0x49b9b1
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49c29c
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov esi, 1
mov edi, dword [ebp + 0x1c]
mov edx, dword [ecx + 0x38]
cmp edx, dword [edi + 0x54]
jae 0x49c351
mov edi, dword [ebp - 4]
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [edi + 0x38], edx
je 0x49c304
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c304
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 [edi + 0x38], eax
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x502c38]
shr eax, 0xb
cmp eax, dword [edi + 0x2c]
sete cl
cmp ecx, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, dword [ebp + 8]
jbe 0x49c2b6
jmp 0x49b9b1
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49c36f
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov esi, 1
nop dword [eax]
mov edi, dword [ebp + 0x1c]
mov ecx, dword [ecx + 0x38]
cmp ecx, dword [edi + 0x54]
jae 0x49c449
mov edi, dword [ebp - 4]
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 8], 0
mov dword [edi + 0x38], ecx
je 0x49c3de
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c3de
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 [edi + 0x38], eax
mov ecx, dword [edi + 0x2c]
mov eax, edx
shr eax, 7
and edx, 0x7f
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x502c3a]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x5020e0]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, ebx
je 0x498fbf
mov ecx, dword [ebp - 4]
inc esi
cmp esi, dword [ebp + 8]
jbe 0x49c390
jmp 0x49b9b1
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x49c467
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
cmp edi, 0x16
jne 0x49c568
mov ebx, dword [ebp - 4]
mov edi, 1
mov esi, dword [ebp + 0x1c]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x54]
jae 0x49c532
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov esi, edx
mov dword [ebx + 0x38], edx
je 0x49c4da
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c4da
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 + 0x1c]
push 0
push dword [ebp - 8]
push dword [eax + 0x54]
push dword [eax + 0x4c]
push esi
push ecx
call fcn.00498930
mov esi, dword [ebp + 0x1c]
add esp, 0x18
mov dword [ebx + 0x38], eax
cmp eax, dword [esi + 0x54]
jb 0x49c523
movzx ecx, word [esi + 0x3c]
mov edx, ecx
test cx, cx
je 0x49c523
cmp eax, dword [esi + 0x5c]
ja 0x49c513
cmp dword [esi + 0x24], 0
je 0x49c523
mov dword [esi + 0x1c], 1
cmp edx, 1
ja 0x49a037
inc edi
cmp edi, dword [ebx + 0x20]
jbe 0x49c490
jmp 0x49b9b4
mov edi, dword [ebp + 0x1c]
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x49c553
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
lea eax, [edi - 6]
cmp eax, 0xf
ja case.0x4a060b.15
mov esi, dword [ebp - 8]
test esi, esi
je 0x49cf0a
jmp dword [eax*4 + 0x4a2f50]
jmp dword [eax*4 + 0x4a3090]
cmp edi, edx
jae 0x49e098
nop word [eax + eax]
mov eax, dword [ebp + 0x1c]
mov ecx, 1
cmp esi, dword [eax + 0x54]
jae 0x49d743
cmp dword [ebp - 8], 0
je 0x49d727
mov eax, 0xfc00
and ax, word [esi]
cmp ax, word [ebp - 0x3c]
mov eax, 2
cmove ecx, eax
cmp ebx, 0xf
je 0x49e098
mov eax, dword [ebp - 4]
lea esi, [esi + ecx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, edx
jb 0x49d700
jmp 0x49e098
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49e09b
cmp esi, dword [edi + 0x5c]
ja 0x49d763
cmp dword [edi + 0x24], 0
je 0x49e09b
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp 0x49e09b
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x1c]
mov edx, 1
cmp esi, dword [eax + 0x54]
jae 0x49d826
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49d7ca
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d7ca
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 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x502c31]
cmp al, 9
je 0x49d801
cmp al, 5
je 0x49d801
cmp al, 8
je 0x49d801
xor eax, eax
jmp 0x49d806
mov eax, 1
cmp eax, ebx
je 0x49e098
mov eax, dword [ebp - 4]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, dword [ebp + 8]
jb 0x49d783
jmp 0x49e098
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49e09b
cmp esi, dword [edi + 0x5c]
ja 0x49d846
cmp dword [edi + 0x24], 0
je 0x49e09b
mov dword [edi + 0x1c], edx
cmp ecx, 1
ja 0x49a037
jmp 0x49e09b
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov edx, 1
cmp esi, dword [eax + 0x54]
jae 0x49d826
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49d8a5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d8a5
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 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, dword [ebx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x49e098
inc edi
lea esi, [esi + edx*2]
mov dword [ebx + 0x38], esi
cmp edi, dword [ebp + 8]
jb 0x49d862
jmp 0x49e098
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov edx, 1
cmp esi, dword [eax + 0x54]
jae 0x49d826
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49d94c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d94c
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 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
cmp eax, dword [ebx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x49e098
inc edi
lea esi, [esi + edx*2]
mov dword [ebx + 0x38], esi
cmp edi, dword [ebp + 8]
jb 0x49d905
jmp 0x49e098
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov edx, 1
cmp esi, dword [eax + 0x54]
jae 0x49d826
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49d9ec
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d9ec
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 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c30]
cmp eax, dword [ebx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x49e098
inc edi
lea esi, [esi + edx*2]
mov dword [ebx + 0x38], esi
cmp edi, dword [ebp + 8]
jb 0x49d9a5
jmp 0x49e098
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x49db15
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49da8c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49da8c
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x2c]
movzx eax, byte [edx*4 + 0x502c30]
cmp eax, ecx
je 0x49daea
movzx edx, word [edx*4 + 0x502c38]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x502938], eax
jne 0x49daea
xor eax, eax
jmp 0x49daef
mov eax, 1
cmp eax, ebx
je 0x49e098
mov eax, dword [ebp - 4]
lea esi, [esi + edi*2]
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebp + 8]
jb 0x49da45
jmp 0x49e098
mov edi, eax
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49e09b
cmp esi, dword [edi + 0x5c]
ja 0x49db35
cmp dword [edi + 0x24], 0
je 0x49e09b
mov dword [edi + 0x1c], 1
jmp 0x49d849
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 0x10]
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov edx, 1
cmp esi, dword [eax + 0x54]
jae 0x49d826
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49db97
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49db97
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 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x49dbd4
cmp eax, 3
je 0x49dbd4
xor eax, eax
jmp 0x49dbd9
mov eax, 1
cmp eax, ebx
je 0x49e098
mov eax, dword [ebp - 4]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, dword [ebp + 8]
jb 0x49db50
jmp 0x49e098
cmp edi, edx
jae 0x49e098
mov eax, dword [ebp + 0x1c]
mov edx, 1
cmp esi, dword [eax + 0x54]
jae 0x49d826
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49dc48
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49dc48
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, 0x20
ja 0x49dc62
je case.0x49dd16.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x49dd16.8203
jmp dword [eax*4 + 0x4a31d0]
cmp ecx, 0x2000
ja 0x49dcfa
je case.0x49dd16.8193
cmp ecx, 0x1680
ja 0x49dcf2
je case.0x49dd16.8193
mov eax, ecx
sub eax, 0x85
je case.0x49dd16.8193
sub eax, 0x1b
je case.0x49dd16.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
cmp dword [eax*4 + 0x4fddc0], 6
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x49e098
mov eax, dword [ebp - 4]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, dword [ebp + 8]
jb 0x49dc01
jmp 0x49e098
cmp ecx, 0x180e
jmp 0x49dc96
cmp ecx, 0x3000
ja case.0x49dd16.8203
je case.0x49dd16.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x49dd16.8203
movzx eax, byte [eax + 0x4a31ec]
jmp dword [eax*4 + 0x4a31e4]
cmp ebx, 0xf
jmp 0x49dcd4
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 0x10]
nop dword [eax]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x49db15
cmp dword [ebp - 8], 0
movzx edx, word [esi]
je 0x49dd77
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49dd77
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 + 0x506e40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x49ddbb
cmp eax, 3
je 0x49ddbb
cmp edx, 0x5f
je 0x49ddbb
xor eax, eax
jmp 0x49ddc0
mov eax, 1
cmp eax, ebx
je 0x49e098
mov eax, dword [ebp - 4]
lea esi, [esi + edi*2]
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebp + 8]
jb 0x49dd30
jmp 0x49e098
cmp edi, edx
jae 0x49e098
nop
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x49db15
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49de37
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49de37
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 [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax*4 + 0x502668]
lea eax, [eax*4 + 0x502668]
cmp ecx, edx
jb 0x49de5d
nop
lea eax, [eax + 4]
cmp ecx, edx
je 0x49de84
mov edx, dword [eax]
cmp ecx, edx
jae 0x49de50
cmp ebx, 0xf
jne 0x49e098
mov eax, dword [ebp - 4]
lea esi, [esi + edi*2]
mov dword [eax + 0x38], esi
mov eax, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [ebp + 8]
jb 0x49ddf0
jmp 0x49e098
cmp ebx, 0xf
je 0x49e098
jmp 0x49de66
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 0x10]
nop word [eax + eax]
mov eax, dword [ebp + 0x1c]
mov edx, 1
cmp esi, dword [eax + 0x54]
jae 0x49d826
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49dee7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49dee7
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 0x49df12
cmp ecx, 0x40
je 0x49df12
cmp ecx, 0x60
je 0x49df12
cmp ecx, 0xa0
jb 0x49df06
cmp ecx, 0xd7ff
jbe 0x49df12
cmp ecx, 0xe000
jae 0x49df12
xor eax, eax
jmp 0x49df17
mov eax, 1
cmp eax, ebx
je 0x49e098
mov eax, dword [ebp - 4]
lea esi, [esi + edx*2]
inc edi
mov dword [eax + 0x38], esi
cmp edi, dword [ebp + 8]
jb 0x49dea0
jmp 0x49e098
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov edx, 1
cmp esi, dword [eax + 0x54]
jae 0x49d826
cmp dword [ebp - 8], 0
movzx ecx, word [esi]
je 0x49df89
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49df89
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 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x502c38]
shr eax, 0xb
cmp eax, dword [ebx + 0x2c]
sete cl
cmp ecx, dword [ebp - 0x10]
je 0x49e098
inc edi
lea esi, [esi + edx*2]
mov dword [ebx + 0x38], esi
cmp edi, dword [ebp + 8]
jb 0x49df42
jmp 0x49e098
cmp edi, edx
jae 0x49e098
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
mov edi, 1
cmp esi, dword [eax + 0x54]
jae 0x49db15
cmp dword [ebp - 8], 0
movzx edx, word [esi]
je 0x49e02c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49e02c
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
mov ecx, dword [ebx + 0x2c]
mov eax, edx
shr eax, 7
and edx, 0x7f
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x502c3a]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x5020e0]
and ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
cmp ecx, dword [ebp - 0x10]
je 0x49e098
mov eax, dword [ebp + 0xc]
lea esi, [esi + edi*2]
inc eax
mov dword [ebx + 0x38], esi
mov dword [ebp + 0xc], eax
cmp eax, dword [ebp + 8]
jb 0x49dfe5
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x498d40
mov ebx, dword [ebp - 4]
jmp 0x4a1bc3
cmp ebx, 0x16
jne 0x49e1b1
cmp edi, edx
jae 0x49e19c
mov ebx, dword [ebp - 4]
mov esi, dword [ebp + 0x1c]
nop word [eax + eax]
mov edx, dword [ebx + 0x38]
cmp edx, dword [esi + 0x54]
jae 0x49e171
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov esi, edx
mov dword [ebx + 0x38], edx
je 0x49e11a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49e11a
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 + 0x1c]
push 0
push dword [ebp - 8]
push dword [eax + 0x54]
push dword [eax + 0x4c]
push esi
push ecx
call fcn.00498930
mov esi, dword [ebp + 0x1c]
add esp, 0x18
mov dword [ebx + 0x38], eax
cmp eax, dword [esi + 0x54]
jb 0x49e163
movzx ecx, word [esi + 0x3c]
mov edx, ecx
test cx, cx
je 0x49e163
cmp eax, dword [esi + 0x5c]
ja 0x49e153
cmp dword [esi + 0x24], 0
je 0x49e163
mov dword [esi + 0x1c], 1
cmp edx, 1
ja 0x49a037
inc edi
cmp edi, dword [ebx + 0x24]
jb 0x49e0d0
mov edi, esi
jmp 0x49e19f
mov edi, dword [ebp + 0x1c]
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49e19f
cmp edx, dword [edi + 0x5c]
ja 0x49e18a
cmp dword [edi + 0x24], 0
je 0x49e19f
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp 0x49e19f
mov edi, dword [ebp + 0x1c]
cmp dword [ebp - 0xc], 2
mov edx, dword [ebp - 8]
je 0x498d40
jmp 0x4a20d8
lea eax, [ebx - 6]
cmp eax, 0xf
ja case.0x4a060b.15
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x49e94a
jmp dword [eax*4 + 0x4a324c]
jmp dword [eax*4 + 0x4a3304]
xor eax, eax
cmp bl, 0x74
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx eax, word [edi + 0x42]
movzx ecx, word [esi + 2]
movzx edx, word [esi + 4]
imul ecx, eax
mov eax, dword [edi + 0x44]
lea ecx, [eax + ecx*2]
lea eax, [esi + 6]
mov dword [ebx], eax
test edx, edx
je 0x49f15e
movzx eax, word [ecx]
dec edx
lea eax, [eax*2 - 2]
mov dword [ebx + 0x14], eax
cmp eax, dword [ebx + 0x50]
jae 0x49f130
cmp dword [ebx + eax*4 + 0x54], 0xffffffff
jne 0x49f15e
movzx eax, word [edi + 0x42]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x49f112
jmp 0x49f15e
xor eax, eax
cmp bl, 0x72
mov ebx, dword [ebp - 4]
sete al
mov dword [ebx + 0x28], eax
movzx eax, word [esi + 2]
lea eax, [eax*2 - 2]
mov dword [ebx + 0x14], eax
lea eax, [esi + 4]
mov dword [ebx], eax
mov edx, dword [ebx]
movzx ecx, word [edx]
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x49f176
movzx eax, byte [eax + 0x4a343c]
jmp dword [eax*4 + 0x4a3434]
mov edi, dword [ecx*4 + 0x51dcb8]
lea eax, [edx + 2]
mov edx, dword [ebp - 4]
mov esi, dword [ecx*4 + 0x51dd10]
lea ebx, [edx + 0x24]
mov dword [ebp - 0xc], esi
mov dword [edx], eax
mov eax, dword [ecx*4 + 0x51dce4]
mov dword [edx + 0x20], edi
mov dword [ebx], eax
jmp 0x49f1dd
movzx edi, word [edx + 2]
mov dword [ebx + 0x20], edi
add ebx, 0x24
movzx ecx, word [edx + 4]
test ecx, ecx
mov dword [ebx], ecx
movzx eax, word [edx]
mov eax, dword [eax*4 + 0x51dd10]
mov dword [ebp - 0xc], eax
mov eax, ecx
mov ecx, 0xffffffff
cmove eax, ecx
mov dword [ebx], eax
lea eax, [edx + 6]
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov ecx, dword [edx + 0x14]
mov eax, ebx
mov dword [ebp + 0xc], ecx
mov dword [ebp + 8], ebx
cmp ecx, dword [edx + 0x50]
jae 0x49f20e
mov eax, dword [edx + ecx*4 + 0x54]
cmp eax, 0xffffffff
je 0x49f208
cmp eax, dword [edx + ecx*4 + 0x58]
je 0x498d35
lea eax, [edx + 0x24]
mov dword [ebp + 8], eax
jmp 0x49f226
lea eax, [edx + 0x24]
mov dword [ebp + 8], eax
test edi, edi
je 0x498d35
mov esi, dword [ebp + 0x1c]
test dword [esi + 0x7c], 0x200
jne 0x498d31
mov esi, 1
cmp edi, esi
jb 0x49f26b
lea eax, [ebp - 0x40]
push eax
push dword [ebp + 0x1c]
push edx
push dword [edx + 0x28]
push ecx
call fcn.004a3810
add esp, 0x14
test eax, eax
jne 0x49f2dc
mov edx, dword [ebp - 4]
inc esi
mov eax, dword [ebp - 0x40]
mov ecx, dword [edx + 0x38]
lea eax, [ecx + eax*2]
mov ecx, dword [ebp + 0xc]
mov dword [edx + 0x38], eax
cmp esi, edi
jbe 0x49f233
mov eax, ebx
mov dword [ebp + 8], eax
mov ebx, dword [eax]
cmp edi, ebx
je 0x498d35
cmp dword [ebp - 0xc], 0
je 0x4a223c
mov eax, dword [edx + 0x38]
mov esi, 1
mov dword [edx + 4], eax
mov eax, dword [edx + ecx*4 + 0x58]
sub eax, dword [edx + ecx*4 + 0x54]
mov dword [edx + 0xc], eax
cmp edi, ebx
jae 0x49f35c
nop dword [eax]
lea eax, [ebp - 0x44]
push eax
push dword [ebp + 0x1c]
push edx
push dword [edx + 0x28]
push ecx
call fcn.004a3810
add esp, 0x14
test eax, eax
jne 0x49f32c
mov edx, dword [ebp - 4]
xor ecx, ecx
mov eax, dword [ebp - 0x44]
cmp eax, dword [edx + 0xc]
cmovne esi, ecx
mov ecx, dword [ebp + 0xc]
add eax, eax
inc edi
add dword [edx + 0x38], eax
cmp edi, ebx
jb 0x49f2a0
jmp 0x49f354
mov edi, dword [ebp + 0x1c]
jle 0x49f2ea
mov ecx, dword [ebp - 4]
mov eax, dword [edi + 0x54]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.default.0x4a0628
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x49f317
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
jle 0x49f354
mov edx, dword [ebp + 0x1c]
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x49f354
mov eax, dword [edx + 0x54]
cmp eax, dword [edx + 0x5c]
jbe 0x49f354
mov dword [edx + 0x1c], 1
cmp ecx, 1
ja 0x49a037
test esi, esi
je 0x4a219f
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jb case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x15
jmp 0x4a26ec
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.004a3810
add esp, 0x14
test eax, eax
je 0x49f3dc
jle 0x49f39d
mov eax, dword [edi + 0x54]
mov dword [ebx + 0x38], eax
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.default.0x4a0628
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x49f3c7
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
mov eax, dword [ebp - 0x20]
add eax, eax
add dword [ebx + 0x38], eax
jmp 0x498d38
mov ecx, dword [ebp - 4]
add esi, 2
mov dword [ecx], esi
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
mov esi, eax
mov dword [ecx], eax
cmp word [esi], 0x78
je 0x49f3f1
add eax, 4
mov dword [ecx], eax
jmp 0x498d40
cmp dword [edi + 0x20], 0
mov ebx, dword [ebp - 4]
jne 0x49f41f
cmp dword [ebx + 0x18], 0
jne 0x49fe3b
xor ecx, ecx
jmp 0x4a2500
mov ebx, dword [ebp - 4]
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
call fcn.00498b20
mov esi, eax
add esp, 0xc
test esi, esi
jg case.default.0x4a0628
js 0x49ab3d
mov eax, dword [ebp - 0x20]
add eax, eax
add dword [ebx], eax
jmp 0x498d38
movzx eax, word [esi + 2]
mov ebx, dword [ebp - 4]
mov dword [ebx + 0xc], eax
cmp word [esi + eax*2], 0x78
je 0x49f46a
add eax, 0xfffffffe
mov dword [ebx + 0xc], eax
add esi, 4
mov dword [ebx], esi
movzx eax, word [esi]
cmp eax, 0x76
je 0x49f47c
cmp eax, 0x77
jne 0x49f4a7
lea eax, [ebp - 0x20]
push eax
push edi
push ebx
call fcn.00498b20
mov esi, eax
add esp, 0xc
test esi, esi
jg case.default.0x4a0628
js 0x49ab3d
mov ecx, dword [ebp - 0x20]
lea eax, [ecx + ecx]
add dword [ebx], eax
mov esi, dword [ebx]
sub dword [ebx + 0xc], ecx
movzx ecx, word [esi]
lea eax, [ecx - 0x90]
cmp eax, 0x12
ja case.0x49f4c0.150
movzx eax, byte [eax + 0x4a3460]
jmp dword [eax*4 + 0x4a3444]
mov ecx, dword [ebx + 0x44]
cmp ecx, 0xffffffff
je case.0x49f4c0.148
movzx eax, word [esi + 2]
cmp eax, 0xffff
je case.0x49f4c0.149
cmp eax, ecx
je case.0x49f4c0.149
jmp case.0x49f4c0.148
mov ebx, dword [ebx + 0x44]
cmp ebx, 0xffffffff
je 0x4a1f91
movzx edi, word [edi + 0x42]
movzx ecx, word [esi + 2]
mov eax, dword [ebp + 0x1c]
movzx edx, word [esi + 4]
imul ecx, edi
mov eax, dword [eax + 0x44]
lea ecx, [eax + ecx*2]
test edx, edx
je 0x4a1f91
nop dword [eax + eax]
movzx eax, word [ecx]
dec edx
cmp eax, ebx
je 0x49f54c
lea ecx, [ecx + edi*2]
test edx, edx
jg 0x49f520
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], ebx
jmp case.0x49f4c0.148
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
movzx eax, word [ecx]
mov dword [ebp - 4], ebx
movzx eax, byte [eax + 0x4fdc20]
jmp 0x4a1f99
movzx eax, word [esi + 2]
lea eax, [eax*2 - 2]
cmp eax, dword [ebx + 0x50]
jae case.0x49f4c0.148
cmp dword [ebx + eax*4 + 0x54], 0xffffffff
je case.0x49f4c0.148
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x4fdc20]
jmp 0x4a1f99
movzx edi, word [edi + 0x42]
movzx ecx, word [esi + 2]
mov eax, dword [ebp + 0x1c]
movzx edx, word [esi + 4]
imul ecx, edi
mov eax, dword [eax + 0x44]
lea ecx, [eax + ecx*2]
test edx, edx
je case.0x49f4c0.148
mov esi, dword [ebx + 0x50]
nop dword [eax + eax]
movzx eax, word [ecx]
dec edx
lea eax, [eax*2 - 2]
cmp eax, esi
jae 0x49f5ea
cmp dword [ebx + eax*4 + 0x54], 0xffffffff
jne case.0x49f4c0.149
lea ecx, [ecx + edi*2]
test edx, edx
jg 0x49f5d0
jmp case.0x49f4c0.148
cmp dword [ebp - 8], 0
movzx edx, word [esi + 2]
mov ebx, dword [ebp - 4]
je 0x49f63b
test edx, edx
je 0x49f655
mov esi, 0xfc00
mov ecx, dword [ebx + 0x38]
dec edx
cmp ecx, dword [edi + 0x50]
jbe case.default.0x4a0628
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov ax, word [ecx]
and ax, si
cmp ax, word [ebp - 0x2c]
jne 0x49f635
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
test edx, edx
jne 0x49f610
jmp 0x49f655
mov ecx, dword [ebx + 0x38]
mov eax, ecx
sub eax, dword [edi + 0x4c]
sar eax, 1
cmp edx, eax
jg case.default.0x4a0628
lea eax, [edx + edx]
sub ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x5c]
jae 0x49f660
mov dword [edi + 0x5c], eax
add dword [ebx], 4
jmp 0x498d38
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 4]
mov dword [eax], esi
cmp word [esi], 0x78
je case.0x498d63.120
jmp 0x498d40
movzx eax, word [esi + 2]
mov ecx, 0x86
add eax, eax
sub esi, eax
movzx eax, word [esi]
cmp ax, cx
je 0x49f712
mov ecx, 0x8a
cmp ax, cx
je 0x49f712
mov ebx, dword [ebp - 4]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebx + 0x4c]
add ecx, dword [eax + 0x18]
mov edi, ecx
mov dword [ebp - 0x14], ecx
sub edi, dword [ebp + 0x14]
mov eax, dword [edi + 0x4c]
mov dword [ebx + 0x4c], eax
mov eax, dword [ecx + 0x1c]
and eax, 0xffff0000
cmp eax, 0x30000
jne 0x49f71a
mov eax, dword [ebx + 0x50]
shl eax, 2
push eax
lea eax, [ebx + 0x54]
push eax
lea eax, [edi + 0x54]
push eax
call fcn.004a77d0
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov dword [edi + 0x50], eax
mov esi, 1
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x40], eax
mov eax, ebx
sub eax, edi
mov edi, dword [ebp + 0x1c]
mov dword [ebx + 0x10], eax
jmp 0x49ab3d
mov ebx, dword [ebp - 4]
xor edi, edi
mov ecx, dword [ebp - 0x14]
movzx eax, word [esi]
add eax, 0xffffff82
cmp eax, 0x10
ja case.0x49f730.134
movzx eax, byte [eax + 0x4a3490]
jmp dword [eax*4 + 0x4a3474]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x60]
jbe 0x49f745
mov dword [ecx + 0x60], eax
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x38], eax
jmp case.0x49f730.134
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x60]
jbe 0x49f75e
mov dword [ecx + 0x60], eax
mov eax, dword [edi + 0x38]
mov dword [ebx + 0x38], eax
mov eax, ebx
sub eax, edi
mov dword [ebx + 0x10], eax
mov ecx, dword [edi]
movzx eax, word [ecx + 2]
add eax, eax
cmp word [eax + ecx], 0x78
jne case.0x49f730.134
nop
add eax, ecx
mov ecx, eax
mov dword [edi], eax
movzx eax, word [eax + 2]
add eax, eax
cmp word [ecx + eax], 0x78
je 0x49f780
jmp case.0x49f730.134
mov eax, dword [ebp - 4]
mov esi, 1
mov edi, dword [ebp + 0x1c]
jmp 0x49ab43
push edx
push dword [ebx + 0x38]
push dword [edi + 0x38]
call fcn.0048ac00
add esp, 0xc
test eax, eax
jne case.0x49f730.134
mov edi, dword [ebp + 0x1c]
xor esi, esi
jmp 0x49ab3d
movzx eax, word [esi + 4]
cmp dword [ebx + 0x44], eax
jne 0x49f80c
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.004a77d0
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 0x498d35
lea edx, [eax + eax]
mov dword [ebx + 0x48], eax
mov eax, dword [edi + 0x38]
lea ecx, [edx - 2]
mov dword [ebp + 8], edx
mov edx, dword [ebp + 0x1c]
sub eax, dword [edx + 0x4c]
sar eax, 1
mov dword [ebx + ecx*4 + 0x54], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [edx + 0x4c]
mov edx, dword [ebp + 8]
sar eax, 1
mov dword [ebx + ecx*4 + 0x58], eax
cmp ecx, dword [ebx + 0x50]
jb case.0x49f730.134
mov dword [ebx + 0x50], edx
mov edx, dword [ebx]
cmp word [edx], 0x7c
jne 0x49f866
push dword [ebp - 0x48]
lea eax, [ebx + 0x38]
push eax
lea eax, [edi + 0x38]
push eax
call fcn.004a77d0
mov edi, dword [ebp + 0x1c]
add esp, 0xc
mov esi, 0xfffffc1a
jmp 0x49ab3d
mov cl, byte [ebx + 0x31]
cmp cl, 0x79
je 0x49f882
test edi, edi
je 0x4a21f6
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x38]
jne 0x4a21f6
mov edi, dword [ebp + 0x1c]
add dword [ebx], 4
jmp 0x498d38
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x4c]
jne 0x4991e0
test byte [edi + 0x78], 1
jne 0x4991e0
lea eax, [esi + 2]
mov dword [ecx], eax
jmp 0x498d40
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [edi + 0x4c]
je 0x49f8a6
xor esi, esi
mov eax, ecx
jmp 0x49ab43
test byte [edi + 0x78], 2
je 0x49f8d4
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
test byte [edi + 0x7c], 0x10
je case.0x498d63.23
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
cmp eax, dword [edi + 0x54]
jb case.default.0x4a0628
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49f904
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
add dword [edx], 2
jmp 0x498d38
mov ebx, dword [ebp - 4]
mov ecx, dword [edi + 0x54]
mov edx, dword [ebx + 0x38]
cmp edx, ecx
jae 0x49f9de
mov eax, dword [edi + 0x88]
add edi, 0x8c
test eax, eax
je 0x49f94a
push dword [ebp - 8]
push edi
push ecx
push eax
push edx
call fcn.0048b2e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x49f98b
jmp 0x49f976
mov esi, dword [edi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x49f98b
mov ecx, dword [ebp + 0x1c]
mov ax, word [edx]
cmp ax, word [ecx + 0x90]
jne 0x49f98b
cmp esi, 1
je 0x49f976
mov ax, word [edx + 2]
cmp ax, word [ecx + 0x92]
jne 0x49f98b
mov eax, dword [ebp + 0x1c]
mov ecx, dword [edi]
add ecx, ecx
mov eax, dword [eax + 0x54]
sub eax, ecx
cmp dword [ebx + 0x38], eax
je 0x49f9db
mov eax, dword [ebp + 0x1c]
movzx eax, word [eax + 0x3c]
mov edx, eax
test ax, ax
je 0x498ea2
mov ecx, dword [ebx + 0x38]
mov ebx, dword [ebp + 0x1c]
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x54]
jb 0x49f9d4
cmp dword [ebx + 0x88], 0
jne 0x49f9d4
cmp dword [edi], 2
mov edi, ebx
jne case.default.0x4a0628
mov ax, word [ecx]
cmp ax, word [edi + 0x90]
jne case.default.0x4a0628
jmp 0x49b338
mov edi, ebx
jmp case.default.0x4a0628
mov edi, dword [ebp + 0x1c]
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49b72b
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
add dword [ebx], 2
jmp 0x498d38
test byte [edi + 0x78], 1
mov ebx, dword [ebp - 4]
je 0x49fa1f
mov eax, dword [ebx + 0x38]
cmp eax, dword [edi + 0x4c]
jne 0x49fa1f
xor esi, esi
mov eax, ebx
jmp 0x49ab43
mov ecx, dword [ebx + 0x38]
mov edx, dword [edi + 0x4c]
cmp ecx, edx
je 0x49b72b
cmp ecx, dword [edi + 0x54]
jne 0x49fa3f
test dword [edi + 0x7c], 0x200000
je case.default.0x4a0628
mov esi, dword [edi + 0x88]
test esi, esi
je 0x49fa7c
cmp ecx, edx
jbe 0x49fa6d
push dword [ebp - 8]
lea eax, [edi + 0x8c]
push eax
push edx
push esi
push ecx
call fcn.0048b3a0
add esp, 0x14
test eax, eax
je 0x49fa6d
mov eax, 1
jmp 0x49fa6f
xor eax, eax
test eax, eax
jne 0x49b72b
jmp case.default.0x4a0628
mov edi, dword [edi + 0x8c]
lea esi, [edi + edi]
lea eax, [edx + esi]
cmp ecx, eax
jb 0x498ea2
mov edx, dword [ebp + 0x1c]
sub ecx, esi
mov ax, word [ecx]
cmp ax, word [edx + 0x90]
jne 0x49fac2
cmp edi, 1
mov edi, edx
je 0x49b72b
mov ax, word [ecx + 2]
cmp ax, word [edi + 0x92]
je 0x49b72b
jmp case.default.0x4a0628
mov edi, edx
jmp case.default.0x4a0628
mov ebx, dword [ebp - 4]
mov ecx, dword [edi + 0x54]
mov edx, dword [ebx + 0x38]
cmp edx, ecx
jae 0x49fb7b
mov eax, dword [edi + 0x88]
test eax, eax
je 0x49fb07
push dword [ebp - 8]
lea esi, [edi + 0x8c]
push esi
push ecx
push eax
push edx
call fcn.0048b2e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
jne 0x49fbb5
jmp 0x49fb48
mov esi, dword [edi + 0x8c]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x49fb3f
mov ecx, dword [ebp + 0x1c]
mov ax, word [edx]
cmp ax, word [ecx + 0x90]
jne 0x49fb3f
cmp esi, 1
je 0x49fbb3
mov ax, word [edx + 2]
cmp ax, word [ecx + 0x92]
je 0x49fbb3
lea esi, [edi + 0x8c]
mov edi, dword [ebp + 0x1c]
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
mov ecx, dword [ebx + 0x38]
lea eax, [ecx + 2]
cmp eax, dword [edi + 0x54]
jb case.default.0x4a0628
cmp dword [edi + 0x88], 0
jne case.default.0x4a0628
cmp dword [esi], 2
jmp 0x49f9b9
test byte [edi + 0x78], 2
jne case.default.0x4a0628
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je 0x49fbb5
cmp edx, dword [edi + 0x5c]
ja 0x49fb9b
cmp dword [edi + 0x24], 0
je 0x49fbb5
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
add dword [ebx], 2
jmp 0x498d38
mov edi, ecx
add dword [ebx], 2
jmp 0x498d38
mov ecx, dword [edi + 0x34]
mov eax, dword [edi + 0x4c]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x38], eax
je 0x49f8a6
xor esi, esi
mov eax, ecx
jmp 0x49ab43
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
lea eax, [esi + 2]
mov dword [ecx], eax
jmp 0x498d40
mov ebx, dword [ebp - 4]
mov esi, dword [ebp + 0x1c]
mov edi, dword [ebx + 0x38]
cmp edi, dword [esi + 0x50]
jne 0x49fc09
mov edx, dword [ebp + 0x1c]
xor ebx, ebx
add esi, 0x5c
jmp 0x49fcdc
cmp dword [ebp - 8], 0
lea edx, [edi - 2]
movzx eax, word [edx]
mov ecx, eax
je 0x49fc59
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x49fc2e
movzx ecx, word [edx - 2]
sub edx, 2
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49fc59
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add esi, 0x5c
cmp edx, dword [esi]
jae 0x49fc65
mov dword [esi], edx
mov edi, dword [ebx + 0x38]
mov edx, dword [ebp + 0x1c]
test dword [edx + 0x7c], 0x20000
je 0x49fcc2
cmp ecx, 0x5f
jne 0x49fc82
lea ebx, [ecx - 0x5e]
jmp 0x49fcdc
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x49fcbb
cmp eax, 3
jne 0x49fcda
mov ebx, 1
jmp 0x49fcdc
cmp ecx, 0xff
ja 0x49fcda
mov eax, dword [edx + 0x30]
test byte [ecx + eax], 0x10
je 0x49fcda
mov ebx, 1
jmp 0x49fcdc
xor ebx, ebx
mov eax, dword [edx + 0x54]
cmp edi, eax
jb 0x49fd46
movzx eax, word [edx + 0x3c]
mov ecx, eax
test ax, ax
je 0x49fd41
cmp edi, dword [esi]
mov edi, dword [ebp + 0x1c]
ja 0x49fd03
cmp dword [edi + 0x24], 0
je 0x49fd13
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
xor edx, edx
mov esi, dword [ebp - 4]
xor edx, ebx
mov eax, dword [esi]
movzx ecx, word [eax]
add eax, 2
mov dword [esi], eax
cmp ecx, 5
jne 0x49fd2c
xor edx, 1
test edx, edx
mov edx, dword [ebp - 8]
je 0x498d40
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
mov edi, dword [ebp + 0x1c]
jmp 0x49fd13
cmp dword [ebp - 8], 0
lea edx, [edi + 2]
je 0x49fd9c
cmp edx, eax
jae 0x49fd6f
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49fd6f
add edx, 2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49fd9f
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x49fd9f
movzx ecx, word [edi]
mov edi, dword [ebp + 0x1c]
cmp edx, dword [edi + 0x60]
jbe 0x49fdaa
mov dword [edi + 0x60], edx
test dword [edi + 0x7c], 0x20000
je 0x49fe0b
cmp ecx, 0x5f
jne 0x49fdc4
lea edx, [ecx - 0x5e]
jmp 0x49fd15
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x49fe01
cmp eax, 3
jne 0x49fd13
mov edx, 1
jmp 0x49fd15
cmp ecx, 0xff
ja 0x49fd13
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
je 0x49fd13
mov edx, 1
jmp 0x49fd15
test esi, esi
jne case.0x49ff08.998
mov esi, dword [ebx + 4]
mov dword [ebx], esi
movzx eax, word [esi + 2]
lea ecx, [esi + eax*2]
mov dword [ebx + 4], ecx
cmp word [ecx], 0x78
mov eax, dword [ebx]
movzx eax, word [eax]
mov al, byte [eax + 0x4fdc20]
movzx eax, al
je 0x4a2213
lea eax, [esi + eax*2]
mov dword [ebx], eax
jmp 0x498d38
cmp esi, 0xfffffc1f
jne 0x49fe8d
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edi + 0x6c], eax
jae case.0x49ff08.998
cmp word [ecx], 0x78
je 0x49fe95
cmp word [eax], 0x78
jmp 0x49fe8f
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea esi, [ecx + eax*2]
mov dword [ebx], esi
cmp word [esi], 0x78
je 0x4a2503
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
cmp esi, 0xfffffc19
je 0x4a1ec2
test esi, esi
je 0x49fed0
cmp esi, 0xfffffc1f
jne case.0x49ff08.998
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea esi, [ecx + eax*2]
mov dword [ebx], esi
cmp word [esi], 0x78
je 0x4a25b6
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
test esi, esi
jg 0x49ff0f
je case.0x49ff08.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x49ff08.998
jmp dword [eax*4 + 0x4a34a4]
mov eax, esi
sub eax, 1
mov eax, dword [ebp - 4]
jne 0x49ab43
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
test esi, esi
jg 0x49ff47
je case.0x49ff40.993
lea eax, [esi + 0x3e7]
cmp eax, 6
ja case.0x49ff08.998
jmp dword [eax*4 + 0x4a34c0]
mov eax, esi
sub eax, 1
jne case.0x49ff08.998
mov eax, dword [ebx + 0x20]
test eax, eax
je case.0x49f4c0.148
mov ecx, dword [ebx]
nop
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x49ff60
mov ecx, dword [ebx]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x4fdc20]
jmp 0x4a1f99
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
add eax, eax
sub ecx, eax
mov dword [ebx], ecx
jmp 0x498d40
test esi, esi
je 0x49f885
mov eax, dword [ebp - 4]
jmp 0x49ab43
cmp esi, 0xfffffc1a
jne 0x49ffd7
mov dword [ebx + 0x24], 1
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jne 0x4a221f
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x49ffc6
jmp 0x4a001a
cmp esi, 0xfffffc1f
jne 0x49fffd
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edi + 0x6c], eax
jae case.0x49ff08.998
cmp word [ecx], 0x78
je 0x4a0005
cmp word [eax], 0x78
jmp 0x49ffff
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x4a24c7
cmp dword [ebx + 0x24], 0
jne 0x4a0050
cmp dword [ebx + 0x28], 0
jne 0x4a0050
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx + 4]
nop dword [eax + eax]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx + 4], ecx
cmp word [ecx], 0x78
je 0x4a0040
lea eax, [ecx + 4]
mov dword [ebx], eax
jmp 0x498d40
test esi, esi
jne case.0x49ff08.998
add dword [ebx], 2
jmp 0x498d40
mov edx, dword [ebx + 4]
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
lea eax, [esi + 0x3e5]
cmp eax, 4
ja 0x4a00b2
mov eax, dword [ebx + 0x20]
xor eax, 0x40000
cmp dword [edi + 0x74], eax
jne 0x4a00b2
cmp esi, 0xfffffc1f
jne case.default.0x4a0628
cmp dword [edi + 0x6c], ecx
jae case.default.0x4a0628
cmp word [edx], 0x78
je 0x4a00bd
cmp word [ecx], 0x78
je 0x4a00bd
jmp case.default.0x4a0628
mov edx, dword [ebp - 8]
test esi, esi
jne case.0x49ff08.998
mov dword [ebx + 4], ecx
cmp word [ecx], 0x78
je 0x4a258b
jmp case.default.0x4a0628
cmp esi, 0xfffffc1e
jne case.0x49ff08.998
mov eax, dword [ebx]
push dword [edi + 0x70]
add eax, 4
push eax
call fcn.0048afe0
mov edx, dword [ebp - 8]
add esp, 8
test eax, eax
jne case.0x49ff08.998
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x70], eax
mov eax, dword [ebp - 4]
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1b
mov dword [edi + 0x74], eax
mov eax, dword [ebp - 4]
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov eax, dword [ebx + 0x44]
mov esi, 0xfffffc1c
mov dword [edi + 0x74], eax
mov eax, dword [ebp - 4]
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov eax, dword [ebx + 0x38]
mov esi, 0xfffffc1d
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x74], eax
mov eax, dword [ebp - 4]
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov eax, dword [ebx]
mov esi, 0xfffffc1e
add eax, 4
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x74], eax
mov eax, dword [ebp - 4]
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov eax, dword [ebx]
mov esi, 0xfffffc1f
mov dword [edi + 0x6c], eax
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x74], eax
mov eax, dword [ebp - 4]
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
lea eax, [ebp - 0x4c]
push eax
push edi
push ebx
push dword [ebx + 0x28]
push dword [ebx + 0x14]
call fcn.004a3810
add esp, 0x14
test eax, eax
je 0x4a2229
jle 0x4a01d6
mov eax, dword [edi + 0x54]
mov dword [ebx + 0x38], eax
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb case.default.0x4a0628
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x4a0200
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
mov eax, dword [ebx + 0xc]
neg eax
add eax, eax
add dword [ebx + 0x38], eax
jmp 0x49f362
test esi, esi
jne case.0x49ff08.998
mov esi, dword [ebx + 4]
mov eax, dword [ebp - 4]
cmp dword [ebx + 0x38], esi
jne 0x4a224a
xor esi, esi
jmp 0x49ab40
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a029e
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a0289
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
lea eax, [edx + 2]
mov dword [ebx + 0x38], eax
cmp ecx, 0xff
jbe 0x4a02c4
cmp byte [ebx + 0x31], 0x6e
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x17
jmp 0x4a26ec
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 0x4a02b9
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
add dword [ebx + 0x38], 0xfffffffe
jmp 0x49a7df
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4a0345
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x4a0330
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je 0x4a0356
cmp dword [ebx + 0x2c], eax
jne case.default.0x4a0628
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x19
jmp 0x4a26ec
add dword [ebx + 0x38], 0xfffffffe
test esi, esi
je 0x499c66
mov eax, dword [ebp - 4]
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x4a03d3
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp esi, dword [edi + 0x5c]
ja 0x4a03be
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [esi]
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je 0x4a2295
jmp case.default.0x4a0628
add dword [ebx + 0x38], 0xfffffffe
test esi, esi
je 0x499d80
mov eax, dword [ebp - 4]
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4a0452
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x4a043d
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx eax, word [ecx]
cmp dword [ebx + 0x28], eax
je case.default.0x4a0628
cmp dword [ebx + 0x2c], eax
je case.default.0x4a0628
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
add dword [ebx + 0x38], 0xfffffffe
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x498d38
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1e
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov esi, dword [ebx + 0x38]
cmp esi, dword [edi + 0x54]
jb 0x4a04f3
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp esi, dword [edi + 0x5c]
ja 0x4a04de
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [esi]
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], ecx
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1f
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
add dword [ebx + 0x38], 0xfffffffe
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x498d40
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x20
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
mov ecx, dword [edi + 0x54]
cmp edx, ecx
jb 0x4a0589
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a0574
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
cmp dword [ebx + 0x28], 0xc
jne 0x4a05f0
mov eax, dword [edi + 0x88]
lea esi, [edi + 0x8c]
test eax, eax
je 0x4a05bf
push dword [ebp - 8]
push esi
push ecx
push eax
push edx
call fcn.0048b2e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4a05f0
jmp case.default.0x4a0628
mov esi, dword [esi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x4a05f0
mov ax, word [edx]
cmp ax, word [edi + 0x90]
jne 0x4a05f0
cmp esi, 1
je case.default.0x4a0628
mov ax, word [edx + 2]
cmp ax, word [edi + 0x92]
je case.default.0x4a0628
mov eax, dword [ebx + 0x38]
movzx ecx, word [eax]
lea esi, [eax + 2]
mov dword [ebx + 0x38], esi
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x4a060b.15
jmp dword [eax*4 + 0x4a34dc]
cmp ecx, 0x85
ja 0x4a062f
je case.0x4a0628.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a0628
jmp dword [ecx*4 + 0x4a351c]
sub ecx, 0x2028
je case.0x4a0628.11
sub ecx, 1
jne case.default.0x4a0628
cmp word [edi + 0x3e], 2
jne case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0x2000
ja 0x4a06a0
je case.default.0x4a0628
cmp ecx, 0xa0
ja 0x4a0683
je case.default.0x4a0628
cmp ecx, 9
je case.default.0x4a0628
cmp ecx, 0x20
jne case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0x1680
je case.default.0x4a0628
cmp ecx, 0x180e
jne case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0x3000
ja case.0x4a060b.13
je case.default.0x4a0628
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4a060b.13
movzx eax, byte [ecx + 0x4a3534]
jmp dword [eax*4 + 0x4a352c]
cmp ecx, 0x2000
ja 0x4a071f
je case.0x4a060b.13
cmp ecx, 0xa0
ja 0x4a0702
je case.0x4a060b.13
cmp ecx, 9
je case.0x4a060b.13
cmp ecx, 0x20
je case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0x1680
je case.0x4a060b.13
cmp ecx, 0x180e
je case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0x3000
ja case.default.0x4a0628
je case.0x4a060b.13
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4a0628
movzx eax, byte [ecx + 0x4a359c]
jmp dword [eax*4 + 0x4a3594]
cmp ecx, 0x85
ja 0x4a076f
je case.default.0x4a0628
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4a060b.13
jmp dword [ecx*4 + 0x4a35fc]
sub ecx, 0x2028
je case.default.0x4a0628
sub ecx, 1
jne case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0x85
ja 0x4a07aa
je case.0x4a060b.13
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a0628
jmp dword [ecx*4 + 0x4a360c]
sub ecx, 0x2028
je case.0x4a060b.13
sub ecx, 1
je case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0xff
ja case.0x4a060b.13
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
je case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0xff
ja case.default.0x4a0628
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
jne case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0xff
ja case.0x4a060b.13
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
je case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0xff
ja case.default.0x4a0628
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
jne case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0xff
ja case.0x4a060b.13
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
je case.0x4a060b.13
jmp case.default.0x4a0628
cmp ecx, 0xff
ja case.default.0x4a0628
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
jne case.0x4a060b.13
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
mov eax, dword [ebx + 0x38]
add eax, 0xfffffffe
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0x11
jne 0x4a08aa
cmp eax, dword [ebx + 4]
jbe 0x4a08aa
cmp word [eax], 0xa
jne 0x4a08aa
mov ecx, dword [ebx + 0x38]
add eax, 0xfffffffe
cmp word [eax], 0xd
cmove ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
je 0x498d38
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x22
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a0915
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a0900
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
mov esi, dword [ebp - 8]
mov dword [ebx + 0x38], edx
test esi, esi
je 0x4a0952
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a0952
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
push esi
push dword [ebx + 8]
push ecx
call fcn.0048b490
add esp, 0xc
test eax, eax
jne 0x4a230b
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 2]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.default.0x4a0628
cmp dword [ebp - 8], esi
je 0x49aa3d
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49aa3d
lea eax, [edx - 2]
mov dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x65
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a0a0d
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a09f8
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a0a43
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 0x4a0a60
cmp byte [ebx + 0x31], 0x6e
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc8
jmp 0x4a26ec
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 0x4a0a55
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx + 0x38]
lea edx, [ecx - 2]
mov dword [ebx + 0x38], edx
cmp ecx, dword [ebx + 4]
jbe case.default.0x4a0628
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49a657
lea eax, [edx - 2]
mov dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xc9
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x38]
add edi, edi
mov ecx, dword [eax + 0x54]
mov eax, ecx
sub eax, edi
mov dword [ebp + 8], ecx
cmp ebx, eax
ja 0x4a0b60
mov eax, dword [ebp - 4]
mov esi, edi
mov ecx, ebx
mov edx, dword [eax + 8]
sub esi, 4
jb 0x4a0b17
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a0b20
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4a0b06
cmp esi, 0xfffffffc
je 0x4a2316
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a0b5d
cmp esi, 0xfffffffd
je 0x4a2316
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a0b5d
cmp esi, 0xfffffffe
je 0x4a2316
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a0b5d
cmp esi, 0xffffffff
je 0x4a2316
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4a2316
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
test eax, eax
je 0x4a0be7
lea edi, [eax + eax]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4a0be7
mov esi, edi
add edx, 0x32
mov ecx, ebx
sub esi, 4
jb 0x4a0ba1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4a0baa
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4a0b90
cmp esi, 0xfffffffc
je 0x4a2316
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4a0be7
cmp esi, 0xfffffffd
je 0x4a2316
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4a0be7
cmp esi, 0xfffffffe
je 0x4a2316
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4a0be7
cmp esi, 0xffffffff
je 0x4a2316
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4a2316
mov edi, dword [ebp + 0x1c]
cmp ebx, dword [edi + 0x54]
jb case.default.0x4a0628
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp ebx, dword [edi + 0x5c]
ja 0x4a0c11
cmp dword [edi + 0x24], 0
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx + 0x38]
mov edx, 0xfc00
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4a0c52
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x498d38
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xcb
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a0cbd
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a0ca8
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a0cf3
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.default.0x4a0628
cmp dword [ebx + 0x2c], ecx
je case.default.0x4a0628
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0xcc
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx + 0x38]
mov edx, 0xfc00
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4a0d3f
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x498d38
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xcd
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a0daa
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a0d95
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebx + 0x38], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a0de0
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.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xce
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx + 0x38]
mov esi, 0xfc00
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov ax, word [ecx]
and ax, si
mov esi, 0xdc00
cmp ax, si
jne 0x4a0e20
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x498d40
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xcf
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4a0e8b
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x4a0e76
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx eax, word [ecx]
add ecx, 2
mov edx, dword [ebp - 8]
mov dword [ebx + 0x38], ecx
test edx, edx
je 0x4a0ead
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a0ead
lea eax, [ecx + 2]
mov dword [ebx + 0x38], eax
cmp dword [ebx + 0x28], 0xf
jne case.0x4a217b.0
mov eax, dword [ebp - 4]
xor esi, esi
jmp 0x49ab43
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a0f15
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a0f00
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a0f51
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a0f51
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 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x502c31]
cmp al, 9
je 0x4a0f88
cmp al, 5
je 0x4a0f88
cmp al, 8
je 0x4a0f88
xor ecx, ecx
jmp 0x4a0f8d
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd1
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a0ffd
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a0fe8
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a1039
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a1039
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 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd2
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a10e0
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a10cb
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a111c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a111c
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 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd3
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a11bc
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a11a7
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a11f8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a11f8
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 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c30]
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd4
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a1298
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a1283
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a12d4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a12d4
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 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x4a1311
cmp eax, 3
je 0x4a1311
xor ecx, ecx
jmp 0x4a1316
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd5
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a1386
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a1371
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a13c2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a13c2
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, 0x20
ja 0x4a13dc
je case.0x4a148b.8193
lea eax, [ecx - 9]
cmp eax, 4
ja case.0x4a148b.8203
jmp dword [eax*4 + 0x4a361c]
cmp ecx, 0x2000
ja 0x4a146f
je case.0x4a148b.8193
cmp ecx, 0x1680
ja 0x4a1467
je case.0x4a148b.8193
mov eax, ecx
sub eax, 0x85
je case.0x4a148b.8193
sub eax, 0x1b
je case.0x4a148b.8193
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
cmp dword [eax*4 + 0x4fddc0], 6
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd6
jmp 0x4a26ec
cmp ecx, 0x180e
jmp 0x4a1410
cmp ecx, 0x3000
ja case.0x4a148b.8203
je case.0x4a148b.8193
lea eax, [ecx - 0x2001]
cmp eax, 0x5e
ja case.0x4a148b.8203
movzx eax, byte [eax + 0x4a3638]
jmp dword [eax*4 + 0x4a3630]
cmp dword [ebx + 0x28], 0xf
jne case.0x4a217b.7
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4a14f1
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x4a14dc
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4a152d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a152d
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 + 0x506e40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, byte [eax*4 + 0x502c31]
mov eax, dword [eax*4 + 0x4fddc0]
cmp eax, 1
je 0x4a1571
cmp eax, 3
je 0x4a1571
cmp edx, 0x5f
je 0x4a1571
xor ecx, ecx
jmp 0x4a1576
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd7
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a15e6
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a15d1
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a1622
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a1622
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 + 0x502668]
lea eax, [eax*4 + 0x502668]
cmp ecx, edx
jb 0x4a1644
lea eax, [eax + 4]
cmp ecx, edx
je 0x4a1659
mov edx, dword [eax]
cmp ecx, edx
jae 0x4a1637
cmp dword [ebx + 0x28], 0xf
jne case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd8
jmp 0x4a26ec
cmp dword [ebx + 0x28], 0xf
jne case.0x4a217b.10
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a16b8
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a16a3
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a16f4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a16f4
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 0x4a171f
cmp ecx, 0x40
je 0x4a171f
cmp ecx, 0x60
je 0x4a171f
cmp ecx, 0xa0
jb 0x4a1713
cmp ecx, 0xd7ff
jbe 0x4a171f
cmp ecx, 0xe000
jae 0x4a171f
xor ecx, ecx
jmp 0x4a1724
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd9
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4a2337
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x4a1783
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
mov ecx, dword [edi + 0x54]
cmp edx, ecx
jb 0x4a17ee
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a17d9
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
cmp dword [ebx + 0x28], 0xc
jne 0x4a1855
mov eax, dword [edi + 0x88]
lea esi, [edi + 0x8c]
test eax, eax
je 0x4a1824
push dword [ebp - 8]
push esi
push ecx
push eax
push edx
call fcn.0048b2e0
add esp, 0x14
neg eax
sbb eax, eax
neg eax
je 0x4a1855
jmp case.default.0x4a0628
mov esi, dword [esi]
lea eax, [esi + esi]
sub ecx, eax
cmp edx, ecx
ja 0x4a1855
mov ax, word [edx]
cmp ax, word [edi + 0x90]
jne 0x4a1855
cmp esi, 1
je case.default.0x4a0628
mov ax, word [edx + 2]
cmp ax, word [edi + 0x92]
je case.default.0x4a0628
mov eax, dword [ebx + 0x38]
movzx ecx, word [eax]
lea esi, [eax + 2]
mov eax, ecx
mov dword [ebx + 0x38], esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a188e
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
mov eax, dword [ebx + 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x4a060b.15
jmp dword [eax*4 + 0x4a3698]
cmp ecx, 0x85
ja 0x4a18c1
je case.0x4a18ba.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a0628
jmp dword [ecx*4 + 0x4a36d8]
sub ecx, 0x2028
je case.0x4a18ba.11
sub ecx, 1
jne case.default.0x4a0628
cmp word [edi + 0x3e], 2
jne case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x2000
ja 0x4a1932
je case.default.0x4a0628
cmp ecx, 0xa0
ja 0x4a1915
je case.default.0x4a0628
cmp ecx, 9
je case.default.0x4a0628
cmp ecx, 0x20
jne case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x1680
je case.default.0x4a0628
cmp ecx, 0x180e
jne case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x3000
ja case.0x4a189d.13
je case.default.0x4a0628
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4a189d.13
movzx eax, byte [ecx + 0x4a36f0]
jmp dword [eax*4 + 0x4a36e8]
cmp ecx, 0x2000
ja 0x4a19b1
je case.0x4a189d.13
cmp ecx, 0xa0
ja 0x4a1994
je case.0x4a189d.13
cmp ecx, 9
je case.0x4a189d.13
cmp ecx, 0x20
je case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x1680
je case.0x4a189d.13
cmp ecx, 0x180e
je case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x3000
ja case.default.0x4a0628
je case.0x4a189d.13
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4a0628
movzx eax, byte [ecx + 0x4a3758]
jmp dword [eax*4 + 0x4a3750]
cmp ecx, 0x85
ja 0x4a1a01
je case.default.0x4a0628
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4a189d.13
jmp dword [ecx*4 + 0x4a37b8]
sub ecx, 0x2028
je case.default.0x4a0628
sub ecx, 1
jne case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x85
ja 0x4a1a3c
je case.0x4a189d.13
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4a0628
jmp dword [ecx*4 + 0x4a37c8]
sub ecx, 0x2028
je case.0x4a189d.13
sub ecx, 1
je case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x100
jae case.0x4a189d.13
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
je case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x100
jae case.default.0x4a0628
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 8
jne case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x100
jae case.0x4a189d.13
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
je case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x100
jae case.default.0x4a0628
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 1
jne case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x100
jae case.0x4a189d.13
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
je case.0x4a189d.13
jmp case.default.0x4a0628
cmp ecx, 0x100
jae case.default.0x4a0628
mov eax, dword [edi + 0x30]
test byte [ecx + eax], 0x10
jne case.0x4a189d.13
jmp case.default.0x4a0628
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x38]
mov esi, dword [ebp - 8]
add edx, 0xfffffffe
mov dword [ebx + 0x38], edx
test esi, esi
jne 0x4a1fb9
movzx ecx, word [edx]
jmp 0x4a2005
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx + 0x38]
mov edx, 0xfc00
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4a1b5a
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
cmp dword [ebx + 0x28], 0x11
jne 0x4a1b7c
cmp ecx, dword [ebx + 4]
jbe 0x4a1b7c
cmp word [ecx], 0xa
jne 0x4a1b7c
cmp word [ecx - 2], 0xd
lea eax, [ecx - 2]
mov ecx, dword [ebx + 0x38]
cmove ecx, eax
mov dword [ebx + 0x38], ecx
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x498d38
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdd
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov ecx, dword [ebx + 0x38]
add ecx, 0xfffffffe
mov dword [ebx + 0x38], ecx
test edx, edx
je 0x4a1bc3
mov ax, word [ecx]
mov esi, 0xfc00
and ax, si
mov esi, 0xdc00
cmp ax, si
jne 0x4a1bc3
lea eax, [ecx - 2]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 4]
jbe 0x498d40
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xde
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov ecx, dword [ebx + 0x38]
cmp ecx, dword [edi + 0x54]
jb 0x4a1c2e
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.default.0x4a0628
cmp ecx, dword [edi + 0x5c]
ja 0x4a1c19
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], ecx
je 0x4a1c6a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a1c6a
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 ecx, dword [ebx + 0x2c]
mov eax, edx
shr eax, 7
and edx, 0x7f
movzx eax, word [eax*2 + 0x506e40]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx edx, word [eax*4 + 0x502c3a]
mov eax, ecx
shr eax, 5
and edx, 0xfff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [edx*4 + 0x5020e0]
and ecx, eax
neg ecx
sbb ecx, ecx
xor eax, eax
neg ecx
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdf
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a1d2b
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a1d16
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a1d67
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a1d67
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 + 0x506e40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx eax, word [eax*4 + 0x502c38]
shr eax, 0xb
cmp eax, dword [ebx + 0x2c]
sete cl
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xe0
jmp 0x4a26ec
test esi, esi
jne case.0x49ff08.998
mov edx, dword [ebx + 0x20]
lea eax, [edx + 1]
mov dword [ebx + 0x20], eax
cmp edx, dword [ebx + 0x24]
jae case.default.0x4a0628
mov edx, dword [ebx + 0x38]
cmp edx, dword [edi + 0x54]
jb 0x4a1e0a
movzx eax, word [edi + 0x3c]
mov ecx, eax
test ax, ax
je case.default.0x4a0628
cmp edx, dword [edi + 0x5c]
ja 0x4a1df5
cmp dword [edi + 0x24], esi
je case.default.0x4a0628
mov dword [edi + 0x1c], 1
cmp ecx, 1
ja 0x49a037
jmp case.default.0x4a0628
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 8], 0
mov dword [ebx + 0x38], edx
je 0x4a1e46
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a1e46
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 + 0x506e40]
shl eax, 7
add eax, ecx
mov ecx, dword [ebx + 0x2c]
movzx eax, word [eax*2 + 0x50b240]
lea edx, [eax + eax*2]
movzx eax, byte [edx*4 + 0x502c30]
cmp eax, ecx
je 0x4a1ea1
movzx edx, word [edx*4 + 0x502c38]
mov eax, ecx
shr eax, 5
and edx, 0x3ff
add edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x502938], eax
jne 0x4a1ea1
xor ecx, ecx
jmp 0x4a1ea6
mov ecx, 1
xor eax, eax
cmp dword [ebx + 0x28], 0xf
sete al
cmp ecx, eax
je case.default.0x4a0628
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xe1
jmp 0x4a26ec
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.004a77d0
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]
nop word [eax + eax]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebx], ecx
cmp word [ecx], 0x78
je 0x4a1ef0
lea eax, [ecx + 4]
mov dword [ebx], eax
jmp 0x498d38
mov esi, dword [ebx]
nop dword [eax + eax]
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
mov dword [ebx], esi
cmp word [esi], 0x78
je 0x4a1f10
lea eax, [esi + 4]
mov dword [ebx], eax
jmp 0x498d40
mov ecx, dword [ebx]
movzx eax, word [ecx + 2]
lea esi, [ecx + eax*2]
mov dword [ebx], esi
cmp word [esi], 0x78
je 0x4a25de
lea eax, [esi + 4]
mov dword [ebx], eax
jmp 0x498d40
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0x50]
shl eax, 2
push eax
lea eax, [esi + 0x54]
push eax
lea eax, [ebx + 0x54]
push eax
call fcn.004a77d0
mov eax, dword [esi + 0x50]
add esp, 0xc
mov dword [ebx + 0x50], eax
jmp 0x49ff52
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 0x4a21d0
xor eax, eax
cmp dword [ebx + 0x20], eax
sete al
jmp 0x49ff55
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx]
lea esi, [ecx + eax*2]
mov dword [ebx], esi
cmp byte [ebx + 0x31], 0x8f
jne 0x498d35
mov eax, 0x2008f
mov byte [ebx + 0x30], 0x23
mov dword [ebp - 0x18], eax
jmp 0x4a26ec
movzx eax, word [edx]
mov esi, edx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4a1fd5
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 0x4a2002
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 + 0x506e40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx edi, byte [eax*4 + 0x502c32]
cmp edx, ebx
jbe 0x4a20d8
nop dword [eax + eax]
movzx eax, word [edx - 2]
add edx, 0xfffffffe
mov ecx, eax
test esi, esi
je 0x4a208b
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4a2060
movzx ecx, word [edx - 2]
sub edx, 2
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a208b
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 + 0x506e40]
shl eax, 7
add eax, ecx
mov ecx, edi
movzx eax, word [eax*2 + 0x50b240]
lea eax, [eax + eax*2]
movzx esi, byte [eax*4 + 0x502c32]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4fdd80], eax
je 0x4a20d8
mov eax, dword [ebp - 4]
mov edi, esi
mov esi, dword [ebp - 8]
mov dword [eax + 0x38], edx
cmp edx, ebx
ja 0x4a2040
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x38]
cmp eax, dword [ecx + 4]
jbe 0x498d35
mov esi, dword [ecx]
mov byte [ecx + 0x30], 0xdc
jmp 0x4a26ec
inc dword [edi + 0x80]
mov ebx, dword [ebp - 4]
mov eax, dword [edi + 0x80]
cmp eax, dword [edi + 0x84]
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x4fdc20]
movzx eax, word [edx + 2]
ja 0x4a242b
add ecx, eax
lea eax, [edx + ecx*2]
mov dword [ebx], eax
jmp 0x498d38
cmp dword [ebp - 8], 0
jne 0x4a0d08
mov esi, dword [eax]
mov byte [eax + 0x30], 0x1d
jmp 0x4a26ec
cmp dword [ebp - 8], 0
mov ebx, dword [ebp - 4]
jne 0x4a0de9
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1f
jmp 0x4a26ec
cmp dword [ebp - 8], 0
mov ebx, dword [ebp - 4]
jne 0x4a0a55
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x17
jmp 0x4a26ec
test ecx, ecx
js 0x4a2182
cmp ecx, 0xd
ja case.0x4a060b.15
jmp dword [ecx*4 + 0x4a37d8]
cmp dword [ebx + 0x28], 0x16
je 0x4a23b8
test esi, esi
jne case.0x4a189d.13
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x21
jmp 0x4a26ec
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov byte [eax + 0x30], 0x16
jmp 0x4a26ec
cmp ecx, 0x7e
je 0x4a21c5
mov eax, 0x80
cmp cx, ax
je 0x4a21c5
xor eax, eax
jmp 0x4a21ca
mov eax, 1
mov dword [ebx + 0x20], eax
mov dword [ebx + 4], esi
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]
movzx eax, byte [eax + 0x4fdc20]
mov byte [ebx + 0x30], 5
lea esi, [ecx + eax*2]
jmp 0x4a26ec
mov eax, dword [ebp - 4]
cmp cl, 0x7b
jne 0x4a220a
lea esi, [edx + 4]
mov byte [ebx + 0x30], 6
jmp 0x4a26ef
mov byte [ebx + 0x30], 7
jmp 0x4a26ef
lea esi, [esi + eax*2]
mov byte [ebx + 0x30], 1
jmp 0x4a26ec
mov eax, dword [ebx + 8]
mov dword [ebx], eax
jmp 0x4a24c7
mov eax, dword [ebp - 0x4c]
add eax, eax
add dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x14
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x14
jmp 0x4a26ec
mov dword [ebx + 0x38], esi
mov ebx, dword [ebx + 0x24]
dec ebx
mov dword [eax + 0x24], ebx
mov edi, dword [eax + 0x20]
cmp edi, ebx
jae 0x4a2287
nop dword [eax + eax]
lea ecx, [ebp - 0x50]
push ecx
push dword [ebp + 0x1c]
push eax
push dword [eax + 0x28]
push dword [eax + 0x14]
call fcn.004a3810
mov eax, dword [ebp - 0x50]
inc edi
add esp, 0x14
lea esi, [esi + eax*2]
mov eax, dword [ebp - 4]
mov dword [eax + 0x38], esi
cmp edi, ebx
jb 0x4a2260
mov esi, dword [eax]
mov byte [eax + 0x30], 0x16
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x1b
jmp 0x4a26ec
cmp esi, dword [edi + 0x54]
jae case.0x4a060b.13
cmp word [esi], 0xa
jne case.0x4a060b.13
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x21
jmp 0x4a26ec
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4a060b.13
cmp esi, dword [edi + 0x54]
jb case.0x4a060b.13
cmp dword [edi + 0x88], 0
jne case.0x4a060b.13
cmp dword [edi + 0x8c], 2
jne case.0x4a060b.13
movzx eax, word [edi + 0x90]
cmp ecx, eax
jne case.0x4a060b.13
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x21
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0x64
jmp 0x4a26ec
mov ecx, dword [ebp - 4]
lea eax, [ebx + edi]
mov dword [ecx + 0x38], eax
mov eax, ecx
mov esi, dword [eax]
mov byte [eax + 0x30], 0xca
jmp 0x4a26ef
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xd0
jmp 0x4a26ec
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 8], 0
mov esi, ecx
mov dword [ebx + 0x38], ecx
je 0x4a2375
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4a2375
movzx eax, word [ecx]
lea esi, [ecx + 2]
and edx, 0x3ff
mov dword [ebx + 0x38], esi
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
push 0
push dword [ebp - 8]
push dword [edi + 0x54]
push dword [edi + 0x4c]
push esi
push edx
call fcn.00498930
add esp, 0x18
mov dword [ebx + 0x38], eax
cmp eax, dword [edi + 0x54]
jb 0x4a23b8
movzx ecx, word [edi + 0x3c]
mov edx, ecx
test cx, cx
je 0x4a23b8
cmp eax, dword [edi + 0x5c]
ja 0x4a23a8
cmp dword [edi + 0x24], 0
je 0x4a23b8
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xda
jmp 0x4a26ec
cmp esi, dword [edi + 0x54]
jae case.0x4a189d.13
cmp word [esi], 0xa
jne case.0x4a189d.13
lea eax, [esi + 2]
mov dword [ebx + 0x38], eax
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdb
jmp 0x4a26ec
movzx eax, word [edi + 0x3c]
mov edx, eax
test ax, ax
je case.0x4a189d.13
cmp esi, dword [edi + 0x54]
jb case.0x4a189d.13
cmp dword [edi + 0x88], 0
jne case.0x4a189d.13
cmp dword [edi + 0x8c], 2
jne case.0x4a189d.13
movzx eax, word [edi + 0x90]
cmp ecx, eax
jne case.0x4a189d.13
mov dword [edi + 0x1c], 1
cmp edx, 1
ja 0x49a037
mov esi, dword [ebx]
mov byte [ebx + 0x30], 0xdb
jmp 0x4a26ec
mov byte [ebx + 0x30], 0x11
jmp 0x4a26e7
mov eax, dword [ebp - 4]
add esi, 2
mov dword [eax + 4], esi
mov byte [eax + 0x30], 9
jmp 0x4a26ec
mov ecx, dword [ebp - 4]
add esi, 2
mov dword [ecx + 4], esi
nop
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
mov esi, eax
mov dword [ecx + 4], eax
cmp word [esi], 0x78
je 0x4a2450
lea esi, [eax + 4]
mov byte [ecx + 0x30], 0xa
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
add esi, 2
mov ecx, 0x89
mov dword [ebx + 0x28], 1
mov dword [ebx], esi
movzx eax, word [esi]
cmp ax, cx
je 0x4a24b1
mov ecx, 0x8e
cmp ax, cx
jne 0x4a24a0
jmp 0x4a24b1
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
mov eax, 0x20000
jmp 0x4a24ba
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x28], 0
movzx eax, word [esi + 4]
or eax, 0x10000
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], 0
mov dword [ebx + 8], esi
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]
movzx eax, byte [eax + 0x4fdc20]
mov byte [ebx + 0x30], 8
lea esi, [ecx + eax*2]
jmp 0x4a26ec
movzx ecx, word [esi + 4]
or ecx, 0x10000
jmp 0x4a24fd
or ecx, 0x20000
mov ebx, dword [ebp - 4]
mov dword [ebx + 0x20], ecx
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, word [esi]
movzx eax, byte [eax + 0x4fdc20]
mov byte [ebx + 0x30], 2
lea esi, [esi + eax*2]
jmp 0x4a26ec
mov ecx, dword [edi + 0x48]
movzx eax, word [esi + 2]
lea ebx, [ecx + eax*2]
cmp ebx, ecx
jne 0x4a2531
xor edi, edi
jmp 0x4a2535
movzx edi, word [ebx + 4]
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x44], 0xffffffff
je 0x4a257c
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
je 0x4a257c
mov ecx, dword [ebp + 0x18]
mov edx, edi
or edx, 0x40000
mov esi, dword [ecx + 0x18]
add eax, esi
mov ecx, eax
sub ecx, dword [ebp + 0x14]
cmp dword [eax + 0x1c], edx
je 0x4a256a
mov eax, dword [ecx + 0x4c]
cmp eax, 0xffffffff
jne 0x4a2554
jmp 0x4a2579
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
cmp eax, dword [ecx + 0x38]
je 0x4a2869
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]
movzx eax, byte [eax + 0x4fdc20]
mov byte [ebx + 0x30], 0xb
lea esi, [ecx + eax*2]
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
or ecx, 0x20000
mov dword [ebx + 0x20], ecx
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, word [esi]
movzx eax, byte [eax + 0x4fdc20]
mov byte [ebx + 0x30], 3
lea esi, [esi + eax*2]
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
or ecx, 0x20000
mov dword [ebx + 0x20], ecx
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x18], eax
movzx eax, word [esi]
movzx eax, byte [eax + 0x4fdc20]
mov byte [ebx + 0x30], 4
lea esi, [esi + eax*2]
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
lea eax, [esi + 4]
mov dword [edi + 0x68], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x4fdc20]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0xc
jmp 0x4a26e7
movzx eax, word [esi]
movzx eax, byte [eax + 0x4fdc20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xd
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
lea eax, [esi + 4]
mov dword [edi + 0x68], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x4fdc20]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0x24
jmp 0x4a26e7
movzx eax, word [esi]
movzx eax, byte [eax + 0x4fdc20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0xe
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
lea eax, [esi + 4]
mov dword [edi + 0x68], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x4fdc20]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0xf
jmp 0x4a26e7
movzx eax, word [esi]
movzx eax, byte [eax + 0x4fdc20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x10
jmp 0x4a26ec
movzx eax, word [esi]
movzx eax, byte [eax + 0x4fdc20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 4]
mov byte [eax + 0x30], 0x12
jmp 0x4a26ec
mov ebx, dword [ebp - 4]
lea eax, [esi + 4]
mov dword [edi + 0x68], eax
mov dword [ebx + 0x40], eax
mov edx, dword [ebx]
movzx eax, word [edx]
movzx ecx, byte [eax + 0x4fdc20]
movzx eax, word [edx + 2]
mov byte [ebx + 0x30], 0x13
add ecx, eax
lea esi, [edx + ecx*2]
mov eax, dword [ebp - 4]
mov edi, dword [ebp + 0x14]
lea ebx, [eax + edi]
mov dword [ebp - 0x14], ebx
cmp ebx, dword [ebp - 0x38]
jb 0x4a279a
mov eax, dword [ebp + 0x18]
mov ebx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x1c]
lea edi, [ebx + ebx]
mov ecx, dword [eax + 0xc]
cmp edi, ecx
jbe 0x4a2727
xor edx, edx
mov eax, ecx
div dword [ebp + 0x14]
mov edi, ecx
sub edi, edx
cmp ebx, edi
jae 0x4a2875
mov eax, dword [ebp + 0x18]
push dword [eax + 8]
mov eax, dword [eax]
push edi
call eax
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4a2881
mov eax, dword [ebp + 0x18]
push dword [ebp - 0x34]
push dword [eax + 0x18]
push ebx
call fcn.004a77d0
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 4]
mov ecx, dword [eax + 0x18]
mov eax, ebx
sub eax, ecx
add edx, eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 4], edx
add edx, dword [ebp + 0x14]
mov dword [ebp - 0x14], edx
push dword [eax + 8]
mov eax, dword [eax + 4]
push ecx
call eax
mov eax, dword [ebp + 0x18]
xor edx, edx
add esp, 0x14
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], edi
mov eax, edi
div dword [ebp + 0x14]
mov eax, edi
mov edi, dword [ebp + 0x14]
sub eax, edx
mov dword [ebp - 0x34], eax
add eax, ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
lea ecx, [edi - 0x38]
add eax, 0x38
push ecx
push eax
lea eax, [ebx + 0x38]
push eax
call fcn.004a77d0
mov eax, dword [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 + 0x18]
jmp 0x498cd2
mov eax, edi
mov ebx, dword [ebp - 4]
mov ecx, dword [ebp + 0x1c]
mov dword [eax + 0x58], edx
mov eax, dword [ebx + 0x50]
mov dword [ecx + 0x38], eax
mov eax, dword [ebx + 0x40]
mov dword [ecx + 0x64], eax
mov eax, dword [ebx + 0x38]
cmp eax, dword [ecx + 0x60]
jbe 0x4a27ea
mov dword [ecx + 0x60], eax
mov eax, dword [ebx + 0x3c]
sub eax, dword [ecx + 0x4c]
mov edi, dword [ebp + 0x18]
sar eax, 1
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x38]
sub eax, dword [ecx + 0x4c]
sar eax, 1
mov dword [edi + 0x38], eax
movzx esi, word [edi + 0x2e]
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 + 0x3c]
push eax
call fcn.004a77d0
mov eax, dword [ebx + 0x50]
dec esi
add eax, 2
add esp, 0xc
cmp esi, eax
jb 0x4a2854
lea edx, [edi + 0x34]
lea edx, [edx + esi*4]
nop dword [eax]
mov dword [edx], 0xffffffff
lea edx, [edx - 4]
mov ecx, dword [ebx + 0x50]
dec esi
add ecx, 2
cmp esi, ecx
jae 0x4a2840
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffcc
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffc1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd0
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd4
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffffd1
pop ebx
mov esp, ebp
pop ebp
ret