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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push ebx
mov ebx, edx
mov eax, ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], eax
push esi
push edi
test ebx, ebx
je 0x4486fc
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov eax, dword [esi]
mov ecx, dword [esi + 0x50]
mov dword [ebp - 0x24], ecx
cmp eax, dword [esi + 4]
jae 0x4506be
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x41558a
cmp dword [esi + 0x9c], 2
je 0x44872d
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x20], 0
cmp edi, 0xa1
ja case.0x414bd5.98
movzx eax, byte [edi + 0x4156e0]
jmp dword [eax*4 + 0x415594]
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
mov ecx, 0x88
sub edi, eax
mov dword [ebp - 0x1c], edi
movzx eax, word [edi]
cmp ax, cx
jae 0x449352
mov ecx, 0x81
cmp ax, cx
je 0x449352
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp eax, 0x7d
jb 0x414c23
mov dword [ebp - 0x14], 0x80
cmp ax, word [ebp - 0x14]
jbe 0x44ea02
mov dword [ebp - 0x14], 0x82
cmp ax, word [ebp - 0x14]
je 0x44ea02
mov dword [ebp - 0x14], 0x85
cmp ax, word [ebp - 0x14]
je 0x414fa0
mov dword [ebp - 0x14], 0x8a
cmp ax, word [ebp - 0x14]
je 0x414fa0
mov dword [ebp - 0x14], 0x86
cmp ax, word [ebp - 0x14]
je 0x414fa0
mov dword [ebp - 0x14], 0x8b
cmp ax, word [ebp - 0x14]
je 0x414fa0
cmp word [ebx], 0x78
jne 0x4493c4
mov eax, 0x81
cmp word [edi], ax
je 0x44e9cd
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414baf
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x450678
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x415576
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x88
jae 0x44e862
cmp edi, 0x81
je 0x44e862
cmp dword [esi + 0x70], 0
jne 0x415492
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x415492
movzx eax, word [ebx]
movzx eax, byte [eax + 0x4a5480]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x24], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x414b93
jmp 0x4506be
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], edi
cmp eax, edi
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x414d5e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a282
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x414d80
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f62]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x414e1b
mov ebx, dword [ebp - 0x2c]
mov esi, eax
cmp dword [ebp - 0x24], 0
mov edi, 1
movzx ecx, word [esi]
je 0x414dc1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a2a7
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x414de3
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x14]
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx ecx, byte [eax*8 + 0x4a2f62]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a5530], eax
jne 0x414f17
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 8], esi
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
jne 0x44a2cb
add ebx, 2
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x414baf
movzx ecx, word [ebx + 0x22]
lea eax, [ebx + 2]
add ebx, 0x22
mov dword [ebp - 0x28], eax
mov edx, ecx
mov dword [ebp - 0x30], ebx
mov eax, edx
cmp eax, 0x6d
jle 0x415352
mov edx, dword [ebp - 0x20]
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x24], 0
je 0x44a590
mov dword [ebp - 0x2c], 1
cmp eax, 1
jl 0x4153b1
lea ecx, [ecx]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x14], ecx
cmp eax, 0xd800
je 0x44a55a
cmp ecx, 0xff
ja 0x44a582
mov esi, dword [ebp - 0x28]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x14]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [ebp - 0x10]
jle 0x414e80
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
je 0x414e2e
test edx, edx
jne 0x44ebb3
mov ecx, eax
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x24], edx
je 0x44a663
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
jge 0x415410
jmp 0x4153c3
lea esi, [esi + edi*2]
mov dword [ebp - 0x14], ecx
cmp esi, ebx
jb 0x414da1
jmp 0x414e0c
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
cmp dword [ebp - 0x24], 0
je 0x44aa94
movzx edi, word [ebx + 2]
add ebx, 2
mov eax, edi
mov edx, 1
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a9e1
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp edi, 0x80
jae 0x44aa05
cmp ecx, 0xff
ja 0x414f7f
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + edi]
cmp eax, ecx
jne case.0x414bd5.157
add ebx, 2
add dword [ebp - 8], 2
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], ebx
jmp 0x414baf
movzx ecx, word [edi + 4]
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x2c], ecx
lea edi, [ecx + ecx]
mov dword [ebp - 0x14], edi
test eax, eax
jne 0x449368
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [esi + 0x94], eax
cmp edi, dword [esi + 0x14]
jge 0x44938d
mov ecx, dword [ebp + 0xc]
cmp edi, ecx
jg 0x44939d
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
cmp dword [ebp + 0xc], edi
jg 0x41500e
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
jmp 0x414c78
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
je 0x415049
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a04d
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2070]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x41506f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x4a5570]
cmp eax, 9
jne 0x44a075
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4a4300]
lea eax, [eax*4 + 0x4a4300]
cmp edx, ecx
jb 0x44a274
lea eax, [eax + 4]
cmp edx, ecx
je 0x4150b2
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4150a0
jmp 0x44a274
cmp edi, 0x10
jne case.0x414bd5.157
mov edx, dword [ebp - 8]
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x414baf
cmp dword [ebp - 0x24], 0
je 0x44a9b2
mov ax, word [ebx + 2]
add ebx, 2
mov ecx, 0xfc00
mov dword [ebp - 0x30], ebx
and ax, cx
mov edi, 1
mov ecx, 0xd800
cmp ax, cx
je 0x415557
mov eax, dword [esi + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp edi, eax
jg 0x44ede1
test edi, edi
jle 0x414e2e
mov cx, word [ebx]
dec edi
mov ax, word [edx]
add ebx, 2
add edx, 2
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], edx
cmp cx, ax
jne case.0x414bd5.157
test edi, edi
jle 0x414e2e
jmp 0x415112
movzx edx, word [ebx + 4]
mov dword [ebp - 0x2c], edx
lea eax, [edx + edx]
mov dword [ebp - 0x14], eax
cmp eax, dword [esi + 0x14]
jge case.0x414bd5.129
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
jmp 0x415190
cmp edi, 0x88
jae 0x45036b
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5480]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x4503c2
cmp edx, 0xfffffc20
je 0x45037a
test edx, edx
je 0x45039f
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [edi - 0x55]
add ebx, 2
test cl, 1
je 0x41556f
mov eax, 1
movsx edi, byte [ecx + 0x4a546c]
movsx edx, byte [ecx + 0x4a5460]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], edi
test edi, edi
jne 0x41522d
mov dword [ebp - 0x18], bind
movzx edi, word [ebx]
add ebx, 2
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], ebx
cmp edi, 0x10
je 0x44b84c
cmp edi, 0xf
je 0x44b843
or ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
test edx, edx
jg 0x44b86b
mov edi, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x414e2e
test eax, eax
je 0x44cded
test ecx, ecx
jns 0x44f1d0
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
cmp dword [ebp - 0x1c], 0x16
je 0x44fb00
cmp dword [ebp - 0x24], 0
je 0x44ffd8
test eax, eax
jne 0x414ccb
lea esp, [esp]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414bd5.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44edc9
cmp dword [ebp - 0x1c], 0xc
jne 0x4152f5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fc89
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
mov edx, dword [ebp - 0xc]
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44fcc2
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x44fce3
cmp dword [esi + 0x8c], 0
jne 0x44ff96
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0xc], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
jmp 0x4152b0
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x415365
movzx eax, byte [eax + 0x41578c]
jmp dword [eax*4 + 0x415784]
lea eax, [edx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jb 0x415509
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], 1
movsx ecx, byte [eax + 0x4a5460]
mov dword [ebp - 0x10], ecx
movsx ecx, byte [eax + 0x4a546c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0x414e63
mov ecx, bind
jmp 0x414e60
mov eax, dword [ebp - 8]
jmp 0x414ee7
mov eax, dword [ebp - 8]
mov ecx, 1
mov dword [ebp - 0x14], ecx
cmp eax, dword [esi + 0x7c]
jae 0x44a636
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a5fe
cmp edx, 0xff
ja 0x44a628
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
jne 0x415514
cmp dword [ebp - 0x34], 0
jne 0x414e2e
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
jmp 0x44eb69
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0x414bd5.119
mov dword [ebp - 0x30], ebx
jmp 0x414baf
mov eax, dword [ebp + 0x18]
add ebx, 2
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, ebx
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
jmp 0x449043
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5480]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x44e871
test edx, edx
jne 0x4503ec
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
jne case.0x414bd5.157
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x94], eax
jmp case.0x414bd5.129
test al, 1
jne 0x41554d
xor edx, edx
jmp 0x415388
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x1c]
jl 0x4153c0
jmp 0x415410
add ebx, 2
jmp 0x44909c
mov eax, dword [ebp - 8]
jmp 0x4493e8
mov edi, dword [ebp - 0x24]
jmp 0x4499f5
mov edx, 1
jmp 0x415388
mov edi, 2
jmp 0x4150f8
xor ecx, ecx
jmp 0x44ab27
xor ecx, ecx
jmp 0x44b1cd
xor eax, eax
jmp 0x41520b
mov eax, 0xfffffc19
jmp 0x414ccb
mov eax, 0xfffffffb
jmp 0x414ccb
mov eax, 0xffffffeb
jmp 0x414ccb
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x44871e
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.00414b50
add esp, 0x14
jmp 0x414ccb
sub ecx, eax
test ecx, ecx
jle 0x448726
neg ecx
mov eax, ecx
jmp 0x414ccb
mov eax, dword [ebp - 8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
mov dword [ebp + 0x14], eax
mov dword [esi + 0x9c], 0
jmp 0x414e2e
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x44e89d
movzx eax, word [ebx]
movzx ecx, byte [eax + 0x4a5480]
movzx eax, word [ebx + 2]
add ecx, eax
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x30], ebx
jmp 0x414baf
mov eax, dword [ebp - 8]
mov edi, dword [esi + 0xb0]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
cmp eax, 1
je 0x4487f5
cmp eax, 0xfffffc20
jne 0x4487d5
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0x414ccb
cmp word [ebx], 0x77
je 0x4487dd
cmp word [ecx], 0x77
jne 0x414ccb
jmp 0x4487dd
test eax, eax
jne 0x414ccb
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x448787
mov ecx, dword [ebp + 8]
jmp 0x4487fe
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x448814
cmp eax, 0x77
jne case.0x414bd5.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448814
cmp word [ebx], 0x78
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0x84]
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], eax
je 0x448dbf
cmp eax, dword [ebp - 0x2c]
jne 0x44e620
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e2e
mov dword [ebp - 0x28], 0
jmp 0x4490d7
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x28], eax
cmp word [ebx], 0x76
jne 0x44893c
cmp dword [0x4c6524], 0
je 0x448933
mov dword [ebp - 0x9c], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x84], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x74], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x80], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0x7c], eax
test eax, eax
jne 0x4488fd
mov dword [ebp - 0x7c], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0x78], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x9c]
push eax
call dword [0x4c6524]
add esp, 4
test eax, eax
jg case.0x414bd5.157
js 0x414ccb
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
add ebx, 8
sub eax, 4
mov dword [ebp - 0x28], eax
movzx eax, word [ebx]
xor ecx, ecx
mov dword [ebp - 0x34], eax
add eax, 0xffffff73
mov dword [ebp - 0x1c], ecx
cmp eax, 4
ja case.default.0x448955
jmp dword [eax*4 + 0x4506cc]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x448ae9
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x4489f9
cmp eax, dword [ecx + 4]
je 0x4489f9
xor ecx, ecx
jmp case.0x448955.145
cmp dword [esi + 0xa8], ecx
je case.0x448955.145
movzx ecx, word [ebx + 2]
imul ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jle 0x448ae9
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x1c], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
dec ecx
movzx eax, word [eax]
cmp eax, dword [ebp - 0x14]
je 0x4489f9
mov edx, dword [ebp - 0x2c]
mov eax, dword [esi + 0x24]
lea edx, [edx + eax*2]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 8]
test ecx, ecx
jg 0x4489c1
jmp 0x448ae9
movzx ecx, word [ebx + 2]
add ecx, ecx
cmp ecx, dword [ebp + 0xc]
jge 0x44897e
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x44897e
mov ecx, 1
jmp 0x448acb
movzx ecx, word [ebx + 2]
imul ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
lea ecx, [eax + ecx*2]
movzx eax, word [ebx + 4]
mov dword [ebp - 0x14], ecx
test eax, eax
jle 0x448ae9
mov dword [ebp - 0x1c], 0
movzx ecx, word [ecx]
dec eax
add ecx, ecx
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp + 0xc]
jge 0x448a3e
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4489f9
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
test eax, eax
jg 0x448a27
jmp 0x448ae9
mov ecx, dword [ebp - 8]
mov edx, ebx
mov dword [esi + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
cmp eax, 1
jne 0x448ad7
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x448a8e
mov dword [ebp + 0xc], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
mov dword [ebp - 0x1c], 1
jne 0x448ab1
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x448aa3
mov eax, dword [ebp - 0x34]
mov ecx, 2
movzx eax, byte [eax + 0x4a5480]
sub ecx, eax
lea ebx, [edx + ecx*2]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + 0x4a5480]
jmp 0x448aef
test eax, eax
je 0x448ae6
cmp eax, 0xfffffc20
jne 0x414ccb
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
test ecx, ecx
jne 0x448b04
cmp word [ebx - 4], 0x77
jne 0x414baf
cmp edi, 0x8c
jne 0x414d16
mov ecx, dword [ebp - 8]
mov edx, ebx
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
jmp 0x414ccb
movzx ecx, word [ebx + 2]
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
mov dword [ebp - 0x14], ecx
or eax, ecx
lea edi, [ecx + ecx]
mov dword [esi + 0x94], eax
cmp edi, dword [esi + 0x14]
jl 0x448b6a
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x448b96
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
cmp dword [ebp + 0xc], edi
jg 0x448b96
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414baf
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x14], eax
jne 0x448bc4
mov edi, 1
mov dword [esi + 0x9c], 0
jmp 0x448bc6
xor edi, edi
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x448c3f
cmp ecx, 0xfffffc19
je 0x448c3f
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x448c27
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448726
cmp word [ebx], 0x77
je 0x448c2f
cmp word [eax], 0x77
jne 0x448726
jmp 0x448c2f
test ecx, ecx
jne 0x448726
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448bc6
jmp 0x448c48
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x414bd5.157
test edi, edi
jne 0x414cc6
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448c5a
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0x414e2e
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x448c9e
mov dword [ebp - 0x14], 1
mov dword [esi + 0x9c], 0
jmp 0x448ca5
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
mov ecx, eax
mov dword [esi + 0xb0], edi
add esp, 0x14
cmp ecx, 0xfffffc20
jg 0x448cfe
jne 0x448d11
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448d2c
cmp word [ebx], 0x77
je 0x448cee
cmp word [eax], 0x77
jne 0x448d2c
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448ca5
jmp 0x448d3a
mov eax, ecx
sub eax, 0
je 0x448cee
dec eax
je case.0x414bd5.157
jmp 0x448726
cmp ecx, 0xfffffc19
je case.0x414bd5.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x448726
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448d2c
cmp dword [ebp - 0x14], 0
jne 0x414cc6
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e2e
cmp dword [ebp - 0x24], 0
je 0x448d94
movzx ecx, word [ebx + 2]
test ecx, ecx
jle 0x448dae
mov eax, dword [ebp - 8]
dec ecx
sub eax, 2
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0x414bd5.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x448d8e
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x448d5d
jmp 0x448db1
movzx eax, word [ebx + 2]
mov ecx, dword [ebp - 8]
neg eax
lea ecx, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 8], ecx
cmp eax, dword [esi + 0x78]
jb case.0x414bd5.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x448dbf
mov dword [esi + 0x88], eax
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e2e
cmp dword [0x4c6524], 0
je 0x448e9d
mov dword [ebp - 0xd0], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xb8], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0xa8], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xb4], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0xb0], eax
test eax, eax
jne 0x448e64
mov dword [ebp - 0xb0], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xd0]
push eax
call dword [0x4c6524]
add esp, 4
test eax, eax
jg case.0x414bd5.157
js 0x414ccb
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x30], ebx
jmp 0x414baf
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp - 0x14], edi
cmp edi, ecx
jne 0x448ebd
xor edx, edx
jmp 0x448ec1
movzx edx, word [edi + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x448ee8
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x448ee2
cmp eax, dword [ecx + 0x14]
jne 0x448ee2
mov eax, 0xffffffe6
jmp 0x414ccb
mov ecx, dword [ecx]
test ecx, ecx
jne 0x448ece
mov dword [ebp - 0x50], edx
add ebx, 4
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
mov dword [esi + 0xa8], eax
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x48], ecx
cmp ecx, 0x1e
jg 0x448f28
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x4c], eax
jmp 0x448f47
lea eax, [ecx*4]
push eax
call dword [0x4a547c]
add esp, 4
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x44e937
mov ecx, dword [ebp - 0x48]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.00421870
mov eax, 0x88
add esp, 0xc
cmp word [edi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x448f73
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5480]
push dword [ebp + 8]
lea edx, [edi + eax*2]
call fcn.00414b50
mov ecx, dword [ebp - 0x48]
add esp, 0x14
shl ecx, 2
mov edi, eax
push ecx
push dword [ebp - 0x4c]
push dword [esi + 0xc]
call fcn.00421870
mov eax, dword [ebp - 0x44]
add esp, 0xc
mov dword [esi + 0x94], eax
mov eax, dword [ebp - 0x54]
mov dword [esi + 0xa8], eax
cmp edi, 1
je 0x449015
cmp edi, 0xfffffc19
je 0x449015
cmp edi, 0xfffffc1c
jl 0x448fe4
cmp edi, 0xfffffc20
jle case.0x414bd5.157
test edi, edi
jne 0x44e90e
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x54]
mov dword [esi + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
mov dword [ebp - 0x14], edi
jne 0x44e8e5
mov eax, dword [ebp - 0x2c]
jmp 0x448f65
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44902c
push eax
call dword [0x4a5478]
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x414e2e
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x449043
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e2e
add ebx, 2
mov dword [ebp - 0x30], ebx
mov edx, ebx
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x449064
mov eax, dword [ebp + 0x18]
add edx, 4
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
jmp 0x414e2e
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44909c
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414baf
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x28], 1
cmp edi, 0x86
je 0x4490d7
cmp edi, 0x8b
jne 0x449258
movzx edx, word [ebx + 4]
mov dword [ebp - 0x2c], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge case.0x414bd5.132
xor ecx, ecx
shl eax, 2
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x74]
sar ecx, 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 8]
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x2c]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x44914a
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5480]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x4491b5
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov ecx, 1
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 8], eax
jmp 0x449124
cmp ecx, 0xfffffc20
jne 0x4491e2
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448726
cmp word [ebx], 0x77
je 0x4491ea
cmp word [eax], 0x77
jne 0x448726
jmp 0x4491ea
test ecx, ecx
jne 0x448726
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x449124
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x449234
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], 0
jne 0x448dbf
test eax, eax
je case.0x414bd5.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e2e
mov dword [ebp - 0x28], 0
mov eax, ebx
mov dword [ebp - 0x14], 0
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
cmp edi, 0x88
jb 0x449284
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5480]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x4492e2
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x14], 1
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x449272
cmp ecx, 0xfffffc20
jne 0x44930f
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448726
cmp word [ebx], 0x77
je 0x449317
cmp word [eax], 0x77
jne 0x448726
jmp 0x449317
test ecx, ecx
jne 0x448726
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x449333
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp 0x449272
cmp dword [ebp - 0x14], 0
jne 0x448dbf
cmp dword [ebp - 0x28], 0
je case.0x414bd5.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e2e
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x14]
mov edx, dword [edx]
mov ecx, dword [ecx + 4]
mov dword [ebp + 0x14], edx
mov edx, dword [ebp - 8]
jmp 0x414c0a
cmp dword [eax + 4], ecx
jne 0x414fbb
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0x414ccb
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x41500e
mov eax, dword [esi + 0xc]
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0x414fe2
sub ecx, edx
mov edi, edx
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x14]
jmp 0x414fe2
mov eax, dword [ebp - 8]
cmp eax, ecx
jne 0x44e66a
mov edx, eax
jmp 0x414c82
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x4493e8
cmp eax, dword [esi + 0x78]
je case.0x414bd5.157
cmp eax, dword [esi + 0x78]
jne case.0x414bd5.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414e2e
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x44940e
cmp eax, dword [esi + 0x78]
je case.0x414bd5.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x414e28
cmp eax, dword [esi + 0x7c]
je case.0x414bd5.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x449451
cmp eax, ecx
jbe case.0x414bd5.157
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0048e752
add esp, 0xc
test eax, eax
je case.0x414bd5.157
jmp 0x414e28
mov eax, dword [esi + 0x1c]
lea edi, [eax + eax]
lea eax, [edi + ecx]
cmp dword [ebp - 8], eax
jb case.0x414bd5.157
mov ecx, dword [ebp - 8]
sub ecx, edi
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0x414bd5.157
cmp dword [esi + 0x1c], 1
je 0x414e28
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x414bd5.157
jmp 0x414e28
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp edx, eax
jne case.0x414bd5.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414baf
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x414e2e
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x449587
mov edx, dword [esi + 0x18]
test edx, edx
je 0x449550
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041602f
add esp, 0xc
test eax, eax
jne 0x414e28
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0x414bd5.157
cmp dword [esi + 0x18], 0
jne case.0x414bd5.157
cmp dword [esi + 0x1c], 2
jne case.0x414bd5.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0x414bd5.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414bd5.157
mov eax, 0xfffffff4
jmp 0x414ccb
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4494f5
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4494f2
cmp edx, 1
je 0x414e28
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x4494f2
jmp 0x414e28
cmp dword [esi + 0x4c], 0
jne case.0x414bd5.157
cmp dword [esi + 0x8c], 0
je 0x414e28
cmp eax, dword [esi + 0x88]
jbe 0x414e28
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414e2e
cmp dword [esi + 0x4c], 0
jne case.0x414bd5.157
cmp dword [esi + 0x5c], 0
je case.0x414bd5.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0x414bd5.157
jmp 0x449591
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x449591
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x44960f
push dword [ebp - 0x24]
push edi
push ecx
mov ecx, eax
call fcn.0041602f
add esp, 0xc
test eax, eax
jne 0x449644
jmp 0x4494f2
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4494f5
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4494f2
cmp edx, 1
je 0x449644
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x4494f2
mov ecx, dword [edi]
mov eax, dword [esi + 0x7c]
add ecx, ecx
sub eax, ecx
cmp dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jne 0x4494f5
jmp 0x449591
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 8]
je 0x449810
cmp eax, dword [esi + 0x78]
je 0x449748
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44968f
sub edx, 2
cmp edx, dword [esi + 0x88]
jae 0x44969d
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4496c8
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [esi + 0x58], 0
je 0x44972a
cmp ecx, 0x5f
jne 0x4496db
mov eax, dword [ebp - 8]
lea edi, [ecx - 0x5e]
jmp 0x44974a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x4496fd
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x449720
cmp eax, 3
jne 0x449745
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44974a
cmp ecx, 0x100
jae 0x449745
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x449745
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44974a
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x4497b2
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44977d
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp dword [esi + 0x58], 0
je 0x4497f9
cmp ecx, 0x5f
je 0x44993a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
js 0x4498e6
jmp 0x4498eb
cmp dword [esi + 0x8c], 0
je 0x4497d7
cmp eax, dword [esi + 0x88]
jbe 0x4497d7
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
xor ecx, ecx
mov ax, word [ebx]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp ax, 5
jne 0x449944
cmp ecx, edi
je case.0x414bd5.157
jmp 0x414e2e
cmp ecx, 0x100
jae 0x4497d7
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44993a
jmp 0x4497d7
cmp eax, dword [esi + 0x78]
je 0x4498b0
cmp eax, dword [esi + 0x88]
ja 0x44982d
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0x449890
cmp ecx, 0x5f
jne 0x449841
lea edi, [ecx - 0x5e]
jmp 0x4498b2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x449863
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x449886
cmp eax, 3
jne 0x4498ad
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x4498b2
mov edx, 0xff
cmp cx, dx
ja 0x4498b0
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4498ad
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x4498b2
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x4497b2
cmp dword [esi + 0x58], 0
je 0x44991a
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x44993a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x4498eb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x44993a
cmp eax, 3
jne 0x4497d7
lea ecx, [eax - 2]
jmp 0x4497d9
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x4497d7
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4497d7
mov ecx, 1
jmp 0x4497d9
cmp ecx, edi
jne case.0x414bd5.157
jmp 0x414e2e
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x449980
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x24]
cmp eax, ecx
jae 0x4499b8
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
jmp 0x4499b5
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4499b2
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4499b2
cmp edx, 1
je case.0x414bd5.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x4499f8
add eax, 2
cmp eax, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
jb 0x4499f8
cmp dword [esi + 0x18], 0
jne 0x4499f8
cmp dword [esi + 0x1c], 2
jne 0x4499f8
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4499f5
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x44ea22
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0x414e28
cmp eax, ecx
jae 0x414e28
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x414e28
add dword [ebp - 8], 2
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449a9b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449a9b
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x414e28
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449b02
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449b02
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449b69
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449b69
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x414e28
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449bd0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449bd0
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449c37
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449c37
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x414e28
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449c9e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449c9e
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.157
jmp 0x414e28
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449d0a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x449d0a
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
cmp ecx, 0xd
ja 0x449d76
je 0x449d2b
cmp ecx, 0xa
je 0x414e28
jbe case.0x414bd5.157
cmp ecx, 0xc
ja case.0x414bd5.157
jmp 0x449d8d
cmp eax, edx
jb 0x449d61
cmp dword [esi + 0x8c], 0
je 0x414e28
cmp eax, dword [esi + 0x88]
jbe 0x414e28
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
jmp 0x414e28
cmp word [eax], 0xa
jne 0x414e28
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414e28
cmp ecx, 0x85
je 0x449d8d
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449de5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449de5
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x449e29
je case.0x414bd5.157
cmp ecx, 0xa0
ja 0x449e18
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp 0x414e28
cmp ecx, 0x1680
je case.0x414bd5.157
jmp 0x414e28
cmp ecx, 0x205f
ja 0x449e60
je case.0x414bd5.157
cmp ecx, 0x2000
jb 0x414e28
cmp ecx, 0x200a
jbe case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp 0x414e28
cmp ecx, 0x3000
je case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449eba
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449eba
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x449efe
je 0x414e28
cmp ecx, 0xa0
ja 0x449eed
je 0x414e28
cmp ecx, 9
je 0x414e28
cmp ecx, 0x20
jne case.0x414bd5.157
jmp 0x414e28
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp 0x414e28
cmp ecx, 0x205f
ja 0x449f35
je 0x414e28
cmp ecx, 0x2000
jb case.0x414bd5.157
cmp ecx, 0x200a
jbe 0x414e28
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp 0x414e28
cmp ecx, 0x3000
jne case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449f8f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449f8f
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x449fb4
je case.0x414bd5.157
cmp ecx, 0xa
jb 0x414e28
cmp ecx, 0xd
jbe case.0x414bd5.157
jmp 0x414e28
cmp ecx, 0x2028
jb 0x414e28
cmp ecx, 0x2029
jbe case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44a01a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a01a
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x44a039
je 0x414e28
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414bd5.157
jmp 0x414e28
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
jmp 0x414e28
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x14], ecx
jmp 0x415049
cmp eax, 0xa
ja case.default.0x44a07e
jmp dword [eax*4 + 0x4506e0]
mov al, byte [ecx*8 + 0x4a2f61]
cmp al, 9
je 0x44a0aa
cmp al, 5
je 0x44a0aa
cmp al, 8
je 0x44a0aa
xor ecx, ecx
jmp 0x44a0c6
cmp edi, 0xf
je case.0x414bd5.157
jmp 0x4150bb
mov ecx, 1
jmp 0x44a0c6
movzx eax, byte [ecx*8 + 0x4a2f61]
xor ecx, ecx
cmp dword [eax*4 + 0x4b6eb0], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x414bd5.157
jmp 0x4150bb
movzx ecx, byte [ecx*8 + 0x4a2f61]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x4b6eb0]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0x414bd5.157
jmp 0x4150bb
movzx eax, byte [ecx*8 + 0x4a2f61]
jmp 0x44a11a
movzx eax, byte [ecx*8 + 0x4a2f60]
xor ecx, ecx
cmp word [ebx + 4], ax
setne cl
xor eax, eax
cmp edi, 0x10
sete al
cmp ecx, eax
je case.0x414bd5.157
jmp 0x4150bb
movzx eax, byte [ecx*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x44a0aa
cmp eax, 3
je 0x44a0aa
xor ecx, ecx
jmp 0x44a0c6
cmp edx, 0x180e
ja 0x44a1b9
je case.0x44a07e.0
cmp edx, 0x85
ja 0x44a19c
je case.0x44a07e.0
cmp edx, 9
jb case.0x44a1dd.8203
cmp edx, 0xd
jbe case.0x44a07e.0
cmp edx, 0x20
je case.0x44a07e.0
jmp case.0x44a1dd.8203
cmp edx, 0xa0
je case.0x44a07e.0
cmp edx, 0x1680
je case.0x44a07e.0
jmp case.0x44a1dd.8203
cmp edx, 0x202f
ja 0x44a1e4
je case.0x44a07e.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x44a1dd.8203
movzx eax, byte [edx + 0x450714]
jmp dword [eax*4 + 0x45070c]
cmp edx, 0x205f
je case.0x44a07e.0
cmp edx, 0x3000
je case.0x44a07e.0
jmp case.0x44a1dd.8203
movzx eax, byte [ecx*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x44a0aa
cmp eax, 3
je 0x44a0aa
cmp edx, 0x5f
je 0x44a0aa
xor ecx, ecx
jmp 0x44a0c6
cmp edx, 0x24
je 0x44a0aa
cmp edx, 0x40
je 0x44a0aa
cmp edx, 0x60
je 0x44a0aa
cmp edx, 0xa0
jb 0x44a261
cmp edx, 0xd7ff
jbe 0x44a0aa
cmp edx, 0xe000
jae 0x44a0aa
xor ecx, ecx
jmp 0x44a0c6
cmp edi, 0x10
je case.0x414bd5.157
jmp 0x4150bb
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
jmp 0x414d5e
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
jmp 0x414dc1
cmp eax, edi
jb 0x414e28
jmp 0x44959e
movzx ecx, word [ebx + 2]
xor eax, eax
cmp edi, 0x74
sete al
imul ecx, dword [esi + 0x24]
mov dword [ebp - 0x34], eax
movzx eax, word [ebx + 4]
add ebx, 6
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x30], ebx
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x54]
neg ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sbb ecx, ecx
xor edi, edi
neg ecx
mov dword [ebp - 0x10], edi
dec ecx
mov dword [ebp - 0x1c], ecx
test eax, eax
jle 0x44a396
dec eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
movzx edi, word [eax]
add edi, edi
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp + 0xc]
jge 0x44a340
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x44a340
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x44a393
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0x2c]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 8]
test eax, eax
jg 0x44a31a
jmp 0x44a396
xor eax, eax
cmp edi, 0x72
movzx edi, word [ebx + 2]
sete al
add edi, edi
add ebx, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x30], ebx
cmp edi, dword [ebp + 0xc]
jge 0x44a389
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x44a389
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x44a393
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x1c], ecx
movzx eax, word [ebx]
mov dword [ebp - 0x14], eax
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0x44a3af
movzx eax, byte [eax + 0x450748]
jmp dword [eax*4 + 0x450740]
mov eax, dword [ebp - 0x14]
add ebx, 2
add eax, 0xffffff9e
mov dword [ebp - 0x30], ebx
movzx edi, al
and edi, 1
mov dword [ebp - 0x20], edi
movsx edi, byte [eax + 0x4a5460]
movsx eax, byte [eax + 0x4a546c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x44a417
mov dword [ebp - 0x28], bind
jmp 0x44a417
movzx edi, word [ebx + 2]
xor eax, eax
cmp word [ebx], 0x69
mov dword [ebp - 0x2c], edi
sete al
mov dword [ebp - 0x20], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x44a411
mov dword [ebp - 0x28], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
test ecx, ecx
je 0x414baf
jns 0x44a429
test edi, edi
je 0x414baf
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0x44a46b
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e4e2
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44eb41
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], ecx
cmp ecx, edi
mov ecx, dword [ebp - 0x1c]
jle 0x44a438
mov edx, dword [ebp - 0x28]
cmp edi, edx
je 0x414e2e
cmp dword [ebp - 0x20], 0
je 0x44ea91
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], eax
jge case.0x414bd5.157
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov edx, edi
push esi
push dword [ebp - 0x1c]
call fcn.0048e4e2
add esp, 0xc
test eax, eax
js 0x44ea6b
inc dword [ebp - 0x2c]
lea edi, [edi + eax*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44a4a6
jmp 0x414ccb
push dword [ebp - 0x34]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.0048e4e2
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44eb41
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x414e2e
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x1c], ecx
sete al
mov dword [ebp - 0x34], eax
movzx eax, word [ebx + 2]
mov dword [ebp - 0x10], eax
test ecx, ecx
jne 0x44a54f
mov ecx, bind
mov dword [ebp - 0x1c], ecx
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x414e63
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x14], ecx
jmp 0x414eaa
cmp edi, 0x6e
je case.0x414bd5.157
jmp 0x414ed5
cmp eax, 1
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 8]
jl 0x414ee7
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x44a5cb
cmp edi, 0x6e
je case.0x414bd5.157
jmp 0x44a5ed
mov esi, dword [ebp - 0x28]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x2c]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0x414bd5.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x10]
jle 0x44a5a3
jmp 0x414ee4
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
mov ecx, 2
mov dword [ebp - 0x14], ecx
movzx eax, word [eax + 2]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
jmp 0x4153e9
cmp edi, 0x6e
je 0x415410
jmp 0x415517
cmp dword [esi + 0x8c], 0
je 0x415410
cmp eax, dword [esi + 0x88]
jbe 0x415410
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jg 0x449546
jmp 0x415410
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], edx
jge 0x44a6db
mov ecx, dword [ebp - 0x10]
cmp eax, dword [esi + 0x7c]
jae 0x44a6b3
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x44a685
cmp edi, 0x6e
jne 0x44a6a2
jmp 0x44a6d8
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
mov eax, dword [ebp - 8]
je 0x44a6d8
mov ecx, dword [ebp - 0x10]
inc ecx
add eax, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0x1c]
jl 0x44a66e
jmp 0x44a6d8
cmp dword [esi + 0x8c], 0
je 0x44a6d8
cmp eax, dword [esi + 0x88]
jbe 0x44a6d8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov ecx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp eax, ecx
jb case.0x414bd5.157
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
sub edi, 2
cmp edi, dword [ebp - 0x20]
jae 0x44a6f0
jmp 0x414ccb
lea eax, [ebx + 4]
mov dword [ebp - 0x2c], eax
movzx eax, word [ebx + 2]
movzx edi, word [ebx + eax*2]
lea ebx, [ebx + eax*2]
mov ecx, edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ecx
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x44a74c
movzx eax, byte [eax + 0x450758]
jmp dword [eax*4 + 0x450750]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x44a76f
mov ecx, dword [ebp - 0x34]
movzx eax, al
and eax, 1
mov dword [ebp - 0x20], eax
jmp 0x44a77a
mov eax, dword [ebp - 0x20]
mov ecx, 1
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
movsx esi, byte [esi + 0x4a540a]
movsx edi, byte [edi + 0x4a53fe]
test esi, esi
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x10], edi
jne 0x44a7f6
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1c], bind
jmp 0x44a7f6
movzx esi, word [ebx + 4]
xor eax, eax
cmp edi, 0x69
mov dword [ebp - 0x1c], esi
sete al
xor ecx, ecx
cmp edi, 0x6d
mov dword [ebp - 0x20], eax
movzx edi, word [ebx + 2]
sete cl
mov dword [ebp - 0x10], edi
test esi, esi
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp + 0x10]
jne 0x44a7d9
mov dword [ebp - 0x1c], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x44a7f6
mov eax, dword [ebp - 0x20]
mov edi, 1
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0x44a874
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x24]
mov dword [ebp - 8], eax
test edx, edx
je 0x44a84c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a84c
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
push edx
mov edx, dword [ebp - 0x2c]
call fcn.0048e80b
add esp, 4
test eax, eax
je case.0x414bd5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, edi
jle 0x44a802
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
cmp edi, dword [ebp - 0x1c]
je 0x414baf
test eax, eax
jne 0x44ed20
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
cmp edi, dword [ebp - 0x1c]
jl 0x44a89a
mov edi, eax
jmp 0x44a937
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp eax, dword [esi + 0x7c]
jae 0x44a90c
mov edx, dword [ebp - 0x24]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
test edx, edx
je 0x44a8e2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a8e2
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
push edx
mov edx, dword [ebp - 0x2c]
call fcn.0048e80b
add esp, 4
test eax, eax
je 0x44a934
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
inc edi
mov dword [ebp - 0x10], edi
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x1c]
jl 0x44a897
jmp 0x44a931
cmp dword [esi + 0x8c], 0
je 0x44a931
cmp eax, dword [esi + 0x88]
jbe 0x44a931
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x414e2e
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x28]
je case.0x414bd5.157
cmp dword [ebp - 0x24], 0
je 0x44a98e
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44a98e
sub edi, 2
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44a962
jmp 0x414ccb
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x44ec89
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0x414bd5.157
add ebx, 4
jmp 0x414e2b
movzx eax, word [ebx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov edx, 2
add edi, 0x10000
jmp 0x414f5e
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44aa3f
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x14], ecx
lea ebx, [ebx + edx*2]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], ebx
cmp edi, ecx
je 0x414baf
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b2070]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44aa73
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5570]
mov eax, dword [eax*8 + 0x4a2f64]
add eax, edi
cmp dword [ebp - 0x14], eax
jne case.0x414bd5.157
jmp 0x414e2e
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0x44aaae
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x44aab0
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0x44aac7
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x414bd5.157
add eax, 2
add ebx, 4
mov dword [ebp - 8], eax
jmp 0x414e2b
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x20]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
jmp 0x44ab88
mov dword [ebp - 0x34], 1
xor eax, eax
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 2]
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0x44ab15
cmp ecx, 0x35
je 0x44ab15
xor edx, edx
jmp 0x44ab1a
mov edx, 1
mov dword [ebp - 0x20], edx
add ebx, 4
jmp 0x44ab85
mov ecx, 1
mov dword [ebp - 0x18], bind
jmp 0x44ab39
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov edx, dword [ebp - 0x20]
add ebx, 2
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x10], ecx
jmp 0x44ab88
cmp edi, 0x2e
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
movzx edx, cl
and edx, 1
mov dword [ebp - 0x20], edx
movsx eax, byte [ecx + 0x4a5460]
mov dword [ebp - 0x10], eax
movsx eax, byte [ecx + 0x4a546c]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x44ab85
mov dword [ebp - 0x18], bind
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x24], 0
movzx eax, word [ebx]
mov dword [ebp - 0xc], eax
je 0x44adf5
and eax, 0xfc00
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], ebx
cmp eax, 0xd800
jne 0x44abd4
and dword [ebp - 0xc], 0x3ff
movzx eax, word [ebx + 2]
shl dword [ebp - 0xc], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0xc]
add eax, 0x10000
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 0x1c]
lea eax, [esi + esi]
add ebx, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc]
cmp esi, 1
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
jle 0x44adfb
cmp edi, 0x2e
jb 0x44ac49
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4b2070]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44ac1a
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5570]
mov ecx, dword [eax*8 + 0x4a2f64]
add ecx, edx
cmp ecx, edx
je 0x44ac43
lea edx, [ebp - 0x68]
call fcn.0048ec4f
mov edx, dword [ebp - 0x20]
mov edi, eax
mov ecx, dword [ebp - 0x10]
jmp 0x44ac4b
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0xc], 1
cmp ecx, 1
jge 0x44ac5f
mov eax, dword [ebp - 8]
jmp 0x44acdb
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44ac90
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00421eb4
add esp, 0xc
test eax, eax
jne 0x44ac8d
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
jmp 0x44acca
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44ee05
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44ee05
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00421eb4
add esp, 0xc
test eax, eax
jne 0x44ee02
lea eax, [edi + edi]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, ecx
jle 0x44ac5f
mov edx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x18]
je 0x414e2e
test edx, edx
jne 0x44ee20
mov edx, eax
mov dword [ebp - 0x28], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44ad91
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44ad25
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00421eb4
add esp, 0xc
test eax, eax
jne 0x44ad22
mov eax, dword [ebp - 0x2c]
jmp 0x44ad4d
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44ad5e
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44ad5e
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00421eb4
add esp, 0xc
test eax, eax
jne 0x44ad5e
lea eax, [edi + edi]
add dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0x44acfa
jmp 0x44ad8b
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x44ad8e
cmp eax, dword [esi + 0x7c]
jb 0x44ad8b
cmp eax, dword [esi + 0x88]
jbe 0x44ad8b
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp eax, edx
je 0x414d13
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44adeb
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x28]
jne 0x44ada6
jmp 0x414d13
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp edi, 0x2e
jb 0x44af4e
cmp dword [ebp - 0x24], 0
je 0x44ae4e
cmp eax, 0x7f
jbe 0x44ae4e
mov edi, dword [ebp - 0xc]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b2070]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44ae33
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x20]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5570]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0x4a2f64]
add eax, edi
jmp 0x44ae5f
mov edi, dword [ebp - 0xc]
cmp eax, 0xff
ja 0x44ae5f
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edi]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, 1
jl 0x44aea4
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx esi, word [eax]
mov dword [ebp - 0x14], esi
cmp edi, esi
mov esi, dword [ebp + 0x10]
je 0x44ae96
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
jne case.0x414bd5.157
inc dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x2c], ecx
jle 0x44ae71
cmp ecx, dword [ebp - 0x18]
je 0x414e2e
test edx, edx
jne 0x44eee8
mov edx, eax
mov dword [ebp - 0x28], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44af06
cmp eax, dword [esi + 0x7c]
jae 0x44aede
movzx edx, word [eax]
cmp edi, edx
je 0x44aed0
cmp dword [ebp - 0x1c], edx
jne 0x44af03
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x18]
jl 0x44aebf
jmp 0x44af03
cmp dword [esi + 0x8c], 0
je 0x44af03
cmp eax, dword [esi + 0x88]
jbe 0x44af03
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp eax, edx
je 0x414d13
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x414ccb
cmp edi, dword [ebp - 0x28]
jne 0x44af1b
jmp 0x414d13
mov dword [ebp - 0x14], 1
cmp ecx, 1
jge 0x44af5f
mov edi, dword [ebp - 8]
jmp 0x44af8b
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
mov edi, dword [ebp - 8]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0xc], eax
jne case.0x414bd5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, ecx
jle 0x44af5f
cmp ecx, dword [ebp - 0x18]
je 0x414e2e
test edx, edx
jne 0x44ef5f
mov eax, dword [ebp - 8]
mov edx, eax
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
cmp ecx, edi
jge 0x44afcc
mov edx, dword [ebp - 0xc]
cmp eax, dword [esi + 0x7c]
jae 0x44b014
movzx eax, word [eax]
cmp edx, eax
jne 0x44afc6
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, edi
jl 0x44afae
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp eax, edx
je 0x414d13
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x414ccb
cmp edi, dword [ebp - 0x28]
jne 0x44afe1
jmp 0x414d13
cmp dword [esi + 0x8c], 0
je 0x44afc9
cmp eax, dword [esi + 0x88]
jbe 0x44afc9
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
jmp 0x44afc9
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
cmp dword [ebp - 0x24], 0
je 0x44b14b
movzx edx, word [ebx + 2]
add ebx, 4
mov eax, edx
mov dword [ebp - 0x14], edx
and eax, 0xfc00
mov dword [ebp - 0x30], ebx
cmp eax, 0xd800
jne 0x44b08e
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x44b0ce
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
cmp edi, 0x1f
jne 0x44b0e0
cmp edx, ecx
je case.0x414bd5.157
jmp 0x414e2e
cmp edx, 0x7f
jbe 0x44b123
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2070]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44b10b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5570]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x4a2f64]
add eax, edx
jmp 0x44b136
cmp edx, 0xff
ja 0x44b134
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edx]
jmp 0x44b136
mov eax, edx
cmp edx, ecx
je case.0x414bd5.157
cmp eax, ecx
je case.0x414bd5.157
jmp 0x414e2e
movzx edx, word [eax]
add eax, 2
movzx ecx, word [ebx + 2]
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x414bd5.157
cmp edi, 0x20
jne 0x448dbf
cmp ecx, 0xff
ja 0x44b178
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x414bd5.157
add ebx, 4
jmp 0x414e2b
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x20]
mov ecx, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ecx
jmp 0x44b23c
movzx eax, word [ebx + 2]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
cmp ecx, 0x42
je 0x44b1bb
cmp ecx, 0x4f
je 0x44b1bb
xor edx, edx
jmp 0x44b1c0
mov edx, 1
mov dword [ebp - 0x20], edx
add ebx, 4
jmp 0x44b239
mov ecx, 1
mov dword [ebp - 0xc], bind
jmp 0x44b1df
xor ecx, ecx
mov dword [ebp - 0xc], 1
add ebx, 2
jmp 0x44b1f0
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0xc], eax
add ebx, 4
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x10], ecx
jmp 0x44b23c
cmp edi, 0x48
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
movzx edx, cl
and edx, 1
mov dword [ebp - 0x20], edx
movsx eax, byte [ecx + 0x4a5460]
mov dword [ebp - 0x10], eax
movsx eax, byte [ecx + 0x4a546c]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x44b239
mov dword [ebp - 0xc], bind
mov ecx, dword [ebp - 0x10]
movzx eax, word [ebx]
add ebx, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], ebx
je 0x44b283
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b280
and dword [ebp - 0x18], 0x3ff
movzx eax, word [ebx]
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ebx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], ebx
jmp 0x44b283
mov eax, dword [ebp - 0x18]
cmp edi, 0x48
jb 0x44b54d
cmp dword [ebp - 0x24], 0
je 0x44b2d6
cmp eax, 0x7f
jbe 0x44b2d6
mov edi, dword [ebp - 0x18]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b2070]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44b2bb
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x20]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5570]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0x4a2f64]
add eax, edi
jmp 0x44b2e7
mov edi, dword [ebp - 0x18]
cmp eax, 0xff
ja 0x44b2e7
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edi]
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], 1
je 0x44b36b
cmp ecx, 1
jge 0x44b304
mov eax, dword [ebp - 8]
jmp 0x44b3a5
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx edi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44b34c
movzx eax, word [eax]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, dword [ebp - 8]
add edi, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], edi
je case.0x414bd5.157
cmp dword [ebp - 0x1c], edi
je case.0x414bd5.157
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, ecx
jle 0x44b304
jmp 0x44b3a2
mov eax, dword [ebp - 8]
cmp ecx, 1
jl 0x44b3a5
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx edi, word [eax]
cmp dword [ebp - 0x18], edi
je case.0x414bd5.157
cmp dword [ebp - 0x1c], edi
je case.0x414bd5.157
mov edi, dword [ebp - 0x14]
add eax, 2
inc edi
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], edi
cmp edi, ecx
jle 0x44b373
mov edi, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0xc]
je 0x414e2e
test edx, edx
jne 0x44efce
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x20], edx
je 0x44b4b9
cmp ecx, dword [ebp - 0xc]
jge 0x44b430
mov edi, 1
cmp eax, dword [esi + 0x7c]
jae 0x44b494
movzx edx, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b40b
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
cmp dword [ebp - 0x18], edx
je 0x44b42a
cmp dword [ebp - 0x1c], edx
je 0x44b42a
lea ecx, [ecx + edi*2]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jl 0x44b3ca
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp eax, edx
je 0x414d13
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44b48a
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
jne 0x44b445
jmp 0x414d13
cmp dword [esi + 0x8c], 0
je 0x44b42d
cmp eax, dword [esi + 0x88]
jbe 0x44b42d
mov dword [esi + 0x68], edi
cmp dword [esi + 0x8c], edi
jg 0x449546
jmp 0x44b42d
cmp ecx, dword [ebp - 0xc]
jge 0x44b505
cmp eax, dword [esi + 0x7c]
jae 0x44b4dd
movzx edx, word [eax]
cmp edi, edx
je 0x44b502
cmp dword [ebp - 0x1c], edx
je 0x44b502
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0xc]
jl 0x44b4be
jmp 0x44b502
cmp dword [esi + 0x8c], 0
je 0x44b502
cmp eax, dword [esi + 0x88]
jbe 0x44b502
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp eax, edx
je 0x414d13
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
jne 0x44b51a
jmp 0x414d13
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], 1
je 0x44b5c1
cmp ecx, 1
jl 0x44b5f5
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx edi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44b5ab
movzx eax, word [eax]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, dword [ebp - 8]
add edi, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], edi
je case.0x414bd5.157
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, ecx
jle 0x44b563
jmp 0x44b5f8
cmp ecx, 1
jl 0x44b5f5
mov ecx, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
cmp ecx, dword [esi + 0x7c]
jae 0x44ec89
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x18], eax
je case.0x414bd5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, edi
jle 0x44b5cc
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
cmp ecx, edi
je 0x414e2e
test edx, edx
jne 0x44f0da
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x1c], edx
je 0x44b707
cmp ecx, edi
jge 0x44b67e
mov edi, 1
cmp eax, dword [esi + 0x7c]
jae 0x44b6e2
movzx edx, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b65f
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
cmp dword [ebp - 0x18], edx
je 0x44b678
mov eax, dword [ebp - 0x10]
lea ecx, [ecx + edi*2]
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, ecx
jl 0x44b61e
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp eax, edx
je 0x414d13
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44b6d8
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
jne 0x44b693
jmp 0x414d13
cmp dword [esi + 0x8c], 0
je 0x44b67b
cmp eax, dword [esi + 0x88]
jbe 0x44b67b
mov dword [esi + 0x68], edi
cmp dword [esi + 0x8c], edi
jg 0x449546
jmp 0x44b67b
cmp ecx, edi
jge 0x44b72c
mov edx, dword [ebp - 0x18]
cmp eax, dword [esi + 0x7c]
jae 0x44b774
movzx eax, word [eax]
cmp edx, eax
je 0x44b726
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, edi
jl 0x44b70e
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp eax, edx
je 0x414d13
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
jne 0x44b741
jmp 0x414d13
cmp dword [esi + 0x8c], 0
je 0x44b729
cmp eax, dword [esi + 0x88]
jbe 0x44b729
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
jmp 0x44b729
movzx edi, word [ebx + 2]
mov eax, 1
mov edx, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xc], edx
add ebx, 4
mov dword [ebp - 0x20], eax
jmp 0x41522d
movzx edi, word [ebx + 2]
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], edi
cmp ecx, 0x5c
mov dword [ebp - 0xc], edx
sete al
add ebx, 4
mov dword [ebp - 0x20], eax
jmp 0x41522d
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x415226
mov eax, dword [ebp - 0x20]
mov edx, 1
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x415226
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], 1
jmp 0x41522d
movzx ecx, word [ebx + 2]
xor edx, edx
mov eax, dword [ebp - 0x20]
add ebx, 4
mov dword [ebp - 0x34], 1
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], ecx
jmp 0x41522d
mov dword [ebp - 0x38], 1
jmp 0x44b853
mov dword [ebp - 0x38], 0
movzx esi, word [ebx + 2]
movzx ecx, word [ebx]
add ebx, 4
mov dword [ebp - 0x3c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
jmp 0x41524e
test ecx, ecx
js 0x44c008
cmp ecx, 0xa
ja case.default.0x44a07e
jmp dword [ecx*4 + 0x450764]
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44cde5
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b8ca
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x44b8ca
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44b89e
jmp 0x44bffd
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b92d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b92d
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b94f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp eax, 9
je 0x44b974
cmp eax, 5
je 0x44b974
cmp eax, 8
je 0x44b974
xor eax, eax
jmp 0x44b979
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b8e8
mov eax, dword [ebp - 0x20]
jmp 0x44c000
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b9f4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b9f4
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ba16
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp dword [eax*4 + 0x4b6eb0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b9af
mov eax, dword [ebp - 0x20]
jmp 0x44c000
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bab2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bab2
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bad4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44ba6d
mov eax, dword [ebp - 0x20]
jmp 0x44c000
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bb69
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bb69
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bb8b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f60]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44bb24
mov eax, dword [ebp - 0x20]
jmp 0x44c000
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bc20
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bc20
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bc42
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x44bc69
cmp eax, 3
je 0x44bc69
xor eax, eax
jmp 0x44bc6e
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44bbdb
mov eax, dword [ebp - 0x20]
jmp 0x44c000
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
mov eax, dword [ebp - 0x24]
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
test eax, eax
je 0x44bced
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bcea
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x24]
cmp ecx, 0x180e
ja 0x44bd3a
je 0x44bdc2
cmp ecx, 0x85
ja 0x44bd21
je 0x44bdc2
cmp ecx, 9
jb case.0x44bd56.8203
cmp ecx, 0xd
jbe 0x44bdc2
cmp ecx, 0x20
jne case.0x44bd56.8203
jmp 0x44bdc2
cmp ecx, 0xa0
je 0x44bdc2
cmp ecx, 0x1680
jne case.0x44bd56.8203
jmp 0x44bdc2
cmp ecx, 0x202f
ja 0x44bd5d
je 0x44bdc2
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44bd56.8203
movzx eax, byte [eax + 0x450798]
jmp dword [eax*4 + 0x450790]
cmp ecx, 0x205f
je 0x44bdc2
cmp ecx, 0x3000
je 0x44bdc2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bd8f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp dword [eax*4 + 0x4b6eb0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
jmp 0x44bdcc
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44bca7
mov eax, dword [ebp - 0x20]
jmp 0x44c000
mov edi, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edi
je 0x44be41
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44be41
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2070]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44be67
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x44be93
cmp eax, 3
je 0x44be93
cmp edx, 0x5f
je 0x44be93
xor eax, eax
jmp 0x44be98
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, edx
jle 0x44bdf6
mov eax, dword [ebp - 0x20]
jmp 0x44c000
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bf13
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bf13
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0x4a4300]
lea eax, [eax*4 + 0x4a4300]
cmp ecx, edx
jb 0x44bf35
lea eax, [eax + 4]
cmp ecx, edx
je 0x44bf55
mov edx, dword [eax]
cmp ecx, edx
jae 0x44bf28
cmp dword [ebp - 0x38], 0
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44bece
mov eax, dword [ebp - 0x20]
jmp 0x44c000
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
jmp 0x44bf3f
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44cde5
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bfb7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bfb7
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x24
je 0x44bfe2
cmp ecx, 0x40
je 0x44bfe2
cmp ecx, 0x60
je 0x44bfe2
cmp ecx, 0xa0
jb 0x44bfd6
cmp ecx, 0xd7ff
jbe 0x44bfe2
cmp ecx, 0xe000
jae 0x44bfe2
xor eax, eax
jmp 0x44bfe7
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bf72
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
jmp 0x41525c
cmp edi, 0x16
jne 0x44c19a
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
cmp edx, 1
jl 0x41525c
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x2c], eax
cmp edi, eax
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44c06e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c06e
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c090
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx ecx, byte [eax*8 + 0x4a2f62]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44c157
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44c0f2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c0f2
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c114
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx ecx, byte [eax*8 + 0x4a2f62]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a5530], eax
je 0x44c14b
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp edi, eax
jb 0x44c0b5
jmp 0x44c14e
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44c180
cmp edi, eax
jb 0x44c180
cmp edi, dword [esi + 0x88]
jbe 0x44c180
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
jle 0x44c024
mov eax, dword [ebp - 0x20]
jmp 0x44c000
cmp dword [ebp - 0x24], 0
lea ecx, [edi - 6]
je 0x44c8c7
cmp ecx, 0xf
ja case.default.0x44a07e
jmp dword [ecx*4 + 0x4507c4]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c000
lea eax, [edi + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44edc9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44c281
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44c23a
cmp edx, dword [esi + 0x7c]
jb 0x44c23a
cmp dword [esi + 0x18], 0
jne 0x44c23a
cmp dword [esi + 0x1c], 2
jne 0x44c23a
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c23a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
cmp edi, dword [esi + 0x7c]
jae 0x44c26c
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44c26c
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0xc]
jle 0x44c1d0
jmp 0x44bffa
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44c200
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c200
cmp edx, 1
je case.0x414bd5.157
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
jmp 0x44c203
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44edc9
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44c309
mov ax, word [edi]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xdc00
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0xc]
jne 0x44c309
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jle 0x44c2d3
jmp 0x44bffa
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja case.0x414bd5.157
mov eax, dword [ebp - 0x20]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44c000
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c000
mov edx, dword [esi + 0x7c]
cmp edi, edx
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c387
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0xd
ja 0x44c3b3
je 0x44c3a1
cmp ecx, 0xa
je 0x44c3d4
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414bd5.157
jmp 0x44c3ca
cmp edi, edx
jae 0x44c3d4
cmp word [edi], 0xa
jne 0x44c3d4
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44c3d4
cmp ecx, 0x85
je 0x44c3ca
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44c349
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c439
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0x44c477
je case.0x414bd5.157
cmp ecx, 0xa0
ja 0x44c469
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp 0x44c4b3
cmp ecx, 0x1680
je case.0x414bd5.157
jmp 0x44c4b3
cmp ecx, 0x205f
ja 0x44c4a7
je case.0x414bd5.157
cmp ecx, 0x2000
jb 0x44c4b3
cmp ecx, 0x200a
jbe case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp 0x44c4b3
cmp ecx, 0x3000
je case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c3fa
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c512
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0x44c544
je 0x44c57c
cmp ecx, 0xa0
ja 0x44c536
je 0x44c57c
cmp ecx, 9
je 0x44c57c
cmp ecx, 0x20
jne case.0x414bd5.157
jmp 0x44c57c
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp 0x44c57c
cmp ecx, 0x205f
ja 0x44c570
je 0x44c57c
cmp ecx, 0x2000
jb case.0x414bd5.157
cmp ecx, 0x200a
jbe 0x44c57c
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp 0x44c57c
cmp ecx, 0x3000
jne case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c4d3
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c5db
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
ja 0x44c5f9
je case.0x414bd5.157
cmp ecx, 0xa
jb 0x44c60d
cmp ecx, 0xd
jbe case.0x414bd5.157
jmp 0x44c60d
cmp ecx, 0x2028
jb 0x44c60d
cmp ecx, 0x2029
jbe case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c59c
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c668
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
ja 0x44c680
je 0x44c68f
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414bd5.157
jmp 0x44c68f
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c629
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c6ea
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x80
jae 0x44c6ff
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c6ab
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c71b
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c000
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44edc9
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44c78d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44c7b5
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44c7b5
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44c76a
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c7d6
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c000
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44edc9
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44c848
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44c870
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44c870
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44c825
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c891
jmp 0x44bffa
cmp ecx, 0xf
ja case.default.0x44a07e
jmp dword [ecx*4 + 0x450804]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c000
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44edc9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44c917
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
jmp 0x44c943
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44c943
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c943
cmp edx, 1
je case.0x414bd5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
cmp dword [esi + 0x8c], 0
je 0x44c97d
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44c97d
cmp dword [esi + 0x18], 0
jne 0x44c97d
cmp dword [esi + 0x1c], 2
jne 0x44c97d
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c97d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov edx, dword [ebp - 0x14]
add edi, 2
inc edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0xc]
jle 0x44c8ea
jmp 0x44bffa
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x44edc9
mov eax, dword [ebp - 0x20]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44c000
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44edc9
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
jg 0x44ca09
je 0x44c9f7
cmp eax, 0xa
je 0x44ca28
add eax, 0xfffffff5
cmp eax, 1
ja case.0x414bd5.157
jmp 0x44ca1e
cmp edi, ecx
jae 0x44ca28
cmp word [edi], 0xa
jne 0x44ca28
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44ca28
cmp eax, 0x85
je 0x44ca1e
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c9cc
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44ca94
je case.0x414bd5.157
cmp ecx, 0xa0
jg 0x44ca86
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp 0x44cad0
cmp ecx, 0x1680
je case.0x414bd5.157
jmp 0x44cad0
cmp ecx, 0x205f
jg 0x44cac4
je case.0x414bd5.157
cmp ecx, 0x2000
jl 0x44cad0
cmp ecx, 0x200a
jle case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp 0x44cad0
cmp ecx, 0x3000
je case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44ca44
jmp 0x44bffd
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44cb34
je 0x44cb6c
cmp ecx, 0xa0
jg 0x44cb26
je 0x44cb6c
cmp ecx, 9
je 0x44cb6c
cmp ecx, 0x20
jne case.0x414bd5.157
jmp 0x44cb6c
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp 0x44cb6c
cmp ecx, 0x205f
jg 0x44cb60
je 0x44cb6c
cmp ecx, 0x2000
jl case.0x414bd5.157
cmp ecx, 0x200a
jle 0x44cb6c
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp 0x44cb6c
cmp ecx, 0x3000
jne case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44caf0
jmp 0x44bffd
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
jg 0x44cbbc
je case.0x414bd5.157
cmp ecx, 0xa
jl 0x44cbd0
cmp ecx, 0xd
jle case.0x414bd5.157
jmp 0x44cbd0
cmp ecx, 0x2028
jl 0x44cbd0
cmp ecx, 0x2029
jle case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44cb8c
jmp 0x44bffd
mov edi, dword [ebp - 8]
mov ecx, 1
cmp edx, ecx
jl 0x44c000
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
jg 0x44cc14
je 0x44cc22
add eax, 0xfffffff6
cmp eax, 3
ja case.0x414bd5.157
jmp 0x44cc22
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x414bd5.157
inc ecx
cmp ecx, edx
jle 0x44cbeb
mov eax, dword [ebp - 0x20]
jmp 0x44c000
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44cc65
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cc40
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x414bd5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cc87
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44ccf7
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44ccd2
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x414bd5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cd19
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44cd89
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cd64
jmp 0x44bffa
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bffd
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x414bd5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cdab
jmp 0x44bffa
mov edx, dword [ebp - 0xc]
jmp 0x41525c
mov eax, edi
mov dword [ebp - 0x10], eax
test ecx, ecx
js 0x44d684
cmp ecx, 0xa
ja case.default.0x44a07e
jmp dword [ecx*4 + 0x450844]
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov eax, dword [ebp - 0x18]
mov ecx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44ce63
cmp dword [ebp - 0x24], 0
je 0x44ce49
mov ax, word [edi]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xd800
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jne 0x44ce49
mov ecx, 2
cmp dword [ebp - 0x38], 0
jne 0x44d61c
inc edx
lea edi, [edi + ecx*2]
mov dword [ebp - 8], edi
cmp edx, eax
jl 0x44ce16
jmp 0x44d61c
cmp dword [esi + 0x8c], 0
je 0x44d61c
cmp edi, dword [esi + 0x88]
jbe 0x44d61c
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jle 0x44d61c
jmp 0x449546
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cf54
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cee1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cee1
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cf03
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp eax, 9
je 0x44cf28
cmp eax, 5
je 0x44cf28
cmp eax, 8
je 0x44cf28
xor eax, eax
jmp 0x44cf2d
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d61c
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44ce99
jmp 0x44d61c
cmp dword [esi + 0x8c], 0
je 0x44d61c
cmp edi, dword [esi + 0x88]
jbe 0x44d61c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44d61c
jmp 0x449546
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cf54
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cfd3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cfd3
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cff5
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp dword [eax*4 + 0x4b6eb0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d61c
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44cf8f
jmp 0x44d61c
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cf54
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d08e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d08e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d0b0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d61c
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d046
jmp 0x44d61c
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cf54
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d142
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d142
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d164
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f60]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d61c
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d0fa
jmp 0x44d61c
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cf54
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d1f6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d1f6
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d218
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x44d23f
cmp eax, 3
je 0x44d23f
xor eax, eax
jmp 0x44d244
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d61c
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d1ae
jmp 0x44d61c
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov eax, 1
mov dword [ebp - 0x2c], eax
cmp edi, dword [esi + 0x7c]
jae 0x44d3ba
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d2c3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d2c0
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x2c], eax
jmp 0x44d2c3
mov eax, dword [ebp - 0x2c]
cmp ecx, 0x180e
ja 0x44d310
je 0x44d398
cmp ecx, 0x85
ja 0x44d2f7
je 0x44d398
cmp ecx, 9
jb case.0x44d32c.8203
cmp ecx, 0xd
jbe 0x44d398
cmp ecx, 0x20
jne case.0x44d32c.8203
jmp 0x44d398
cmp ecx, 0xa0
je 0x44d398
cmp ecx, 0x1680
jne case.0x44d32c.8203
jmp 0x44d398
cmp ecx, 0x202f
ja 0x44d333
je 0x44d398
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44d32c.8203
movzx eax, byte [eax + 0x450878]
jmp dword [eax*4 + 0x450870]
cmp ecx, 0x205f
je 0x44d398
cmp ecx, 0x3000
je 0x44d398
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d365
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp dword [eax*4 + 0x4b6eb0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d61c
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
jmp 0x44d3a2
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x38], 0
jne 0x44d61c
inc edx
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x18]
jl 0x44d274
jmp 0x44d61c
cmp dword [esi + 0x8c], 0
je 0x44d61c
cmp edi, dword [esi + 0x88]
jbe 0x44d61c
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0x44d61c
jmp 0x449546
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov dword [ebp - 0x2c], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cf54
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], ecx
je 0x44d43e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d43e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x2c], 2
add ecx, 0x10000
mov dword [ebp - 0x14], ecx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2070]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44d464
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x44d490
cmp eax, 3
je 0x44d490
cmp edx, 0x5f
je 0x44d490
xor eax, eax
jmp 0x44d495
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d61c
mov eax, dword [ebp - 0x2c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d3f0
jmp 0x44d61c
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cf54
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d50d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d50d
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0x4a4300]
lea eax, [eax*4 + 0x4a4300]
cmp ecx, edx
jb 0x44d52f
lea eax, [eax + 4]
cmp ecx, edx
je 0x44d557
mov edx, dword [eax]
cmp ecx, edx
jae 0x44d522
cmp dword [ebp - 0x38], 0
je 0x44d61c
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d4c5
jmp 0x44d61c
cmp dword [ebp - 0x38], 0
je 0x44d539
jmp 0x44d61c
cmp edx, dword [ebp - 0x18]
jge 0x44d61f
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d5fc
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d5af
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d5af
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x24
je 0x44d5da
cmp ecx, 0x40
je 0x44d5da
cmp ecx, 0x60
je 0x44d5da
cmp ecx, 0xa0
jb 0x44d5ce
cmp ecx, 0xd7ff
jbe 0x44d5da
cmp ecx, 0xe000
jae 0x44d5da
xor eax, eax
jmp 0x44d5df
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d61c
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d56b
jmp 0x44d61c
cmp dword [esi + 0x8c], 0
je 0x44d61c
cmp edi, dword [esi + 0x88]
jbe 0x44d61c
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x449546
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp edi, eax
je 0x414d13
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
je 0x44d67a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d67a
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
jne 0x44d631
jmp 0x414d13
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x16
jne 0x44d87b
cmp edx, dword [ebp - 0x18]
jge 0x44d82f
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x2c], eax
cmp edi, eax
jae 0x44d807
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44d6e3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d6e3
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d705
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx ecx, byte [eax*8 + 0x4a2f62]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44d7cc
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44d767
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d767
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d789
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx ecx, byte [eax*8 + 0x4a2f62]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a5530], eax
je 0x44d7c0
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp edi, eax
jb 0x44d72a
jmp 0x44d7c3
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44d7f5
cmp edi, eax
jb 0x44d7f5
cmp edi, dword [esi + 0x88]
jbe 0x44d7f5
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d699
jmp 0x44d82c
cmp dword [esi + 0x8c], 0
je 0x44d82c
cmp edi, dword [esi + 0x88]
jbe 0x44d82c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp edi, eax
je 0x414d13
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
jne 0x44e72c
movzx ecx, word [edi]
jmp 0x44e772
cmp dword [ebp - 0x24], 0
lea eax, [ecx - 6]
je 0x44e0de
cmp eax, 0xf
ja case.default.0x44a07e
jmp dword [eax*4 + 0x4508a4]
mov eax, dword [ebp - 0x18]
cmp eax, 0x7fffffff
jge 0x44d9a0
cmp edx, eax
jge 0x44e05d
lea eax, [edi + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44daf9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44d965
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne 0x44e05d
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44d91e
cmp edx, dword [esi + 0x7c]
jb 0x44d91e
cmp dword [esi + 0x18], 0
jne 0x44d91e
cmp dword [esi + 0x1c], 2
jne 0x44d91e
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d91e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
cmp edi, dword [esi + 0x7c]
jae 0x44d950
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d950
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d8b4
jmp 0x44e05d
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44d8e4
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d8e4
cmp edx, 1
je 0x44e05d
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44d8e7
jmp 0x44e05d
cmp edx, eax
jge 0x44e05d
lea eax, [edi + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44daf9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44da5f
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne 0x44e05d
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44da18
cmp edx, dword [esi + 0x7c]
jb 0x44da18
cmp dword [esi + 0x18], 0
jne 0x44da18
cmp dword [esi + 0x1c], 2
jne 0x44da18
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44da18
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
cmp edi, dword [esi + 0x7c]
jae 0x44da4a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44da4a
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d9ae
jmp 0x44e05d
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44d9de
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d9de
cmp edx, 1
je 0x44e05d
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44d9e1
jmp 0x44e05d
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x7fffffff
jge 0x44daef
cmp edx, ecx
jge 0x44e05d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0x18]
cmp edi, ecx
jae 0x44daf9
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44dae5
mov ax, word [edi]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xdc00
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jne 0x44dae5
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jl 0x44dab3
jmp 0x44e05d
mov edi, dword [esi + 0x7c]
jmp 0x44daf6
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44e05d
cmp edi, dword [esi + 0x88]
jbe 0x44e05d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44e05d
jmp 0x449546
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub dword [ebp - 0x18], edx
sub eax, edi
mov edx, dword [ebp - 0x18]
sar eax, 1
cmp edx, eax
ja 0x44daf4
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44e05d
cmp edx, dword [ebp - 0x18]
jge 0x44e05d
mov eax, dword [esi + 0x7c]
mov edx, 1
cmp edi, eax
jae 0x44dc06
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44db92
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0xd
jne 0x44dbb3
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x44e05d
cmp word [edi], 0xa
jne 0x44dbf1
add edi, 2
jmp 0x44dbee
cmp ecx, 0xa
je 0x44dbe8
cmp dword [esi + 0x6c], 0
jne 0x44e05d
cmp ecx, 0xb
je 0x44dbe8
cmp ecx, 0xc
je 0x44dbe8
cmp ecx, 0x85
je 0x44dbe8
cmp ecx, 0x2028
je 0x44dbe8
cmp ecx, 0x2029
jne 0x44e05d
mov eax, dword [esi + 0x7c]
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x18]
jl 0x44db55
jmp 0x44e05d
cmp dword [esi + 0x8c], 0
je 0x44e05d
cmp edi, dword [esi + 0x88]
jbe 0x44e05d
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jle 0x44e05d
jmp 0x449546
cmp edx, dword [ebp - 0x18]
jge 0x44e05d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dc06
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dc76
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x44dccb
je 0x44dc94
cmp ecx, 0xa0
ja 0x44dcc1
je 0x44dc94
cmp ecx, 9
je 0x44dc94
cmp ecx, 0x20
jne 0x44dcf7
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x1c], 0x12
sete al
cmp ecx, eax
je 0x44e05d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44dc3c
jmp 0x44e05d
cmp ecx, 0x1680
jne 0x44dcf7
jmp 0x44dc94
cmp ecx, 0x205f
ja 0x44dcef
je 0x44dc94
cmp ecx, 0x2000
jb 0x44dcf7
cmp ecx, 0x200a
jbe 0x44dc94
cmp ecx, 0x202f
jne 0x44dcf7
jmp 0x44dc94
cmp ecx, 0x3000
je 0x44dc94
xor ecx, ecx
jmp 0x44dc99
cmp edx, dword [ebp - 0x18]
jge 0x44e05d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dc06
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dd42
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0x44dd80
je 0x44dd8b
cmp ecx, 0xa
jb 0x44dd56
cmp ecx, 0xd
jbe 0x44dd8b
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x1c], 0x14
sete al
cmp ecx, eax
je 0x44e05d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44dd04
jmp 0x44e05d
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x44dd56
mov ecx, 1
jmp 0x44dd58
cmp edx, dword [ebp - 0x18]
jge 0x44e05d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dc06
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ddd9
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44ddee
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44e05d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44dd9b
jmp 0x44e05d
cmp edx, dword [ebp - 0x18]
jge 0x44e05d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dc06
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44de4c
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44e05d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44e05d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44de0e
jmp 0x44e05d
cmp edx, dword [ebp - 0x18]
jge 0x44e05d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dc06
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dec3
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44ded8
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44e05d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44de85
jmp 0x44e05d
cmp edx, dword [ebp - 0x18]
jge 0x44e05d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dc06
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44df36
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44e05d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44e05d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44def8
jmp 0x44e05d
cmp edx, dword [ebp - 0x18]
jge 0x44e05d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dc06
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dfad
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44dfc2
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44e05d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44df6f
jmp 0x44e05d
cmp edx, dword [ebp - 0x18]
jge 0x44e05d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44e03d
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e018
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44e05d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44e05d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44dfde
jmp 0x44e05d
cmp dword [esi + 0x8c], 0
je 0x44e05d
cmp edi, dword [esi + 0x88]
jbe 0x44e05d
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x449546
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp edi, dword [ebp - 0x10]
je 0x414d13
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e0b5
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x1c], 0x11
mov ecx, dword [ebp - 0x10]
jne 0x44e0d5
cmp edi, ecx
jbe 0x44e0d7
cmp word [edi], 0xa
jne 0x44e0d5
cmp word [edi - 2], 0xd
jne 0x44e0d5
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
jne 0x44e070
jmp 0x414d13
cmp eax, 0xf
ja case.default.0x44a07e
jmp dword [eax*4 + 0x4508e4]
cmp edx, dword [ebp - 0x18]
jge 0x44e5bb
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e1bc
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44e123
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
je 0x44e14f
jmp 0x44e5bb
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44e14f
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44e14f
cmp edx, 1
je 0x44e5bb
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44e5bb
cmp dword [esi + 0x8c], 0
je 0x44e189
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44e189
cmp dword [esi + 0x18], 0
jne 0x44e189
cmp dword [esi + 0x1c], 2
jne 0x44e189
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44e189
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44e0f7
jmp 0x44e5bb
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub dword [ebp - 0x18], edx
sub eax, edi
mov edx, dword [ebp - 0x18]
sar eax, 1
cmp edx, eax
jbe 0x44e1ee
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44e5bb
cmp edi, dword [esi + 0x88]
jbe 0x44e5bb
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44e5bb
jmp 0x449546
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44e5bb
cmp edx, dword [ebp - 0x18]
jge 0x44e5bb
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e1bc
movzx eax, word [edi]
cmp eax, 0xd
jne 0x44e227
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44e5bb
cmp word [edi], 0xa
je 0x44e259
jmp 0x44e25f
cmp eax, 0xa
je 0x44e259
cmp dword [esi + 0x6c], 0
jne 0x44e5bb
cmp eax, 0xb
je 0x44e259
cmp eax, 0xc
je 0x44e259
cmp eax, 0x85
je 0x44e259
cmp eax, 0x2028
je 0x44e259
cmp eax, 0x2029
jne 0x44e5bb
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x44e205
jmp 0x44e5bb
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e1bc
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44e2ba
je 0x44e5bb
cmp eax, 0xa0
jg 0x44e2ae
je 0x44e5bb
cmp eax, 9
je 0x44e5bb
cmp eax, 0x20
jne 0x44e2f0
jmp 0x44e5bb
cmp eax, 0x1680
jne 0x44e2f0
jmp 0x44e5bb
cmp eax, 0x205f
jg 0x44e2e5
je 0x44e5bb
cmp eax, 0x2000
jl 0x44e2f0
cmp eax, 0x200a
jle 0x44e5bb
cmp eax, 0x202f
jne 0x44e2f0
jmp 0x44e5bb
cmp eax, 0x3000
je 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44e275
jmp 0x44e5bb
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e1bc
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44e348
je 0x44e37a
cmp eax, 0xa0
jg 0x44e33c
je 0x44e37a
cmp eax, 9
je 0x44e37a
cmp eax, 0x20
je 0x44e37a
jmp 0x44e5bb
cmp eax, 0x1680
je 0x44e37a
jmp 0x44e5bb
cmp eax, 0x205f
jg 0x44e36f
je 0x44e37a
cmp eax, 0x2000
jl 0x44e5bb
cmp eax, 0x200a
jle 0x44e37a
cmp eax, 0x202f
je 0x44e37a
jmp 0x44e5bb
cmp eax, 0x3000
jne 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44e30f
jmp 0x44e5bb
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e1bc
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44e3bd
je 0x44e5bb
cmp eax, 0xa
jl 0x44e3cf
cmp eax, 0xd
jg 0x44e3cf
jmp 0x44e5bb
cmp eax, 0x2028
jl 0x44e3cf
cmp eax, 0x2029
jle 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44e395
jmp 0x44e5bb
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e1bc
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44e40c
je 0x44e41a
add eax, 0xfffffff6
cmp eax, 3
jbe 0x44e41a
jmp 0x44e5bb
add eax, 0xffffdfd8
cmp eax, 1
ja 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44e3ea
jmp 0x44e5bb
cmp edx, dword [ebp - 0x18]
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e1bc
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e458
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e433
jmp 0x44e5bb
cmp edx, dword [ebp - 0x18]
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e1bc
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e5bb
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e472
jmp 0x44e5bb
cmp edx, dword [ebp - 0x18]
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e1bc
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e4da
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e4b5
jmp 0x44e5bb
cmp edx, dword [ebp - 0x18]
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e1bc
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e5bb
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e4f4
jmp 0x44e5bb
cmp edx, dword [ebp - 0x18]
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e1bc
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e558
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e537
jmp 0x44e5bb
cmp edx, dword [ebp - 0x18]
jge 0x44e5bb
cmp edi, dword [esi + 0x7c]
jae 0x44e596
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e5bb
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44e5bb
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e56b
jmp 0x44e5bb
cmp dword [esi + 0x8c], 0
je 0x44e5bb
cmp edi, dword [esi + 0x88]
jbe 0x44e5bb
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
cmp dword [ebp - 0x34], 0
jne 0x414e2e
cmp edi, dword [ebp - 0x10]
je 0x414d13
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov ecx, dword [ebp - 0x10]
sub edi, 2
cmp dword [ebp - 0x1c], 0x11
mov dword [ebp - 8], edi
jne 0x44e617
cmp edi, ecx
jbe 0x44e619
cmp word [edi], 0xa
jne 0x44e617
cmp word [edi - 2], 0xd
jne 0x44e617
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
jne 0x44e5ce
jmp 0x414d13
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push edx
push ecx
mov ecx, dword [ebp - 8]
jne 0x44e64f
lea edx, [ebx + 4]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov ebx, dword [ebp - 0x14]
jmp 0x414d10
mov edx, dword [ebp - 0x14]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
add ebx, 4
jmp 0x414d10
movzx ecx, word [ebx]
cmp ecx, 0x7b
je 0x44e9ab
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
cmp ecx, 0x7a
jne 0x44e6e4
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov ebx, dword [ebp - 0x1c]
mov ecx, 0x81
movzx eax, word [ebx]
cmp ax, cx
je 0x44e941
mov ecx, 0x88
cmp ax, cx
jb 0x414d10
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
jmp 0x414ccb
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00414b50
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x44e70b
mov ecx, dword [ebp - 0x1c]
cmp dword [esi + 0xb8], ecx
jne 0x414ccb
jmp 0x44e716
test eax, eax
jne 0x414ccb
mov ecx, dword [ebp - 0x1c]
mov eax, 0x81
cmp word [ecx], ax
je 0x44e974
add ebx, 4
jmp 0x414d10
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e747
sub edi, 2
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e772
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e794
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f62]
mov dword [ebp - 0x2c], eax
cmp edi, dword [ebp - 0x10]
je 0x414d13
cmp dword [ebp - 0x24], 0
lea edx, [edi - 2]
mov dword [ebp - 0x14], edx
jne 0x44e7c3
movzx ecx, word [edx]
jmp 0x44e809
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e7de
sub edx, 2
mov dword [ebp - 0x14], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e809
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e82b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx eax, word [eax*2 + 0x4a5570]
movzx edx, byte [eax*8 + 0x4a2f62]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a5530], eax
je 0x44d841
mov edi, dword [ebp - 0x14]
mov dword [ebp - 8], edi
mov dword [ebp - 0x2c], edx
jmp 0x44e7a9
mov dword [esi + 0x9c], 2
jmp 0x415492
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x45042b
cmp word [ebx], 0x77
je 0x4154e1
cmp word [eax], 0x77
jne 0x45042b
jmp 0x4154e1
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a5480]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x414ccb
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x14c]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
je case.0x414bd5.157
push eax
call dword [0x4a5478]
add esp, 4
jmp case.0x414bd5.157
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44e930
push eax
call dword [0x4a5478]
add esp, 4
jmp 0x44e930
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0xb0], ecx
mov eax, edi
jmp 0x414ccb
mov eax, 0xfffffffa
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov dword [esi + 0xb8], ebx
mov eax, 0xfffffc1b
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x414ccb
mov ecx, dword [ebp + 8]
mov dword [esi + 0x80], ecx
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x90], eax
mov eax, 0xfffffc1a
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x414ccb
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
jmp 0x414cc6
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp eax, dword [esi + 0x88]
jmp 0x44ea3d
cmp ecx, dword [esi + 0x88]
jbe case.0x414bd5.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414bd5.157
mov eax, 0xfffffff4
jmp 0x414ccb
mov eax, 0xfffffff2
jmp 0x414ccb
cmp eax, 0xfffffffe
jne 0x44ea73
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jb case.0x414bd5.157
cmp edi, dword [esi + 0x88]
jmp 0x44ea3d
mov dword [ebp - 0x14], eax
cmp edi, edx
jl 0x44ea9f
mov edi, eax
jmp 0x44eb04
mov eax, dword [ebp - 8]
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e4e2
add esp, 0xc
test eax, eax
js 0x44eac9
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 0x1c]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edi, dword [ebp - 0x28]
jl 0x44ea9c
jmp 0x44eaf9
cmp eax, 0xfffffffe
jne 0x44eaf6
cmp dword [esi + 0x8c], 0
je 0x44eaf6
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x44eaf6
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x14]
cmp edx, edi
jb case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, edi
jae 0x44eb04
xor eax, eax
jmp 0x414ccb
cmp ecx, 0xfffffffe
jne 0x44eb4b
mov eax, dword [esi + 0x7c]
jmp 0x44eb4e
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp eax, dword [esi + 0x7c]
jb case.0x414bd5.157
jmp 0x44ea2f
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x20]
je case.0x414bd5.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44eb8f
sub edi, 2
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44eb69
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44eca1
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x414bd5.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44ec89
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ec2f
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
cmp edx, 0xff
jbe 0x44ec42
cmp edi, 0x6e
je case.0x414bd5.157
jmp 0x44ec60
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
je case.0x414bd5.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44ebe1
jmp 0x414ccb
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp ecx, dword [esi + 0x88]
jmp 0x44ea3d
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x414bd5.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ea22
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44ecdd
cmp edi, 0x6e
je case.0x414bd5.157
jmp 0x44ecf8
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
inc dword [ebp - 0x10]
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44eca9
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x44ed8e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ed8e
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
push edx
mov edx, dword [ebp - 0x2c]
call fcn.0048e80b
add esp, 4
test eax, eax
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44ed46
jmp 0x414ccb
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp edi, dword [esi + 0x88]
jmp 0x44ea3d
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp edx, dword [esi + 0x7c]
jb case.0x414bd5.157
cmp edx, dword [esi + 0x88]
jmp 0x44ea3d
mov ecx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp ecx, dword [esi + 0x7c]
jb case.0x414bd5.157
jmp 0x44ea37
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + edx]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x414bd5.157
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44ee7d
lea eax, [edx + edx]
push eax
push dword [ebp - 0x14]
push edi
call fcn.00421eb4
add esp, 0xc
test eax, eax
jne 0x44ee7d
add edi, dword [ebp - 0x2c]
jmp 0x44eeb7
mov edx, dword [ebp - 0x28]
test edx, edx
jle 0x44ea73
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
sub eax, ecx
cmp edi, eax
ja 0x44ea73
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x68]
push eax
push edi
call fcn.00421eb4
add esp, 0xc
test eax, eax
jne 0x44ea73
mov ecx, dword [ebp - 0x28]
lea edi, [edi + ecx*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
mov ecx, dword [ebp - 0x2c]
add esp, 0x14
mov edx, dword [ebp - 0x1c]
test eax, eax
je 0x44ee4f
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
cmp dword [ebp - 0xc], ecx
je 0x44ef34
cmp dword [ebp - 0x1c], ecx
jne case.0x414bd5.157
inc eax
add edi, 2
mov dword [ebp - 0x10], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44ef0e
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0xc], eax
jne case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x10], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44ef82
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44f07d
test eax, eax
jne 0x414ccb
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f043
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0x18], ecx
je case.0x414bd5.157
cmp dword [ebp - 0x1c], ecx
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0x10], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44effe
jmp 0x414ccb
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
cmp dword [ebp - 0x18], ecx
je case.0x414bd5.157
cmp dword [ebp - 0x1c], ecx
je case.0x414bd5.157
inc eax
add edi, 2
mov dword [ebp - 0x10], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f085
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44f17c
test eax, eax
jne 0x414ccb
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f14b
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0x18], ecx
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0x10], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f106
jmp 0x414ccb
test eax, eax
jne 0x414ccb
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0xc]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x18], eax
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x10], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f184
jmp 0x414ccb
cmp ecx, 0xa
ja case.default.0x44a07e
jmp dword [ecx*4 + 0x450924]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f233
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f233
add edi, 2
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0xc], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f203
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f2d3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f2d3
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f2f5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp eax, 9
je 0x44f31a
cmp eax, 5
je 0x44f31a
cmp eax, 8
je 0x44f31a
xor eax, eax
jmp 0x44f31f
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f288
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f3c1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f3c1
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f3e3
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp dword [eax*4 + 0x4b6eb0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f376
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f4a6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f4a6
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f4c8
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f45b
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f584
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f584
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f5a6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f60]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f539
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f662
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f662
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f684
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x44f6ab
cmp eax, 3
je 0x44f6ab
xor eax, eax
jmp 0x44f6b0
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f617
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f755
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f752
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, dword [ebp - 0xc]
cmp ecx, 0x180e
ja 0x44f7a2
je 0x44f827
cmp ecx, 0x85
ja 0x44f789
je 0x44f827
cmp ecx, 9
jb case.0x44f7be.8203
cmp ecx, 0xd
jbe 0x44f827
cmp ecx, 0x20
jne case.0x44f7be.8203
jmp 0x44f827
cmp ecx, 0xa0
je 0x44f827
cmp ecx, 0x1680
jne case.0x44f7be.8203
jmp 0x44f827
cmp ecx, 0x202f
ja 0x44f7c5
je 0x44f827
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44f7be.8203
movzx eax, byte [eax + 0x450958]
jmp dword [eax*4 + 0x450950]
cmp ecx, 0x205f
je 0x44f827
cmp ecx, 0x3000
je 0x44f827
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f7f7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
cmp dword [eax*4 + 0x4b6eb0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov eax, dword [ebp - 0xc]
jmp 0x44f831
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
inc eax
mov edx, ebx
mov dword [ebp - 0xc], eax
mov ecx, edi
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f707
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
je 0x44f8d1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f8d1
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x14], ecx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2070]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44f8f7
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5570]
movzx eax, byte [eax*8 + 0x4a2f61]
mov eax, dword [eax*4 + 0x4b6eb0]
cmp eax, 1
je 0x44f923
cmp eax, 3
je 0x44f923
cmp edx, 0x5f
je 0x44f923
xor eax, eax
jmp 0x44f928
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f880
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f9ca
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f9ca
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0x4a4300]
lea eax, [eax*4 + 0x4a4300]
cmp ecx, edx
jb 0x44f9ec
lea eax, [eax + 4]
cmp ecx, edx
je 0x44fa21
mov edx, dword [eax]
cmp ecx, edx
jae 0x44f9df
cmp dword [ebp - 0x38], 0
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f97f
jmp 0x414ccb
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
jmp 0x44f9f6
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44fa9b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44fa9b
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp ecx, 0x24
je 0x44fac6
cmp ecx, 0x40
je 0x44fac6
cmp ecx, 0x60
je 0x44fac6
cmp ecx, 0xa0
jb 0x44faba
cmp ecx, 0xd7ff
jbe 0x44fac6
cmp ecx, 0xe000
jae 0x44fac6
xor eax, eax
jmp 0x44facb
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0xc], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44fa50
jmp 0x414ccb
test eax, eax
jne 0x414ccb
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44edc9
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44fb53
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44fb53
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44fb75
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx ecx, byte [eax*8 + 0x4a2f62]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44fc35
mov ebx, ecx
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
je 0x44fbd6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44fbd6
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2070]
shl eax, 7
and ecx, 0x8000007f
jns 0x44fbf8
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5570]
movzx ecx, byte [eax*8 + 0x4a2f62]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4a5530], eax
je 0x44fc2f
mov eax, dword [ebp - 0x14]
mov ebx, ecx
lea edi, [edi + eax*2]
mov eax, dword [esi + 0x7c]
cmp edi, eax
jb 0x44fb97
jmp 0x44fc32
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
je 0x44fc5e
cmp edi, eax
jb 0x44fc5e
cmp edi, dword [esi + 0x88]
jbe 0x44fc5e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44fb08
jmp 0x414ccb
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x4152f2
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x4152f2
cmp edx, 1
je case.0x414bd5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
jmp 0x4152f2
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
jmp 0x41530d
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x44a07e
jmp dword [eax*4 + 0x450984]
cmp ecx, 0xd
ja 0x44fd2f
je 0x44fd14
cmp ecx, 0xa
je case.0x44fcef.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414bd5.157
jmp 0x44fd46
cmp edi, dword [esi + 0x7c]
jae case.0x44fcef.13
cmp word [edi], 0xa
jne case.0x44fcef.13
add edi, 2
jmp case.0x44fcef.13
cmp ecx, 0x85
je 0x44fd46
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x180e
ja 0x44fd99
je case.0x414bd5.157
cmp ecx, 0xa0
ja 0x44fd88
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x1680
je case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x205f
ja 0x44fdd0
je case.0x414bd5.157
cmp ecx, 0x2000
jb case.0x44fcef.13
cmp ecx, 0x200a
jbe case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x3000
je case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x180e
ja 0x44fe25
je case.0x44fcef.13
cmp ecx, 0xa0
ja 0x44fe14
je case.0x44fcef.13
cmp ecx, 9
je case.0x44fcef.13
cmp ecx, 0x20
jne case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x205f
ja 0x44fe5c
je case.0x44fcef.13
cmp ecx, 0x2000
jb case.0x414bd5.157
cmp ecx, 0x200a
jbe case.0x44fcef.13
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x3000
jne case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x85
ja 0x44fe92
je case.0x414bd5.157
cmp ecx, 0xa
jb case.0x44fcef.13
cmp ecx, 0xd
jbe case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x2028
jb case.0x44fcef.13
cmp ecx, 0x2029
jbe case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x85
ja 0x44fece
je case.0x44fcef.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414bd5.157
jmp case.0x44fcef.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x100
jae case.0x44fcef.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x100
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x100
jae case.0x44fcef.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x100
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x100
jae case.0x44fcef.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
jmp case.0x44fcef.13
cmp ecx, 0x100
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.157
jmp case.0x44fcef.13
cmp edi, dword [esi + 0x7c]
jb case.0x44fcef.13
cmp dword [esi + 0x18], 0
jne case.0x44fcef.13
cmp dword [esi + 0x1c], 2
jne case.0x44fcef.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44fcef.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
jmp case.0x44fcef.13
test eax, eax
jne 0x414ccb
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414bd5.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44edc9
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x450053
mov edx, dword [esi + 0x18]
test edx, edx
je 0x450021
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
jmp 0x45004d
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x45004d
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x45004d
cmp edx, 1
je case.0x414bd5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xc]
movzx ecx, word [edi]
add eax, 0xfffffffa
add edi, 2
cmp eax, 0xf
ja case.default.0x44a07e
jmp dword [eax*4 + 0x4509c4]
cmp dword [esi + 0x8c], 0
je case.0x450065.13
cmp edi, dword [esi + 0x7c]
jb case.0x450065.13
cmp dword [esi + 0x18], 0
jne case.0x450065.13
cmp dword [esi + 0x1c], 2
jne case.0x450065.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x450065.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x449546
jmp case.0x450065.13
cmp ecx, 0xd
ja 0x4500f4
je 0x4500d9
cmp ecx, 0xa
je case.0x450065.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414bd5.157
jmp 0x45010b
cmp edi, dword [esi + 0x7c]
jae case.0x450065.13
cmp word [edi], 0xa
jne case.0x450065.13
add edi, 2
jmp case.0x450065.13
cmp ecx, 0x85
je 0x45010b
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x180e
ja 0x45015e
je case.0x414bd5.157
cmp ecx, 0xa0
ja 0x45014d
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x1680
je case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x205f
ja 0x450195
je case.0x414bd5.157
cmp ecx, 0x2000
jb case.0x450065.13
cmp ecx, 0x200a
jbe case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x3000
je case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x180e
ja 0x4501ea
je case.0x450065.13
cmp ecx, 0xa0
ja 0x4501d9
je case.0x450065.13
cmp ecx, 9
je case.0x450065.13
cmp ecx, 0x20
jne case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x205f
ja 0x450221
je case.0x450065.13
cmp ecx, 0x2000
jb case.0x414bd5.157
cmp ecx, 0x200a
jbe case.0x450065.13
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x3000
jne case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x85
ja 0x450257
je case.0x414bd5.157
cmp ecx, 0xa
jb case.0x450065.13
cmp ecx, 0xd
jbe case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x2028
jb case.0x450065.13
cmp ecx, 0x2029
jbe case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0x85
ja 0x450293
je case.0x450065.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414bd5.157
jmp case.0x450065.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0xff
ja case.0x450065.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0xff
ja case.0x450065.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0xff
ja case.0x450065.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
jmp case.0x450065.13
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0xc], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44ffe0
jmp 0x414ccb
mov dword [esi + 0x9c], 2
jmp 0x41519c
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x4151e5
cmp word [ebx], 0x77
je 0x45039d
cmp word [eax], 0x77
jne 0x4151e5
xor edx, edx
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
je 0x415190
mov eax, dword [esi + 0xc]
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + ebx*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x34]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x38]
mov dword [eax + ecx*4], esi
jmp 0x4151e5
cmp edx, 0xfffffc1b
jne 0x45042b
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x45041d
cmp eax, 0x77
jne 0x450414
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x450406
movzx eax, word [ebx + 2]
neg eax
lea ebx, [ebx + eax*2]
mov eax, dword [esi + 0xb8]
sub eax, ebx
neg eax
sbb eax, eax
and edx, eax
mov eax, edx
jmp 0x414ccb
lea eax, [ebx + 4]
mov dword [esi + 0xb4], eax
mov dword [ebp - 0x14], eax
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a5480]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00414b50
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x450486
cmp edi, 0xfffffc19
jne 0x450493
cmp dword [esi + 0xb0], 0
je 0x44e927
cmp edi, 0xfffffc1f
jne 0x44e930
mov edx, dword [esi + 0x80]
mov ecx, dword [ebp - 0x14]
call fcn.0048e6ed
test eax, eax
jne 0x44e930
jmp 0x4505ca
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5480]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, 0xfffffc1c
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5480]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov eax, 0xfffffc1d
jmp 0x414ccb
lea edi, [ebx + 4]
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a5480]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00414b50
add esp, 0x14
cmp eax, 1
je 0x450578
cmp eax, 0xfffffc19
jne 0x450587
cmp dword [esi + 0xb0], 0
jne 0x450587
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x414ccb
mov eax, 0xfffffc1d
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4a5480]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccb
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x414ccb
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5480]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
add esp, 0x14
jmp 0x450609
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x414ccb
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0x414ccb
lea edi, [ebx + 4]
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a5480]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00414b50
add esp, 0x14
cmp eax, 1
je 0x45066d
cmp eax, 0xfffffc19
jne 0x450609
cmp dword [esi + 0xb0], 0
jne 0x450609
jmp 0x450603
cmp edi, 0x9f
je 0x414ca9
cmp dword [esi + 0xa8], 0
jne 0x414ca9
cmp dword [esi + 0x60], 0
jne case.0x414bd5.157
cmp dword [esi + 0x64], 0
je 0x414ca9
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x414bd5.157
jmp 0x414ca9
inc dword [esi]
mov eax, 0xfffffff8
jmp 0x414ccb