Function at 0x4149c0
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 0x44812e
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 0x4500f0
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x4153fa
cmp dword [esi + 0x9c], 2
je 0x44815f
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x20], 0
cmp edi, 0xa1
ja case.0x414a45.98
movzx eax, byte [edi + 0x415550]
jmp dword [eax*4 + 0x415404]
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 0x448d84
mov ecx, 0x81
cmp ax, cx
je 0x448d84
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp eax, 0x7d
jb 0x414a93
mov dword [ebp - 0x14], 0x80
cmp ax, word [ebp - 0x14]
jbe 0x44e434
mov dword [ebp - 0x14], 0x82
cmp ax, word [ebp - 0x14]
je 0x44e434
mov dword [ebp - 0x14], 0x85
cmp ax, word [ebp - 0x14]
je 0x414e10
mov dword [ebp - 0x14], 0x8a
cmp ax, word [ebp - 0x14]
je 0x414e10
mov dword [ebp - 0x14], 0x86
cmp ax, word [ebp - 0x14]
je 0x414e10
mov dword [ebp - 0x14], 0x8b
cmp ax, word [ebp - 0x14]
je 0x414e10
cmp word [ebx], 0x78
jne 0x448df6
mov eax, 0x81
cmp word [edi], ax
je 0x44e3ff
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x4500aa
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x4153e6
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x88
jae 0x44e294
cmp edi, 0x81
je 0x44e294
cmp dword [esi + 0x70], 0
jne 0x415302
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x415302
movzx eax, word [ebx]
movzx eax, byte [eax + 0x4a5470]
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 0x414a03
jmp 0x4500f0
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], edi
cmp eax, edi
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x414bce
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x449cb4
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x414bf0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f52]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x414c8b
mov ebx, dword [ebp - 0x2c]
mov esi, eax
cmp dword [ebp - 0x24], 0
mov edi, 1
movzx ecx, word [esi]
je 0x414c31
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x449cd9
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x414c53
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x14]
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a5520], eax
jne 0x414d87
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 0x449cfd
add ebx, 2
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x414a1f
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 0x4151c2
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 0x449fc2
mov dword [ebp - 0x2c], 1
cmp eax, 1
jl 0x415221
lea ecx, [ecx]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
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 0x449f8c
cmp ecx, 0xff
ja 0x449fb4
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.0x414a45.157
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [ebp - 0x10]
jle 0x414cf0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
je 0x414c9e
test edx, edx
jne 0x44e5e5
mov ecx, eax
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x24], edx
je 0x44a095
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
jge 0x415280
jmp 0x415233
lea esi, [esi + edi*2]
mov dword [ebp - 0x14], ecx
cmp esi, ebx
jb 0x414c11
jmp 0x414c7c
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
cmp dword [ebp - 0x24], 0
je 0x44a4c6
movzx edi, word [ebx + 2]
add ebx, 2
mov eax, edi
mov edx, 1
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a413
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp edi, 0x80
jae 0x44a437
cmp ecx, 0xff
ja 0x414def
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.0x414a45.157
add ebx, 2
add dword [ebp - 8], 2
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
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 0x448d9a
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [esi + 0x94], eax
cmp edi, dword [esi + 0x14]
jge 0x448dbf
mov ecx, dword [ebp + 0xc]
cmp edi, ecx
jg 0x448dcf
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 0x414e7e
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
jmp 0x414ae8
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
je 0x414eb9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x449a7f
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x414edf
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x4a5560]
cmp eax, 9
jne 0x449aa7
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4a42f0]
lea eax, [eax*4 + 0x4a42f0]
cmp edx, ecx
jb 0x449ca6
lea eax, [eax + 4]
cmp edx, ecx
je 0x414f22
mov ecx, dword [eax]
cmp edx, ecx
jae 0x414f10
jmp 0x449ca6
cmp edi, 0x10
jne case.0x414a45.157
mov edx, dword [ebp - 8]
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
cmp dword [ebp - 0x24], 0
je 0x44a3e4
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 0x4153c7
mov eax, dword [esi + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp edi, eax
jg 0x44e813
test edi, edi
jle 0x414c9e
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.0x414a45.157
test edi, edi
jle 0x414c9e
jmp 0x414f82
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.0x414a45.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 0x415000
cmp edi, 0x88
jae 0x44fd9d
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 + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x44fdf4
cmp edx, 0xfffffc20
je 0x44fdac
test edx, edx
je 0x44fdd1
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 0x4153df
mov eax, 1
movsx edi, byte [ecx + 0x4a545c]
movsx edx, byte [ecx + 0x4a5450]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], edi
test edi, edi
jne 0x41509d
mov dword [ebp - 0x18], 0x7fffffff
movzx edi, word [ebx]
add ebx, 2
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], ebx
cmp edi, 0x10
je 0x44b27e
cmp edi, 0xf
je 0x44b275
or ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
test edx, edx
jg 0x44b29d
mov edi, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x414c9e
test eax, eax
je 0x44c81f
test ecx, ecx
jns 0x44ec02
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.004149c0
add esp, 0x14
cmp dword [ebp - 0x1c], 0x16
je 0x44f532
cmp dword [ebp - 0x24], 0
je 0x44fa0a
test eax, eax
jne 0x414b3b
lea esp, [esp]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414a45.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e7fb
cmp dword [ebp - 0x1c], 0xc
jne 0x415165
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f6bb
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne case.0x414a45.157
mov edx, dword [ebp - 0xc]
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44f6f4
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x44f715
cmp dword [esi + 0x8c], 0
jne 0x44f9c8
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
jmp 0x415120
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x4151d5
movzx eax, byte [eax + 0x4155fc]
jmp dword [eax*4 + 0x4155f4]
lea eax, [edx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jb 0x415379
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], 1
movsx ecx, byte [eax + 0x4a5450]
mov dword [ebp - 0x10], ecx
movsx ecx, byte [eax + 0x4a545c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0x414cd3
mov ecx, 0x7fffffff
jmp 0x414cd0
mov eax, dword [ebp - 8]
jmp 0x414d57
mov eax, dword [ebp - 8]
mov ecx, 1
mov dword [ebp - 0x14], ecx
cmp eax, dword [esi + 0x7c]
jae 0x44a068
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a030
cmp edx, 0xff
ja 0x44a05a
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 0x415384
cmp dword [ebp - 0x34], 0
jne 0x414c9e
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
jmp 0x44e59b
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0x414a45.119
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
jmp 0x448a75
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 + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x44e2a3
test edx, edx
jne 0x44fe1e
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.0x414a45.157
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x94], eax
jmp case.0x414a45.129
test al, 1
jne 0x4153bd
xor edx, edx
jmp 0x4151f8
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 0x415230
jmp 0x415280
add ebx, 2
jmp 0x448ace
mov eax, dword [ebp - 8]
jmp 0x448e1a
mov edi, dword [ebp - 0x24]
jmp 0x449427
mov edx, 1
jmp 0x4151f8
mov edi, 2
jmp 0x414f68
xor ecx, ecx
jmp 0x44a559
xor ecx, ecx
jmp 0x44abff
xor eax, eax
jmp 0x41507b
mov eax, 0xfffffc19
jmp 0x414b3b
mov eax, 0xfffffffb
jmp 0x414b3b
mov eax, 0xffffffeb
jmp 0x414b3b
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x448150
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.004149c0
add esp, 0x14
jmp 0x414b3b
sub ecx, eax
test ecx, ecx
jle 0x448158
neg ecx
mov eax, ecx
jmp 0x414b3b
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 0x414c9e
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x44e2cf
movzx eax, word [ebx]
movzx ecx, byte [eax + 0x4a5470]
movzx eax, word [ebx + 2]
add ecx, eax
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
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.004149c0
add esp, 0x14
cmp eax, 1
je 0x448227
cmp eax, 0xfffffc20
jne 0x448207
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0x414b3b
cmp word [ebx], 0x77
je 0x44820f
cmp word [ecx], 0x77
jne 0x414b3b
jmp 0x44820f
test eax, eax
jne 0x414b3b
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x4481b9
mov ecx, dword [ebp + 8]
jmp 0x448230
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x448246
cmp eax, 0x77
jne case.0x414a45.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448246
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 0x4487f1
cmp eax, dword [ebp - 0x2c]
jne 0x44e052
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414c9e
mov dword [ebp - 0x28], 0
jmp 0x448b09
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x28], eax
cmp word [ebx], 0x76
jne 0x44836e
cmp dword [0x4c6524], 0
je 0x448365
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 0x44832f
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.0x414a45.157
js 0x414b3b
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.0x448387
jmp dword [eax*4 + 0x4500fe]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x44851b
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x44842b
cmp eax, dword [ecx + 4]
je 0x44842b
xor ecx, ecx
jmp case.0x448387.145
cmp dword [esi + 0xa8], ecx
je case.0x448387.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 0x44851b
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 0x44842b
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 0x4483f3
jmp 0x44851b
movzx ecx, word [ebx + 2]
add ecx, ecx
cmp ecx, dword [ebp + 0xc]
jge 0x4483b0
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x4483b0
mov ecx, 1
jmp 0x4484fd
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 0x44851b
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 0x448470
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x44842b
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 0x448459
jmp 0x44851b
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.004149c0
add esp, 0x14
cmp eax, 1
jne 0x448509
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x4484c0
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 0x4484e3
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x4484d5
mov eax, dword [ebp - 0x34]
mov ecx, 2
movzx eax, byte [eax + 0x4a5470]
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 + 0x4a5470]
jmp 0x448521
test eax, eax
je 0x448518
cmp eax, 0xfffffc20
jne 0x414b3b
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 0x448536
cmp word [ebx - 4], 0x77
jne 0x414a1f
cmp edi, 0x8c
jne 0x414b86
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.004149c0
add esp, 0x14
jmp 0x414b3b
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 0x44859c
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x4485c8
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 0x4485c8
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x14], eax
jne 0x4485f6
mov edi, 1
mov dword [esi + 0x9c], 0
jmp 0x4485f8
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.004149c0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x448671
cmp ecx, 0xfffffc19
je 0x448671
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x448659
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448158
cmp word [ebx], 0x77
je 0x448661
cmp word [eax], 0x77
jne 0x448158
jmp 0x448661
test ecx, ecx
jne 0x448158
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4485f8
jmp 0x44867a
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x414a45.157
test edi, edi
jne 0x414b36
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44868c
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0x414c9e
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x4486d0
mov dword [ebp - 0x14], 1
mov dword [esi + 0x9c], 0
jmp 0x4486d7
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.004149c0
mov ecx, eax
mov dword [esi + 0xb0], edi
add esp, 0x14
cmp ecx, 0xfffffc20
jg 0x448730
jne 0x448743
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44875e
cmp word [ebx], 0x77
je 0x448720
cmp word [eax], 0x77
jne 0x44875e
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4486d7
jmp 0x44876c
mov eax, ecx
sub eax, 0
je 0x448720
dec eax
je case.0x414a45.157
jmp 0x448158
cmp ecx, 0xfffffc19
je case.0x414a45.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x448158
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44875e
cmp dword [ebp - 0x14], 0
jne 0x414b36
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414c9e
cmp dword [ebp - 0x24], 0
je 0x4487c6
movzx ecx, word [ebx + 2]
test ecx, ecx
jle 0x4487e0
mov eax, dword [ebp - 8]
dec ecx
sub eax, 2
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0x414a45.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x4487c0
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x44878f
jmp 0x4487e3
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.0x414a45.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x4487f1
mov dword [esi + 0x88], eax
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414c9e
cmp dword [0x4c6524], 0
je 0x4488cf
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 0x448896
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.0x414a45.157
js 0x414b3b
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp - 0x14], edi
cmp edi, ecx
jne 0x4488ef
xor edx, edx
jmp 0x4488f3
movzx edx, word [edi + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x44891a
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x448914
cmp eax, dword [ecx + 0x14]
jne 0x448914
mov eax, 0xffffffe6
jmp 0x414b3b
mov ecx, dword [ecx]
test ecx, ecx
jne 0x448900
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 0x44895a
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x4c], eax
jmp 0x448979
lea eax, [ecx*4]
push eax
call dword [0x4a546c]
add esp, 4
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x44e369
mov ecx, dword [ebp - 0x48]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.00420fc0
mov eax, 0x88
add esp, 0xc
cmp word [edi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x4489a5
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 + 0x4a5470]
push dword [ebp + 8]
lea edx, [edi + eax*2]
call fcn.004149c0
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.00420fc0
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 0x448a47
cmp edi, 0xfffffc19
je 0x448a47
cmp edi, 0xfffffc1c
jl 0x448a16
cmp edi, 0xfffffc20
jle case.0x414a45.157
test edi, edi
jne 0x44e340
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 0x44e317
mov eax, dword [ebp - 0x2c]
jmp 0x448997
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x448a5e
push eax
call dword [0x4a5468]
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x414c9e
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448a75
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414c9e
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 0x448a96
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
jmp 0x414c9e
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448ace
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x28], 1
cmp edi, 0x86
je 0x448b09
cmp edi, 0x8b
jne 0x448c8a
movzx edx, word [ebx + 4]
mov dword [ebp - 0x2c], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge case.0x414a45.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 0x448b7c
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 + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x448be7
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 0x448b56
cmp ecx, 0xfffffc20
jne 0x448c14
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448158
cmp word [ebx], 0x77
je 0x448c1c
cmp word [eax], 0x77
jne 0x448158
jmp 0x448c1c
test ecx, ecx
jne 0x448158
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 0x448b56
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x448c66
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 0x4487f1
test eax, eax
je case.0x414a45.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414c9e
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 0x448cb6
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 + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x448d14
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 0x448ca4
cmp ecx, 0xfffffc20
jne 0x448d41
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448158
cmp word [ebx], 0x77
je 0x448d49
cmp word [eax], 0x77
jne 0x448158
jmp 0x448d49
test ecx, ecx
jne 0x448158
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x448d65
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp 0x448ca4
cmp dword [ebp - 0x14], 0
jne 0x4487f1
cmp dword [ebp - 0x28], 0
je case.0x414a45.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414c9e
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 0x414a7a
cmp dword [eax + 4], ecx
jne 0x414e2b
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0x414b3b
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x414e7e
mov eax, dword [esi + 0xc]
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0x414e52
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 0x414e52
mov eax, dword [ebp - 8]
cmp eax, ecx
jne 0x44e09c
mov edx, eax
jmp 0x414af2
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x448e1a
cmp eax, dword [esi + 0x78]
je case.0x414a45.157
cmp eax, dword [esi + 0x78]
jne case.0x414a45.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414c9e
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x448e40
cmp eax, dword [esi + 0x78]
je case.0x414a45.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x414c98
cmp eax, dword [esi + 0x7c]
je case.0x414a45.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x448e83
cmp eax, ecx
jbe case.0x414a45.157
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0048e77e
add esp, 0xc
test eax, eax
je case.0x414a45.157
jmp 0x414c98
mov eax, dword [esi + 0x1c]
lea edi, [eax + eax]
lea eax, [edi + ecx]
cmp dword [ebp - 8], eax
jb case.0x414a45.157
mov ecx, dword [ebp - 8]
sub ecx, edi
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0x414a45.157
cmp dword [esi + 0x1c], 1
je 0x414c98
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x414a45.157
jmp 0x414c98
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp edx, eax
jne case.0x414a45.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x414c9e
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x448fb9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x448f82
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne 0x414c98
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0x414a45.157
cmp dword [esi + 0x18], 0
jne case.0x414a45.157
cmp dword [esi + 0x1c], 2
jne case.0x414a45.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0x414a45.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414a45.157
mov eax, 0xfffffff4
jmp 0x414b3b
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x448f27
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x448f24
cmp edx, 1
je 0x414c98
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x448f24
jmp 0x414c98
cmp dword [esi + 0x4c], 0
jne case.0x414a45.157
cmp dword [esi + 0x8c], 0
je 0x414c98
cmp eax, dword [esi + 0x88]
jbe 0x414c98
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414c9e
cmp dword [esi + 0x4c], 0
jne case.0x414a45.157
cmp dword [esi + 0x5c], 0
je case.0x414a45.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0x414a45.157
jmp 0x448fc3
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x448fc3
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x449041
push dword [ebp - 0x24]
push edi
push ecx
mov ecx, eax
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne 0x449076
jmp 0x448f24
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x448f27
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x448f24
cmp edx, 1
je 0x449076
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x448f24
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 0x448f27
jmp 0x448fc3
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 8]
je 0x449242
cmp eax, dword [esi + 0x78]
je 0x44917a
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4490c1
sub edx, 2
cmp edx, dword [esi + 0x88]
jae 0x4490cf
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4490fa
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 0x44915c
cmp ecx, 0x5f
jne 0x44910d
mov eax, dword [ebp - 8]
lea edi, [ecx - 0x5e]
jmp 0x44917c
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44912f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x449152
cmp eax, 3
jne 0x449177
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44917c
cmp ecx, 0x100
jae 0x449177
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x449177
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44917c
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x4491e4
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4491af
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 0x44922b
cmp ecx, 0x5f
je 0x44936c
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
js 0x449318
jmp 0x44931d
cmp dword [esi + 0x8c], 0
je 0x449209
cmp eax, dword [esi + 0x88]
jbe 0x449209
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
xor ecx, ecx
mov ax, word [ebx]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp ax, 5
jne 0x449376
cmp ecx, edi
je case.0x414a45.157
jmp 0x414c9e
cmp ecx, 0x100
jae 0x449209
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44936c
jmp 0x449209
cmp eax, dword [esi + 0x78]
je 0x4492e2
cmp eax, dword [esi + 0x88]
ja 0x44925f
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0x4492c2
cmp ecx, 0x5f
jne 0x449273
lea edi, [ecx - 0x5e]
jmp 0x4492e4
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x449295
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x4492b8
cmp eax, 3
jne 0x4492df
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x4492e4
mov edx, 0xff
cmp cx, dx
ja 0x4492e2
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4492df
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x4492e4
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x4491e4
cmp dword [esi + 0x58], 0
je 0x44934c
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x44936c
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44931d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44936c
cmp eax, 3
jne 0x449209
lea ecx, [eax - 2]
jmp 0x44920b
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x449209
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x449209
mov ecx, 1
jmp 0x44920b
cmp ecx, edi
jne case.0x414a45.157
jmp 0x414c9e
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x4493b2
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x24]
cmp eax, ecx
jae 0x4493ea
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne case.0x414a45.157
jmp 0x4493e7
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4493e4
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4493e4
cmp edx, 1
je case.0x414a45.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0x414a45.157
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x44942a
add eax, 2
cmp eax, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
jb 0x44942a
cmp dword [esi + 0x18], 0
jne 0x44942a
cmp dword [esi + 0x1c], 2
jne 0x44942a
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x449427
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x44e454
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0x414c98
cmp eax, ecx
jae 0x414c98
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x414c98
add dword [ebp - 8], 2
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4494cd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4494cd
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 0x414c98
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414a45.157
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449534
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449534
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.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414a45.157
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44959b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44959b
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 0x414c98
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414a45.157
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449602
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449602
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.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414a45.157
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449669
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449669
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 0x414c98
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414a45.157
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4496d0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4496d0
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.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414a45.157
jmp 0x414c98
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44973c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44973c
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 0x4497a8
je 0x44975d
cmp ecx, 0xa
je 0x414c98
jbe case.0x414a45.157
cmp ecx, 0xc
ja case.0x414a45.157
jmp 0x4497bf
cmp eax, edx
jb 0x449793
cmp dword [esi + 0x8c], 0
je 0x414c98
cmp eax, dword [esi + 0x88]
jbe 0x414c98
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
jmp 0x414c98
cmp word [eax], 0xa
jne 0x414c98
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414c98
cmp ecx, 0x85
je 0x4497bf
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
cmp dword [esi + 0x6c], 0
jne case.0x414a45.157
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449817
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449817
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 0x44985b
je case.0x414a45.157
cmp ecx, 0xa0
ja 0x44984a
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp 0x414c98
cmp ecx, 0x1680
je case.0x414a45.157
jmp 0x414c98
cmp ecx, 0x205f
ja 0x449892
je case.0x414a45.157
cmp ecx, 0x2000
jb 0x414c98
cmp ecx, 0x200a
jbe case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp 0x414c98
cmp ecx, 0x3000
je case.0x414a45.157
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4498ec
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4498ec
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 0x449930
je 0x414c98
cmp ecx, 0xa0
ja 0x44991f
je 0x414c98
cmp ecx, 9
je 0x414c98
cmp ecx, 0x20
jne case.0x414a45.157
jmp 0x414c98
cmp ecx, 0x1680
jne case.0x414a45.157
jmp 0x414c98
cmp ecx, 0x205f
ja 0x449967
je 0x414c98
cmp ecx, 0x2000
jb case.0x414a45.157
cmp ecx, 0x200a
jbe 0x414c98
cmp ecx, 0x202f
jne case.0x414a45.157
jmp 0x414c98
cmp ecx, 0x3000
jne case.0x414a45.157
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4499c1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4499c1
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 0x4499e6
je case.0x414a45.157
cmp ecx, 0xa
jb 0x414c98
cmp ecx, 0xd
jbe case.0x414a45.157
jmp 0x414c98
cmp ecx, 0x2028
jb 0x414c98
cmp ecx, 0x2029
jbe case.0x414a45.157
jmp 0x414c98
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449a4c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449a4c
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 0x449a6b
je 0x414c98
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414a45.157
jmp 0x414c98
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
jmp 0x414c98
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 0x414eb9
cmp eax, 0xa
ja case.default.0x449ab0
jmp dword [eax*4 + 0x450112]
mov al, byte [ecx*8 + 0x4a2f51]
cmp al, 9
je 0x449adc
cmp al, 5
je 0x449adc
cmp al, 8
je 0x449adc
xor ecx, ecx
jmp 0x449af8
cmp edi, 0xf
je case.0x414a45.157
jmp 0x414f2b
mov ecx, 1
jmp 0x449af8
movzx eax, byte [ecx*8 + 0x4a2f51]
xor ecx, ecx
cmp dword [eax*4 + 0x4b6ea0], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x414a45.157
jmp 0x414f2b
movzx ecx, byte [ecx*8 + 0x4a2f51]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x4b6ea0]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0x414a45.157
jmp 0x414f2b
movzx eax, byte [ecx*8 + 0x4a2f51]
jmp 0x449b4c
movzx eax, byte [ecx*8 + 0x4a2f50]
xor ecx, ecx
cmp word [ebx + 4], ax
setne cl
xor eax, eax
cmp edi, 0x10
sete al
cmp ecx, eax
je case.0x414a45.157
jmp 0x414f2b
movzx eax, byte [ecx*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x449adc
cmp eax, 3
je 0x449adc
xor ecx, ecx
jmp 0x449af8
cmp edx, 0x180e
ja 0x449beb
je case.0x449ab0.0
cmp edx, 0x85
ja 0x449bce
je case.0x449ab0.0
cmp edx, 9
jb case.0x449c0f.8203
cmp edx, 0xd
jbe case.0x449ab0.0
cmp edx, 0x20
je case.0x449ab0.0
jmp case.0x449c0f.8203
cmp edx, 0xa0
je case.0x449ab0.0
cmp edx, 0x1680
je case.0x449ab0.0
jmp case.0x449c0f.8203
cmp edx, 0x202f
ja 0x449c16
je case.0x449ab0.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x449c0f.8203
movzx eax, byte [edx + 0x450146]
jmp dword [eax*4 + 0x45013e]
cmp edx, 0x205f
je case.0x449ab0.0
cmp edx, 0x3000
je case.0x449ab0.0
jmp case.0x449c0f.8203
movzx eax, byte [ecx*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x449adc
cmp eax, 3
je 0x449adc
cmp edx, 0x5f
je 0x449adc
xor ecx, ecx
jmp 0x449af8
cmp edx, 0x24
je 0x449adc
cmp edx, 0x40
je 0x449adc
cmp edx, 0x60
je 0x449adc
cmp edx, 0xa0
jb 0x449c93
cmp edx, 0xd7ff
jbe 0x449adc
cmp edx, 0xe000
jae 0x449adc
xor ecx, ecx
jmp 0x449af8
cmp edi, 0x10
je case.0x414a45.157
jmp 0x414f2b
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 0x414bce
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
jmp 0x414c31
cmp eax, edi
jb 0x414c98
jmp 0x448fd0
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 0x449dc8
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 0x449d72
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x449d72
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x449dc5
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 0x449d4c
jmp 0x449dc8
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 0x449dbb
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x449dbb
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x449dc5
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.0x449de1
movzx eax, byte [eax + 0x45017a]
jmp dword [eax*4 + 0x450172]
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 + 0x4a5450]
movsx eax, byte [eax + 0x4a545c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x449e49
mov dword [ebp - 0x28], 0x7fffffff
jmp 0x449e49
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 0x449e43
mov dword [ebp - 0x28], 0x7fffffff
add ebx, 6
mov dword [ebp - 0x30], ebx
test ecx, ecx
je 0x414a1f
jns 0x449e5b
test edi, edi
je 0x414a1f
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0x449e9d
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e50e
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44e573
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 0x449e6a
mov edx, dword [ebp - 0x28]
cmp edi, edx
je 0x414c9e
cmp dword [ebp - 0x20], 0
je 0x44e4c3
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], eax
jge case.0x414a45.157
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov edx, edi
push esi
push dword [ebp - 0x1c]
call fcn.0048e50e
add esp, 0xc
test eax, eax
js 0x44e49d
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.004149c0
add esp, 0x14
test eax, eax
je 0x449ed8
jmp 0x414b3b
push dword [ebp - 0x34]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.0048e50e
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44e573
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x414c9e
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 0x449f81
mov ecx, 0x7fffffff
mov dword [ebp - 0x1c], ecx
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x414cd3
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 0x414d1a
cmp edi, 0x6e
je case.0x414a45.157
jmp 0x414d45
cmp eax, 1
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 8]
jl 0x414d57
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x449ffd
cmp edi, 0x6e
je case.0x414a45.157
jmp 0x44a01f
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.0x414a45.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x10]
jle 0x449fd5
jmp 0x414d54
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 0x415259
cmp edi, 0x6e
je 0x415280
jmp 0x415387
cmp dword [esi + 0x8c], 0
je 0x415280
cmp eax, dword [esi + 0x88]
jbe 0x415280
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jg 0x448f78
jmp 0x415280
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], edx
jge 0x44a10d
mov ecx, dword [ebp - 0x10]
cmp eax, dword [esi + 0x7c]
jae 0x44a0e5
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x44a0b7
cmp edi, 0x6e
jne 0x44a0d4
jmp 0x44a10a
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 0x44a10a
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 0x44a0a0
jmp 0x44a10a
cmp dword [esi + 0x8c], 0
je 0x44a10a
cmp eax, dword [esi + 0x88]
jbe 0x44a10a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov ecx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp eax, ecx
jb case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
sub edi, 2
cmp edi, dword [ebp - 0x20]
jae 0x44a122
jmp 0x414b3b
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.0x44a17e
movzx eax, byte [eax + 0x45018a]
jmp dword [eax*4 + 0x450182]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x44a1a1
mov ecx, dword [ebp - 0x34]
movzx eax, al
and eax, 1
mov dword [ebp - 0x20], eax
jmp 0x44a1ac
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 + 0x4a53fa]
movsx edi, byte [edi + 0x4a53ee]
test esi, esi
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x10], edi
jne 0x44a228
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1c], 0x7fffffff
jmp 0x44a228
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 0x44a20b
mov dword [ebp - 0x1c], 0x7fffffff
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x44a228
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 0x44a2a6
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x24]
mov dword [ebp - 8], eax
test edx, edx
je 0x44a27e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a27e
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.0048e837
add esp, 4
test eax, eax
je case.0x414a45.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, edi
jle 0x44a234
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
cmp edi, dword [ebp - 0x1c]
je 0x414a1f
test eax, eax
jne 0x44e752
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
cmp edi, dword [ebp - 0x1c]
jl 0x44a2cc
mov edi, eax
jmp 0x44a369
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp eax, dword [esi + 0x7c]
jae 0x44a33e
mov edx, dword [ebp - 0x24]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
test edx, edx
je 0x44a314
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a314
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.0048e837
add esp, 4
test eax, eax
je 0x44a366
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 0x44a2c9
jmp 0x44a363
cmp dword [esi + 0x8c], 0
je 0x44a363
cmp eax, dword [esi + 0x88]
jbe 0x44a363
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x414c9e
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x28]
je case.0x414a45.157
cmp dword [ebp - 0x24], 0
je 0x44a3c0
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44a3c0
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.004149c0
add esp, 0x14
test eax, eax
je 0x44a394
jmp 0x414b3b
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x44e6bb
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0x414a45.157
add ebx, 4
jmp 0x414c9b
movzx eax, word [ebx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov edx, 2
add edi, 0x10000
jmp 0x414dce
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a471
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 0x414a1f
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44a4a5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edi
cmp dword [ebp - 0x14], eax
jne case.0x414a45.157
jmp 0x414c9e
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0x44a4e0
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x44a4e2
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0x44a4f9
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x414a45.157
add eax, 2
add ebx, 4
mov dword [ebp - 8], eax
jmp 0x414c9b
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 0x44a5ba
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 0x44a547
cmp ecx, 0x35
je 0x44a547
xor edx, edx
jmp 0x44a54c
mov edx, 1
mov dword [ebp - 0x20], edx
add ebx, 4
jmp 0x44a5b7
mov ecx, 1
mov dword [ebp - 0x18], 0x7fffffff
jmp 0x44a56b
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 0x44a5ba
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 + 0x4a5450]
mov dword [ebp - 0x10], eax
movsx eax, byte [ecx + 0x4a545c]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x44a5b7
mov dword [ebp - 0x18], 0x7fffffff
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x24], 0
movzx eax, word [ebx]
mov dword [ebp - 0xc], eax
je 0x44a827
and eax, 0xfc00
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], ebx
cmp eax, 0xd800
jne 0x44a606
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 0x44a82d
cmp edi, 0x2e
jb 0x44a67b
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44a64c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov ecx, dword [eax*8 + 0x4a2f54]
add ecx, edx
cmp ecx, edx
je 0x44a675
lea edx, [ebp - 0x68]
call fcn.0048ec7b
mov edx, dword [ebp - 0x20]
mov edi, eax
mov ecx, dword [ebp - 0x10]
jmp 0x44a67d
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 0x44a691
mov eax, dword [ebp - 8]
jmp 0x44a70d
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44a6c2
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00421604
add esp, 0xc
test eax, eax
jne 0x44a6bf
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
jmp 0x44a6fc
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44e837
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44e837
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00421604
add esp, 0xc
test eax, eax
jne 0x44e834
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 0x44a691
mov edx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x18]
je 0x414c9e
test edx, edx
jne 0x44e852
mov edx, eax
mov dword [ebp - 0x28], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44a7c3
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44a757
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00421604
add esp, 0xc
test eax, eax
jne 0x44a754
mov eax, dword [ebp - 0x2c]
jmp 0x44a77f
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44a790
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44a790
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00421604
add esp, 0xc
test eax, eax
jne 0x44a790
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 0x44a72c
jmp 0x44a7bd
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x44a7c0
cmp eax, dword [esi + 0x7c]
jb 0x44a7bd
cmp eax, dword [esi + 0x88]
jbe 0x44a7bd
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp eax, edx
je 0x414b83
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
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 0x44a81d
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x28]
jne 0x44a7d8
jmp 0x414b83
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp edi, 0x2e
jb 0x44a980
cmp dword [ebp - 0x24], 0
je 0x44a880
cmp eax, 0x7f
jbe 0x44a880
mov edi, dword [ebp - 0xc]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44a865
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x20]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edi
jmp 0x44a891
mov edi, dword [ebp - 0xc]
cmp eax, 0xff
ja 0x44a891
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 0x44a8d6
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx esi, word [eax]
mov dword [ebp - 0x14], esi
cmp edi, esi
mov esi, dword [ebp + 0x10]
je 0x44a8c8
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
jne case.0x414a45.157
inc dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x2c], ecx
jle 0x44a8a3
cmp ecx, dword [ebp - 0x18]
je 0x414c9e
test edx, edx
jne 0x44e91a
mov edx, eax
mov dword [ebp - 0x28], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44a938
cmp eax, dword [esi + 0x7c]
jae 0x44a910
movzx edx, word [eax]
cmp edi, edx
je 0x44a902
cmp dword [ebp - 0x1c], edx
jne 0x44a935
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x18]
jl 0x44a8f1
jmp 0x44a935
cmp dword [esi + 0x8c], 0
je 0x44a935
cmp eax, dword [esi + 0x88]
jbe 0x44a935
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp eax, edx
je 0x414b83
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.004149c0
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x414b3b
cmp edi, dword [ebp - 0x28]
jne 0x44a94d
jmp 0x414b83
mov dword [ebp - 0x14], 1
cmp ecx, 1
jge 0x44a991
mov edi, dword [ebp - 8]
jmp 0x44a9bd
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
mov edi, dword [ebp - 8]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0xc], eax
jne case.0x414a45.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, ecx
jle 0x44a991
cmp ecx, dword [ebp - 0x18]
je 0x414c9e
test edx, edx
jne 0x44e991
mov eax, dword [ebp - 8]
mov edx, eax
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
cmp ecx, edi
jge 0x44a9fe
mov edx, dword [ebp - 0xc]
cmp eax, dword [esi + 0x7c]
jae 0x44aa46
movzx eax, word [eax]
cmp edx, eax
jne 0x44a9f8
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, edi
jl 0x44a9e0
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp eax, edx
je 0x414b83
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.004149c0
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x414b3b
cmp edi, dword [ebp - 0x28]
jne 0x44aa13
jmp 0x414b83
cmp dword [esi + 0x8c], 0
je 0x44a9fb
cmp eax, dword [esi + 0x88]
jbe 0x44a9fb
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
jmp 0x44a9fb
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
cmp dword [ebp - 0x24], 0
je 0x44ab7d
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 0x44aac0
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 0x44ab00
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 0x44ab12
cmp edx, ecx
je case.0x414a45.157
jmp 0x414c9e
cmp edx, 0x7f
jbe 0x44ab55
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44ab3d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edx
jmp 0x44ab68
cmp edx, 0xff
ja 0x44ab66
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edx]
jmp 0x44ab68
mov eax, edx
cmp edx, ecx
je case.0x414a45.157
cmp eax, ecx
je case.0x414a45.157
jmp 0x414c9e
movzx edx, word [eax]
add eax, 2
movzx ecx, word [ebx + 2]
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x414a45.157
cmp edi, 0x20
jne 0x4487f1
cmp ecx, 0xff
ja 0x44abaa
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x414a45.157
add ebx, 4
jmp 0x414c9b
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 0x44ac6e
movzx eax, word [ebx + 2]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
cmp ecx, 0x42
je 0x44abed
cmp ecx, 0x4f
je 0x44abed
xor edx, edx
jmp 0x44abf2
mov edx, 1
mov dword [ebp - 0x20], edx
add ebx, 4
jmp 0x44ac6b
mov ecx, 1
mov dword [ebp - 0xc], 0x7fffffff
jmp 0x44ac11
xor ecx, ecx
mov dword [ebp - 0xc], 1
add ebx, 2
jmp 0x44ac22
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 0x44ac6e
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 + 0x4a5450]
mov dword [ebp - 0x10], eax
movsx eax, byte [ecx + 0x4a545c]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x44ac6b
mov dword [ebp - 0xc], 0x7fffffff
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 0x44acb5
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44acb2
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 0x44acb5
mov eax, dword [ebp - 0x18]
cmp edi, 0x48
jb 0x44af7f
cmp dword [ebp - 0x24], 0
je 0x44ad08
cmp eax, 0x7f
jbe 0x44ad08
mov edi, dword [ebp - 0x18]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44aced
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x20]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edi
jmp 0x44ad19
mov edi, dword [ebp - 0x18]
cmp eax, 0xff
ja 0x44ad19
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 0x44ad9d
cmp ecx, 1
jge 0x44ad36
mov eax, dword [ebp - 8]
jmp 0x44add7
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
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 0x44ad7e
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.0x414a45.157
cmp dword [ebp - 0x1c], edi
je case.0x414a45.157
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, ecx
jle 0x44ad36
jmp 0x44add4
mov eax, dword [ebp - 8]
cmp ecx, 1
jl 0x44add7
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx edi, word [eax]
cmp dword [ebp - 0x18], edi
je case.0x414a45.157
cmp dword [ebp - 0x1c], edi
je case.0x414a45.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 0x44ada5
mov edi, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0xc]
je 0x414c9e
test edx, edx
jne 0x44ea00
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x20], edx
je 0x44aeeb
cmp ecx, dword [ebp - 0xc]
jge 0x44ae62
mov edi, 1
cmp eax, dword [esi + 0x7c]
jae 0x44aec6
movzx edx, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ae3d
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 0x44ae5c
cmp dword [ebp - 0x1c], edx
je 0x44ae5c
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 0x44adfc
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp eax, edx
je 0x414b83
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
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 0x44aebc
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
jne 0x44ae77
jmp 0x414b83
cmp dword [esi + 0x8c], 0
je 0x44ae5f
cmp eax, dword [esi + 0x88]
jbe 0x44ae5f
mov dword [esi + 0x68], edi
cmp dword [esi + 0x8c], edi
jg 0x448f78
jmp 0x44ae5f
cmp ecx, dword [ebp - 0xc]
jge 0x44af37
cmp eax, dword [esi + 0x7c]
jae 0x44af0f
movzx edx, word [eax]
cmp edi, edx
je 0x44af34
cmp dword [ebp - 0x1c], edx
je 0x44af34
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0xc]
jl 0x44aef0
jmp 0x44af34
cmp dword [esi + 0x8c], 0
je 0x44af34
cmp eax, dword [esi + 0x88]
jbe 0x44af34
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp eax, edx
je 0x414b83
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
jne 0x44af4c
jmp 0x414b83
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], 1
je 0x44aff3
cmp ecx, 1
jl 0x44b027
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
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 0x44afdd
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.0x414a45.157
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, ecx
jle 0x44af95
jmp 0x44b02a
cmp ecx, 1
jl 0x44b027
mov ecx, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
cmp ecx, dword [esi + 0x7c]
jae 0x44e6bb
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x18], eax
je case.0x414a45.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, edi
jle 0x44affe
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
cmp ecx, edi
je 0x414c9e
test edx, edx
jne 0x44eb0c
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x1c], edx
je 0x44b139
cmp ecx, edi
jge 0x44b0b0
mov edi, 1
cmp eax, dword [esi + 0x7c]
jae 0x44b114
movzx edx, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b091
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 0x44b0aa
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 0x44b050
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp eax, edx
je 0x414b83
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
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 0x44b10a
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
jne 0x44b0c5
jmp 0x414b83
cmp dword [esi + 0x8c], 0
je 0x44b0ad
cmp eax, dword [esi + 0x88]
jbe 0x44b0ad
mov dword [esi + 0x68], edi
cmp dword [esi + 0x8c], edi
jg 0x448f78
jmp 0x44b0ad
cmp ecx, edi
jge 0x44b15e
mov edx, dword [ebp - 0x18]
cmp eax, dword [esi + 0x7c]
jae 0x44b1a6
movzx eax, word [eax]
cmp edx, eax
je 0x44b158
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, edi
jl 0x44b140
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp eax, edx
je 0x414b83
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
jne 0x44b173
jmp 0x414b83
cmp dword [esi + 0x8c], 0
je 0x44b15b
cmp eax, dword [esi + 0x88]
jbe 0x44b15b
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
jmp 0x44b15b
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 0x41509d
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 0x41509d
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x415096
mov eax, dword [ebp - 0x20]
mov edx, 1
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x415096
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 0x41509d
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 0x41509d
mov dword [ebp - 0x38], 1
jmp 0x44b285
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 0x4150be
test ecx, ecx
js 0x44ba3a
cmp ecx, 0xa
ja case.default.0x449ab0
jmp dword [ecx*4 + 0x450196]
cmp dword [ebp - 0x38], 0
jne case.0x414a45.157
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c817
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b2fc
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x44b2fc
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44b2d0
jmp 0x44ba2f
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b35f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b35f
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b381
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, 9
je 0x44b3a6
cmp eax, 5
je 0x44b3a6
cmp eax, 8
je 0x44b3a6
xor eax, eax
jmp 0x44b3ab
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b31a
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b426
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b426
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b448
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b3e1
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b4e4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b4e4
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b506
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b49f
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b59b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b59b
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b5bd
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f50]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b556
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b652
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b652
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b674
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44b69b
cmp eax, 3
je 0x44b69b
xor eax, eax
jmp 0x44b6a0
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b60d
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
mov eax, dword [ebp - 0x24]
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
test eax, eax
je 0x44b71f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b71c
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 0x44b76c
je 0x44b7f4
cmp ecx, 0x85
ja 0x44b753
je 0x44b7f4
cmp ecx, 9
jb case.0x44b788.8203
cmp ecx, 0xd
jbe 0x44b7f4
cmp ecx, 0x20
jne case.0x44b788.8203
jmp 0x44b7f4
cmp ecx, 0xa0
je 0x44b7f4
cmp ecx, 0x1680
jne case.0x44b788.8203
jmp 0x44b7f4
cmp ecx, 0x202f
ja 0x44b78f
je 0x44b7f4
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44b788.8203
movzx eax, byte [eax + 0x4501ca]
jmp dword [eax*4 + 0x4501c2]
cmp ecx, 0x205f
je 0x44b7f4
cmp ecx, 0x3000
je 0x44b7f4
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b7c1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.157
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
jmp 0x44b7fe
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x38], 0
jne case.0x414a45.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b6d9
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edi
je 0x44b873
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b873
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 + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44b899
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44b8c5
cmp eax, 3
je 0x44b8c5
cmp edx, 0x5f
je 0x44b8c5
xor eax, eax
jmp 0x44b8ca
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.157
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, edx
jle 0x44b828
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b945
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b945
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 + 0x4a42f0]
lea eax, [eax*4 + 0x4a42f0]
cmp ecx, edx
jb 0x44b967
lea eax, [eax + 4]
cmp ecx, edx
je 0x44b987
mov edx, dword [eax]
cmp ecx, edx
jae 0x44b95a
cmp dword [ebp - 0x38], 0
je case.0x414a45.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b900
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
cmp dword [ebp - 0x38], 0
jne case.0x414a45.157
jmp 0x44b971
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c817
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b9e9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b9e9
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 0x44ba14
cmp ecx, 0x40
je 0x44ba14
cmp ecx, 0x60
je 0x44ba14
cmp ecx, 0xa0
jb 0x44ba08
cmp ecx, 0xd7ff
jbe 0x44ba14
cmp ecx, 0xe000
jae 0x44ba14
xor eax, eax
jmp 0x44ba19
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44b9a4
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
jmp 0x4150cc
cmp edi, 0x16
jne 0x44bbcc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
cmp edx, 1
jl 0x4150cc
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x2c], eax
cmp edi, eax
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44baa0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44baa0
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bac2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44bb89
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44bb24
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bb24
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bb46
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a5520], eax
je 0x44bb7d
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp edi, eax
jb 0x44bae7
jmp 0x44bb80
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 0x44bbb2
cmp edi, eax
jb 0x44bbb2
cmp edi, dword [esi + 0x88]
jbe 0x44bbb2
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
jle 0x44ba56
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
cmp dword [ebp - 0x24], 0
lea ecx, [edi - 6]
je 0x44c2f9
cmp ecx, 0xf
ja case.default.0x449ab0
jmp dword [ecx*4 + 0x4501f6]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44ba32
lea eax, [edi + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e7fb
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44bcb3
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne case.0x414a45.157
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44bc6c
cmp edx, dword [esi + 0x7c]
jb 0x44bc6c
cmp dword [esi + 0x18], 0
jne 0x44bc6c
cmp dword [esi + 0x1c], 2
jne 0x44bc6c
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44bc6c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
cmp edi, dword [esi + 0x7c]
jae 0x44bc9e
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44bc9e
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 0x44bc02
jmp 0x44ba2c
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44bc32
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44bc32
cmp edx, 1
je case.0x414a45.157
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
je case.0x414a45.157
jmp 0x44bc35
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44e7fb
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44bd3b
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 0x44bd3b
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jle 0x44bd05
jmp 0x44ba2c
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja case.0x414a45.157
mov eax, dword [ebp - 0x20]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44ba32
mov edx, dword [esi + 0x7c]
cmp edi, edx
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bdb9
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 0x44bde5
je 0x44bdd3
cmp ecx, 0xa
je 0x44be06
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414a45.157
jmp 0x44bdfc
cmp edi, edx
jae 0x44be06
cmp word [edi], 0xa
jne 0x44be06
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44be06
cmp ecx, 0x85
je 0x44bdfc
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
cmp dword [esi + 0x6c], 0
jne case.0x414a45.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44bd7b
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44be6b
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 0x44bea9
je case.0x414a45.157
cmp ecx, 0xa0
ja 0x44be9b
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp 0x44bee5
cmp ecx, 0x1680
je case.0x414a45.157
jmp 0x44bee5
cmp ecx, 0x205f
ja 0x44bed9
je case.0x414a45.157
cmp ecx, 0x2000
jb 0x44bee5
cmp ecx, 0x200a
jbe case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp 0x44bee5
cmp ecx, 0x3000
je case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44be2c
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bf44
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 0x44bf76
je 0x44bfae
cmp ecx, 0xa0
ja 0x44bf68
je 0x44bfae
cmp ecx, 9
je 0x44bfae
cmp ecx, 0x20
jne case.0x414a45.157
jmp 0x44bfae
cmp ecx, 0x1680
jne case.0x414a45.157
jmp 0x44bfae
cmp ecx, 0x205f
ja 0x44bfa2
je 0x44bfae
cmp ecx, 0x2000
jb case.0x414a45.157
cmp ecx, 0x200a
jbe 0x44bfae
cmp ecx, 0x202f
jne case.0x414a45.157
jmp 0x44bfae
cmp ecx, 0x3000
jne case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bf05
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c00d
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 0x44c02b
je case.0x414a45.157
cmp ecx, 0xa
jb 0x44c03f
cmp ecx, 0xd
jbe case.0x414a45.157
jmp 0x44c03f
cmp ecx, 0x2028
jb 0x44c03f
cmp ecx, 0x2029
jbe case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bfce
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c09a
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 0x44c0b2
je 0x44c0c1
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414a45.157
jmp 0x44c0c1
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c05b
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c11c
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 0x44c131
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c0dd
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414a45.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c14d
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44ba32
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44e7fb
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44c1bf
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414a45.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44c1e7
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44c1e7
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44c19c
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414a45.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c208
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44ba32
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44e7fb
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44c27a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414a45.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44c2a2
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44c2a2
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44c257
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414a45.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c2c3
jmp 0x44ba2c
cmp ecx, 0xf
ja case.default.0x449ab0
jmp dword [ecx*4 + 0x450236]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44ba32
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e7fb
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44c349
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne case.0x414a45.157
jmp 0x44c375
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44c375
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c375
cmp edx, 1
je case.0x414a45.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x414a45.157
cmp dword [esi + 0x8c], 0
je 0x44c3af
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44c3af
cmp dword [esi + 0x18], 0
jne 0x44c3af
cmp dword [esi + 0x1c], 2
jne 0x44c3af
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c3af
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
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 0x44c31c
jmp 0x44ba2c
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x44e7fb
mov eax, dword [ebp - 0x20]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e7fb
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
jg 0x44c43b
je 0x44c429
cmp eax, 0xa
je 0x44c45a
add eax, 0xfffffff5
cmp eax, 1
ja case.0x414a45.157
jmp 0x44c450
cmp edi, ecx
jae 0x44c45a
cmp word [edi], 0xa
jne 0x44c45a
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44c45a
cmp eax, 0x85
je 0x44c450
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x414a45.157
cmp dword [esi + 0x6c], 0
jne case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c3fe
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44c4c6
je case.0x414a45.157
cmp ecx, 0xa0
jg 0x44c4b8
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp 0x44c502
cmp ecx, 0x1680
je case.0x414a45.157
jmp 0x44c502
cmp ecx, 0x205f
jg 0x44c4f6
je case.0x414a45.157
cmp ecx, 0x2000
jl 0x44c502
cmp ecx, 0x200a
jle case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp 0x44c502
cmp ecx, 0x3000
je case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c476
jmp 0x44ba2f
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44c566
je 0x44c59e
cmp ecx, 0xa0
jg 0x44c558
je 0x44c59e
cmp ecx, 9
je 0x44c59e
cmp ecx, 0x20
jne case.0x414a45.157
jmp 0x44c59e
cmp ecx, 0x1680
jne case.0x414a45.157
jmp 0x44c59e
cmp ecx, 0x205f
jg 0x44c592
je 0x44c59e
cmp ecx, 0x2000
jl case.0x414a45.157
cmp ecx, 0x200a
jle 0x44c59e
cmp ecx, 0x202f
jne case.0x414a45.157
jmp 0x44c59e
cmp ecx, 0x3000
jne case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c522
jmp 0x44ba2f
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
jg 0x44c5ee
je case.0x414a45.157
cmp ecx, 0xa
jl 0x44c602
cmp ecx, 0xd
jle case.0x414a45.157
jmp 0x44c602
cmp ecx, 0x2028
jl 0x44c602
cmp ecx, 0x2029
jle case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c5be
jmp 0x44ba2f
mov edi, dword [ebp - 8]
mov ecx, 1
cmp edx, ecx
jl 0x44ba32
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
jg 0x44c646
je 0x44c654
add eax, 0xfffffff6
cmp eax, 3
ja case.0x414a45.157
jmp 0x44c654
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x414a45.157
inc ecx
cmp ecx, edx
jle 0x44c61d
mov eax, dword [ebp - 0x20]
jmp 0x44ba32
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c697
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414a45.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c672
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x414a45.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414a45.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c6b9
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c729
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414a45.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c704
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x414a45.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414a45.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c74b
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c7bb
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414a45.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c796
jmp 0x44ba2c
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44ba2f
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x414a45.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414a45.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c7dd
jmp 0x44ba2c
mov edx, dword [ebp - 0xc]
jmp 0x4150cc
mov eax, edi
mov dword [ebp - 0x10], eax
test ecx, ecx
js 0x44d0b6
cmp ecx, 0xa
ja case.default.0x449ab0
jmp dword [ecx*4 + 0x450276]
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov eax, dword [ebp - 0x18]
mov ecx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44c895
cmp dword [ebp - 0x24], 0
je 0x44c87b
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 0x44c87b
mov ecx, 2
cmp dword [ebp - 0x38], 0
jne 0x44d04e
inc edx
lea edi, [edi + ecx*2]
mov dword [ebp - 8], edi
cmp edx, eax
jl 0x44c848
jmp 0x44d04e
cmp dword [esi + 0x8c], 0
je 0x44d04e
cmp edi, dword [esi + 0x88]
jbe 0x44d04e
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jle 0x44d04e
jmp 0x448f78
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c986
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44c913
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c913
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c935
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, 9
je 0x44c95a
cmp eax, 5
je 0x44c95a
cmp eax, 8
je 0x44c95a
xor eax, eax
jmp 0x44c95f
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d04e
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 0x44c8cb
jmp 0x44d04e
cmp dword [esi + 0x8c], 0
je 0x44d04e
cmp edi, dword [esi + 0x88]
jbe 0x44d04e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44d04e
jmp 0x448f78
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c986
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44ca05
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ca05
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ca27
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d04e
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 0x44c9c1
jmp 0x44d04e
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c986
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cac0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cac0
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cae2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d04e
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 0x44ca78
jmp 0x44d04e
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c986
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cb74
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cb74
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cb96
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f50]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d04e
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 0x44cb2c
jmp 0x44d04e
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c986
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cc28
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cc28
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cc4a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44cc71
cmp eax, 3
je 0x44cc71
xor eax, eax
jmp 0x44cc76
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d04e
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 0x44cbe0
jmp 0x44d04e
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov eax, 1
mov dword [ebp - 0x2c], eax
cmp edi, dword [esi + 0x7c]
jae 0x44cdec
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44ccf5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ccf2
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 0x44ccf5
mov eax, dword [ebp - 0x2c]
cmp ecx, 0x180e
ja 0x44cd42
je 0x44cdca
cmp ecx, 0x85
ja 0x44cd29
je 0x44cdca
cmp ecx, 9
jb case.0x44cd5e.8203
cmp ecx, 0xd
jbe 0x44cdca
cmp ecx, 0x20
jne case.0x44cd5e.8203
jmp 0x44cdca
cmp ecx, 0xa0
je 0x44cdca
cmp ecx, 0x1680
jne case.0x44cd5e.8203
jmp 0x44cdca
cmp ecx, 0x202f
ja 0x44cd65
je 0x44cdca
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44cd5e.8203
movzx eax, byte [eax + 0x4502aa]
jmp dword [eax*4 + 0x4502a2]
cmp ecx, 0x205f
je 0x44cdca
cmp ecx, 0x3000
je 0x44cdca
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cd97
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d04e
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
jmp 0x44cdd4
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x38], 0
jne 0x44d04e
inc edx
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x18]
jl 0x44cca6
jmp 0x44d04e
cmp dword [esi + 0x8c], 0
je 0x44d04e
cmp edi, dword [esi + 0x88]
jbe 0x44d04e
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0x44d04e
jmp 0x448f78
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov dword [ebp - 0x2c], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c986
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], ecx
je 0x44ce70
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ce70
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 + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44ce96
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44cec2
cmp eax, 3
je 0x44cec2
cmp edx, 0x5f
je 0x44cec2
xor eax, eax
jmp 0x44cec7
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d04e
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 0x44ce22
jmp 0x44d04e
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c986
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cf3f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cf3f
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 + 0x4a42f0]
lea eax, [eax*4 + 0x4a42f0]
cmp ecx, edx
jb 0x44cf61
lea eax, [eax + 4]
cmp ecx, edx
je 0x44cf89
mov edx, dword [eax]
cmp ecx, edx
jae 0x44cf54
cmp dword [ebp - 0x38], 0
je 0x44d04e
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 0x44cef7
jmp 0x44d04e
cmp dword [ebp - 0x38], 0
je 0x44cf6b
jmp 0x44d04e
cmp edx, dword [ebp - 0x18]
jge 0x44d051
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d02e
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cfe1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cfe1
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 0x44d00c
cmp ecx, 0x40
je 0x44d00c
cmp ecx, 0x60
je 0x44d00c
cmp ecx, 0xa0
jb 0x44d000
cmp ecx, 0xd7ff
jbe 0x44d00c
cmp ecx, 0xe000
jae 0x44d00c
xor eax, eax
jmp 0x44d011
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d04e
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 0x44cf9d
jmp 0x44d04e
cmp dword [esi + 0x8c], 0
je 0x44d04e
cmp edi, dword [esi + 0x88]
jbe 0x44d04e
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x448f78
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp edi, eax
je 0x414b83
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
je 0x44d0ac
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d0ac
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
jne 0x44d063
jmp 0x414b83
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x16
jne 0x44d2ad
cmp edx, dword [ebp - 0x18]
jge 0x44d261
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x2c], eax
cmp edi, eax
jae 0x44d239
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44d115
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d115
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d137
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44d1fe
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44d199
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d199
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d1bb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a5520], eax
je 0x44d1f2
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp edi, eax
jb 0x44d15c
jmp 0x44d1f5
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 0x44d227
cmp edi, eax
jb 0x44d227
cmp edi, dword [esi + 0x88]
jbe 0x44d227
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d0cb
jmp 0x44d25e
cmp dword [esi + 0x8c], 0
je 0x44d25e
cmp edi, dword [esi + 0x88]
jbe 0x44d25e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp edi, eax
je 0x414b83
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
jne 0x44e15e
movzx ecx, word [edi]
jmp 0x44e1a4
cmp dword [ebp - 0x24], 0
lea eax, [ecx - 6]
je 0x44db10
cmp eax, 0xf
ja case.default.0x449ab0
jmp dword [eax*4 + 0x4502d6]
mov eax, dword [ebp - 0x18]
cmp eax, 0x7fffffff
jge 0x44d3d2
cmp edx, eax
jge 0x44da8f
lea eax, [edi + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44d52b
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44d397
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne 0x44da8f
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44d350
cmp edx, dword [esi + 0x7c]
jb 0x44d350
cmp dword [esi + 0x18], 0
jne 0x44d350
cmp dword [esi + 0x1c], 2
jne 0x44d350
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d350
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
cmp edi, dword [esi + 0x7c]
jae 0x44d382
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d382
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 0x44d2e6
jmp 0x44da8f
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44d316
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d316
cmp edx, 1
je 0x44da8f
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44d319
jmp 0x44da8f
cmp edx, eax
jge 0x44da8f
lea eax, [edi + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44d52b
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44d491
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne 0x44da8f
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44d44a
cmp edx, dword [esi + 0x7c]
jb 0x44d44a
cmp dword [esi + 0x18], 0
jne 0x44d44a
cmp dword [esi + 0x1c], 2
jne 0x44d44a
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d44a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
cmp edi, dword [esi + 0x7c]
jae 0x44d47c
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d47c
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 0x44d3e0
jmp 0x44da8f
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44d410
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d410
cmp edx, 1
je 0x44da8f
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44d413
jmp 0x44da8f
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x7fffffff
jge 0x44d521
cmp edx, ecx
jge 0x44da8f
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0x18]
cmp edi, ecx
jae 0x44d52b
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44d517
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 0x44d517
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jl 0x44d4e5
jmp 0x44da8f
mov edi, dword [esi + 0x7c]
jmp 0x44d528
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44da8f
cmp edi, dword [esi + 0x88]
jbe 0x44da8f
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44da8f
jmp 0x448f78
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 0x44d526
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44da8f
cmp edx, dword [ebp - 0x18]
jge 0x44da8f
mov eax, dword [esi + 0x7c]
mov edx, 1
cmp edi, eax
jae 0x44d638
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d5c4
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 0x44d5e5
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x44da8f
cmp word [edi], 0xa
jne 0x44d623
add edi, 2
jmp 0x44d620
cmp ecx, 0xa
je 0x44d61a
cmp dword [esi + 0x6c], 0
jne 0x44da8f
cmp ecx, 0xb
je 0x44d61a
cmp ecx, 0xc
je 0x44d61a
cmp ecx, 0x85
je 0x44d61a
cmp ecx, 0x2028
je 0x44d61a
cmp ecx, 0x2029
jne 0x44da8f
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 0x44d587
jmp 0x44da8f
cmp dword [esi + 0x8c], 0
je 0x44da8f
cmp edi, dword [esi + 0x88]
jbe 0x44da8f
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jle 0x44da8f
jmp 0x448f78
cmp edx, dword [ebp - 0x18]
jge 0x44da8f
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d638
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d6a8
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 0x44d6fd
je 0x44d6c6
cmp ecx, 0xa0
ja 0x44d6f3
je 0x44d6c6
cmp ecx, 9
je 0x44d6c6
cmp ecx, 0x20
jne 0x44d729
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x1c], 0x12
sete al
cmp ecx, eax
je 0x44da8f
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 0x44d66e
jmp 0x44da8f
cmp ecx, 0x1680
jne 0x44d729
jmp 0x44d6c6
cmp ecx, 0x205f
ja 0x44d721
je 0x44d6c6
cmp ecx, 0x2000
jb 0x44d729
cmp ecx, 0x200a
jbe 0x44d6c6
cmp ecx, 0x202f
jne 0x44d729
jmp 0x44d6c6
cmp ecx, 0x3000
je 0x44d6c6
xor ecx, ecx
jmp 0x44d6cb
cmp edx, dword [ebp - 0x18]
jge 0x44da8f
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d638
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d774
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 0x44d7b2
je 0x44d7bd
cmp ecx, 0xa
jb 0x44d788
cmp ecx, 0xd
jbe 0x44d7bd
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x1c], 0x14
sete al
cmp ecx, eax
je 0x44da8f
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 0x44d736
jmp 0x44da8f
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x44d788
mov ecx, 1
jmp 0x44d78a
cmp edx, dword [ebp - 0x18]
jge 0x44da8f
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d638
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d80b
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 0x44d820
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44da8f
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 0x44d7cd
jmp 0x44da8f
cmp edx, dword [ebp - 0x18]
jge 0x44da8f
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d638
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d87e
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 0x44da8f
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44da8f
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 0x44d840
jmp 0x44da8f
cmp edx, dword [ebp - 0x18]
jge 0x44da8f
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d638
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d8f5
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 0x44d90a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44da8f
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 0x44d8b7
jmp 0x44da8f
cmp edx, dword [ebp - 0x18]
jge 0x44da8f
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d638
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d968
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 0x44da8f
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44da8f
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 0x44d92a
jmp 0x44da8f
cmp edx, dword [ebp - 0x18]
jge 0x44da8f
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d638
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d9df
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 0x44d9f4
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44da8f
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 0x44d9a1
jmp 0x44da8f
cmp edx, dword [ebp - 0x18]
jge 0x44da8f
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44da6f
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44da4a
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 0x44da8f
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44da8f
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 0x44da10
jmp 0x44da8f
cmp dword [esi + 0x8c], 0
je 0x44da8f
cmp edi, dword [esi + 0x88]
jbe 0x44da8f
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x448f78
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp edi, dword [ebp - 0x10]
je 0x414b83
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
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 0x44dae7
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x1c], 0x11
mov ecx, dword [ebp - 0x10]
jne 0x44db07
cmp edi, ecx
jbe 0x44db09
cmp word [edi], 0xa
jne 0x44db07
cmp word [edi - 2], 0xd
jne 0x44db07
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
jne 0x44daa2
jmp 0x414b83
cmp eax, 0xf
ja case.default.0x449ab0
jmp dword [eax*4 + 0x450316]
cmp edx, dword [ebp - 0x18]
jge 0x44dfed
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44dbee
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44db55
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00415e9f
add esp, 0xc
test eax, eax
je 0x44db81
jmp 0x44dfed
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44db81
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44db81
cmp edx, 1
je 0x44dfed
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44dfed
cmp dword [esi + 0x8c], 0
je 0x44dbbb
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44dbbb
cmp dword [esi + 0x18], 0
jne 0x44dbbb
cmp dword [esi + 0x1c], 2
jne 0x44dbbb
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44dbbb
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
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 0x44db29
jmp 0x44dfed
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 0x44dc20
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44dfed
cmp edi, dword [esi + 0x88]
jbe 0x44dfed
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44dfed
jmp 0x448f78
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44dfed
cmp edx, dword [ebp - 0x18]
jge 0x44dfed
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44dbee
movzx eax, word [edi]
cmp eax, 0xd
jne 0x44dc59
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44dfed
cmp word [edi], 0xa
je 0x44dc8b
jmp 0x44dc91
cmp eax, 0xa
je 0x44dc8b
cmp dword [esi + 0x6c], 0
jne 0x44dfed
cmp eax, 0xb
je 0x44dc8b
cmp eax, 0xc
je 0x44dc8b
cmp eax, 0x85
je 0x44dc8b
cmp eax, 0x2028
je 0x44dc8b
cmp eax, 0x2029
jne 0x44dfed
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x44dc37
jmp 0x44dfed
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dbee
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44dcec
je 0x44dfed
cmp eax, 0xa0
jg 0x44dce0
je 0x44dfed
cmp eax, 9
je 0x44dfed
cmp eax, 0x20
jne 0x44dd22
jmp 0x44dfed
cmp eax, 0x1680
jne 0x44dd22
jmp 0x44dfed
cmp eax, 0x205f
jg 0x44dd17
je 0x44dfed
cmp eax, 0x2000
jl 0x44dd22
cmp eax, 0x200a
jle 0x44dfed
cmp eax, 0x202f
jne 0x44dd22
jmp 0x44dfed
cmp eax, 0x3000
je 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44dca7
jmp 0x44dfed
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dbee
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44dd7a
je 0x44ddac
cmp eax, 0xa0
jg 0x44dd6e
je 0x44ddac
cmp eax, 9
je 0x44ddac
cmp eax, 0x20
je 0x44ddac
jmp 0x44dfed
cmp eax, 0x1680
je 0x44ddac
jmp 0x44dfed
cmp eax, 0x205f
jg 0x44dda1
je 0x44ddac
cmp eax, 0x2000
jl 0x44dfed
cmp eax, 0x200a
jle 0x44ddac
cmp eax, 0x202f
je 0x44ddac
jmp 0x44dfed
cmp eax, 0x3000
jne 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44dd41
jmp 0x44dfed
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dbee
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44ddef
je 0x44dfed
cmp eax, 0xa
jl 0x44de01
cmp eax, 0xd
jg 0x44de01
jmp 0x44dfed
cmp eax, 0x2028
jl 0x44de01
cmp eax, 0x2029
jle 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44ddc7
jmp 0x44dfed
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dbee
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44de3e
je 0x44de4c
add eax, 0xfffffff6
cmp eax, 3
jbe 0x44de4c
jmp 0x44dfed
add eax, 0xffffdfd8
cmp eax, 1
ja 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44de1c
jmp 0x44dfed
cmp edx, dword [ebp - 0x18]
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dbee
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44de8a
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44de65
jmp 0x44dfed
cmp edx, dword [ebp - 0x18]
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dbee
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44dfed
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44dea4
jmp 0x44dfed
cmp edx, dword [ebp - 0x18]
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dbee
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44df0c
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44dee7
jmp 0x44dfed
cmp edx, dword [ebp - 0x18]
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dbee
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44dfed
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44df26
jmp 0x44dfed
cmp edx, dword [ebp - 0x18]
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dbee
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44df8a
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44df69
jmp 0x44dfed
cmp edx, dword [ebp - 0x18]
jge 0x44dfed
cmp edi, dword [esi + 0x7c]
jae 0x44dfc8
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44dfed
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44dfed
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44df9d
jmp 0x44dfed
cmp dword [esi + 0x8c], 0
je 0x44dfed
cmp edi, dword [esi + 0x88]
jbe 0x44dfed
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
cmp dword [ebp - 0x34], 0
jne 0x414c9e
cmp edi, dword [ebp - 0x10]
je 0x414b83
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov ecx, dword [ebp - 0x10]
sub edi, 2
cmp dword [ebp - 0x1c], 0x11
mov dword [ebp - 8], edi
jne 0x44e049
cmp edi, ecx
jbe 0x44e04b
cmp word [edi], 0xa
jne 0x44e049
cmp word [edi - 2], 0xd
jne 0x44e049
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
jne 0x44e000
jmp 0x414b83
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 0x44e081
lea edx, [ebx + 4]
call fcn.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov ebx, dword [ebp - 0x14]
jmp 0x414b80
mov edx, dword [ebp - 0x14]
call fcn.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
add ebx, 4
jmp 0x414b80
movzx ecx, word [ebx]
cmp ecx, 0x7b
je 0x44e3dd
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 0x44e116
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov ebx, dword [ebp - 0x1c]
mov ecx, 0x81
movzx eax, word [ebx]
cmp ax, cx
je 0x44e373
mov ecx, 0x88
cmp ax, cx
jb 0x414b80
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.004149c0
add esp, 0x14
jmp 0x414b3b
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.004149c0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x44e13d
mov ecx, dword [ebp - 0x1c]
cmp dword [esi + 0xb8], ecx
jne 0x414b3b
jmp 0x44e148
test eax, eax
jne 0x414b3b
mov ecx, dword [ebp - 0x1c]
mov eax, 0x81
cmp word [ecx], ax
je 0x44e3a6
add ebx, 4
jmp 0x414b80
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e179
sub edi, 2
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e1a4
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e1c6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f52]
mov dword [ebp - 0x2c], eax
cmp edi, dword [ebp - 0x10]
je 0x414b83
cmp dword [ebp - 0x24], 0
lea edx, [edi - 2]
mov dword [ebp - 0x14], edx
jne 0x44e1f5
movzx ecx, word [edx]
jmp 0x44e23b
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e210
sub edx, 2
mov dword [ebp - 0x14], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e23b
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e25d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx eax, word [eax*2 + 0x4a5560]
movzx edx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a5520], eax
je 0x44d273
mov edi, dword [ebp - 0x14]
mov dword [ebp - 8], edi
mov dword [ebp - 0x2c], edx
jmp 0x44e1db
mov dword [esi + 0x9c], 2
jmp 0x415302
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x44fe5d
cmp word [ebx], 0x77
je 0x415351
cmp word [eax], 0x77
jne 0x44fe5d
jmp 0x415351
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a5470]
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x414b3b
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x14c]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
je case.0x414a45.157
push eax
call dword [0x4a5468]
add esp, 4
jmp case.0x414a45.157
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44e362
push eax
call dword [0x4a5468]
add esp, 4
jmp 0x44e362
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0xb0], ecx
mov eax, edi
jmp 0x414b3b
mov eax, 0xfffffffa
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov dword [esi + 0xb8], ebx
mov eax, 0xfffffc1b
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x414b3b
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 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x414b3b
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 0x414b36
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp eax, dword [esi + 0x88]
jmp 0x44e46f
cmp ecx, dword [esi + 0x88]
jbe case.0x414a45.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414a45.157
mov eax, 0xfffffff4
jmp 0x414b3b
mov eax, 0xfffffff2
jmp 0x414b3b
cmp eax, 0xfffffffe
jne 0x44e4a5
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jb case.0x414a45.157
cmp edi, dword [esi + 0x88]
jmp 0x44e46f
mov dword [ebp - 0x14], eax
cmp edi, edx
jl 0x44e4d1
mov edi, eax
jmp 0x44e536
mov eax, dword [ebp - 8]
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e50e
add esp, 0xc
test eax, eax
js 0x44e4fb
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 0x44e4ce
jmp 0x44e52b
cmp eax, 0xfffffffe
jne 0x44e528
cmp dword [esi + 0x8c], 0
je 0x44e528
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x44e528
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x14]
cmp edx, edi
jb case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
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 0x44e536
xor eax, eax
jmp 0x414b3b
cmp ecx, 0xfffffffe
jne 0x44e57d
mov eax, dword [esi + 0x7c]
jmp 0x44e580
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp eax, dword [esi + 0x7c]
jb case.0x414a45.157
jmp 0x44e461
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x20]
je case.0x414a45.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e5c1
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.004149c0
add esp, 0x14
test eax, eax
je 0x44e59b
jmp 0x414b3b
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.004149c0
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44e6d3
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x414a45.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44e6bb
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e661
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 0x44e674
cmp edi, 0x6e
je case.0x414a45.157
jmp 0x44e692
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.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44e613
jmp 0x414b3b
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp ecx, dword [esi + 0x88]
jmp 0x44e46f
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x414a45.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e454
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44e70f
cmp edi, 0x6e
je case.0x414a45.157
jmp 0x44e72a
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.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44e6db
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x44e7c0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e7c0
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.0048e837
add esp, 4
test eax, eax
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44e778
jmp 0x414b3b
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp edi, dword [esi + 0x88]
jmp 0x44e46f
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp edx, dword [esi + 0x7c]
jb case.0x414a45.157
cmp edx, dword [esi + 0x88]
jmp 0x44e46f
mov ecx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp ecx, dword [esi + 0x7c]
jb case.0x414a45.157
jmp 0x44e469
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
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.0x414a45.157
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44e8af
lea eax, [edx + edx]
push eax
push dword [ebp - 0x14]
push edi
call fcn.00421604
add esp, 0xc
test eax, eax
jne 0x44e8af
add edi, dword [ebp - 0x2c]
jmp 0x44e8e9
mov edx, dword [ebp - 0x28]
test edx, edx
jle 0x44e4a5
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
sub eax, ecx
cmp edi, eax
ja 0x44e4a5
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x68]
push eax
push edi
call fcn.00421604
add esp, 0xc
test eax, eax
jne 0x44e4a5
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.004149c0
mov ecx, dword [ebp - 0x2c]
add esp, 0x14
mov edx, dword [ebp - 0x1c]
test eax, eax
je 0x44e881
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
cmp dword [ebp - 0xc], ecx
je 0x44e966
cmp dword [ebp - 0x1c], ecx
jne case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44e940
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0xc], eax
jne case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44e9b4
jmp 0x414b3b
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.004149c0
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44eaaf
test eax, eax
jne 0x414b3b
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ea75
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.0x414a45.157
cmp dword [ebp - 0x1c], ecx
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44ea30
jmp 0x414b3b
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
cmp dword [ebp - 0x18], ecx
je case.0x414a45.157
cmp dword [ebp - 0x1c], ecx
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44eab7
jmp 0x414b3b
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.004149c0
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44ebae
test eax, eax
jne 0x414b3b
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44eb7d
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.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44eb38
jmp 0x414b3b
test eax, eax
jne 0x414b3b
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0xc]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x18], eax
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44ebb6
jmp 0x414b3b
cmp ecx, 0xa
ja case.default.0x449ab0
jmp dword [ecx*4 + 0x450356]
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44ec65
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ec65
add edi, 2
cmp dword [ebp - 0x38], 0
jne case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44ec35
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44ed05
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ed05
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ed27
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, 9
je 0x44ed4c
cmp eax, 5
je 0x44ed4c
cmp eax, 8
je 0x44ed4c
xor eax, eax
jmp 0x44ed51
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44ecba
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44edf3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44edf3
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ee15
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44eda8
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44eed8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44eed8
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44eefa
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44ee8d
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44efb6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44efb6
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44efd8
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f50]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44ef6b
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f094
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f094
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f0b6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44f0dd
cmp eax, 3
je 0x44f0dd
xor eax, eax
jmp 0x44f0e2
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44f049
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f187
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f184
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 0x44f1d4
je 0x44f259
cmp ecx, 0x85
ja 0x44f1bb
je 0x44f259
cmp ecx, 9
jb case.0x44f1f0.8203
cmp ecx, 0xd
jbe 0x44f259
cmp ecx, 0x20
jne case.0x44f1f0.8203
jmp 0x44f259
cmp ecx, 0xa0
je 0x44f259
cmp ecx, 0x1680
jne case.0x44f1f0.8203
jmp 0x44f259
cmp ecx, 0x202f
ja 0x44f1f7
je 0x44f259
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44f1f0.8203
movzx eax, byte [eax + 0x45038a]
jmp dword [eax*4 + 0x450382]
cmp ecx, 0x205f
je 0x44f259
cmp ecx, 0x3000
je 0x44f259
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f229
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.157
mov eax, dword [ebp - 0xc]
jmp 0x44f263
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x38], 0
jne case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44f139
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
je 0x44f303
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f303
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 + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44f329
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44f355
cmp eax, 3
je 0x44f355
cmp edx, 0x5f
je 0x44f355
xor eax, eax
jmp 0x44f35a
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44f2b2
jmp 0x414b3b
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f3fc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f3fc
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 + 0x4a42f0]
lea eax, [eax*4 + 0x4a42f0]
cmp ecx, edx
jb 0x44f41e
lea eax, [eax + 4]
cmp ecx, edx
je 0x44f453
mov edx, dword [eax]
cmp ecx, edx
jae 0x44f411
cmp dword [ebp - 0x38], 0
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44f3b1
jmp 0x414b3b
cmp dword [ebp - 0x38], 0
jne case.0x414a45.157
jmp 0x44f428
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.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f4cd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f4cd
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 0x44f4f8
cmp ecx, 0x40
je 0x44f4f8
cmp ecx, 0x60
je 0x44f4f8
cmp ecx, 0xa0
jb 0x44f4ec
cmp ecx, 0xd7ff
jbe 0x44f4f8
cmp ecx, 0xe000
jae 0x44f4f8
xor eax, eax
jmp 0x44f4fd
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44f482
jmp 0x414b3b
test eax, eax
jne 0x414b3b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e7fb
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f585
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f585
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f5a7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44f667
mov ebx, ecx
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
je 0x44f608
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f608
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 + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f62a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4a5520], eax
je 0x44f661
mov eax, dword [ebp - 0x14]
mov ebx, ecx
lea edi, [edi + eax*2]
mov eax, dword [esi + 0x7c]
cmp edi, eax
jb 0x44f5c9
jmp 0x44f664
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
je 0x44f690
cmp edi, eax
jb 0x44f690
cmp edi, dword [esi + 0x88]
jbe 0x44f690
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
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.004149c0
add esp, 0x14
test eax, eax
je 0x44f53a
jmp 0x414b3b
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x415162
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x415162
cmp edx, 1
je case.0x414a45.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x414a45.157
jmp 0x415162
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
jmp 0x41517d
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x449ab0
jmp dword [eax*4 + 0x4503b6]
cmp ecx, 0xd
ja 0x44f761
je 0x44f746
cmp ecx, 0xa
je case.0x44f721.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414a45.157
jmp 0x44f778
cmp edi, dword [esi + 0x7c]
jae case.0x44f721.13
cmp word [edi], 0xa
jne case.0x44f721.13
add edi, 2
jmp case.0x44f721.13
cmp ecx, 0x85
je 0x44f778
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
cmp dword [esi + 0x6c], 0
jne case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x180e
ja 0x44f7cb
je case.0x414a45.157
cmp ecx, 0xa0
ja 0x44f7ba
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x1680
je case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x205f
ja 0x44f802
je case.0x414a45.157
cmp ecx, 0x2000
jb case.0x44f721.13
cmp ecx, 0x200a
jbe case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x3000
je case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x180e
ja 0x44f857
je case.0x44f721.13
cmp ecx, 0xa0
ja 0x44f846
je case.0x44f721.13
cmp ecx, 9
je case.0x44f721.13
cmp ecx, 0x20
jne case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x1680
jne case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x205f
ja 0x44f88e
je case.0x44f721.13
cmp ecx, 0x2000
jb case.0x414a45.157
cmp ecx, 0x200a
jbe case.0x44f721.13
cmp ecx, 0x202f
jne case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x3000
jne case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x85
ja 0x44f8c4
je case.0x414a45.157
cmp ecx, 0xa
jb case.0x44f721.13
cmp ecx, 0xd
jbe case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x2028
jb case.0x44f721.13
cmp ecx, 0x2029
jbe case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x85
ja 0x44f900
je case.0x44f721.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414a45.157
jmp case.0x44f721.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x100
jae case.0x44f721.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x100
jae case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x100
jae case.0x44f721.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x100
jae case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x100
jae case.0x44f721.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414a45.157
jmp case.0x44f721.13
cmp ecx, 0x100
jae case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414a45.157
jmp case.0x44f721.13
cmp edi, dword [esi + 0x7c]
jb case.0x44f721.13
cmp dword [esi + 0x18], 0
jne case.0x44f721.13
cmp dword [esi + 0x1c], 2
jne case.0x44f721.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44f721.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
jmp case.0x44f721.13
test eax, eax
jne 0x414b3b
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414a45.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e7fb
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x44fa85
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fa53
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne case.0x414a45.157
jmp 0x44fa7f
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44fa7f
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44fa7f
cmp edx, 1
je case.0x414a45.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x414a45.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.0x449ab0
jmp dword [eax*4 + 0x4503f6]
cmp dword [esi + 0x8c], 0
je case.0x44fa97.13
cmp edi, dword [esi + 0x7c]
jb case.0x44fa97.13
cmp dword [esi + 0x18], 0
jne case.0x44fa97.13
cmp dword [esi + 0x1c], 2
jne case.0x44fa97.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44fa97.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448f78
jmp case.0x44fa97.13
cmp ecx, 0xd
ja 0x44fb26
je 0x44fb0b
cmp ecx, 0xa
je case.0x44fa97.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414a45.157
jmp 0x44fb3d
cmp edi, dword [esi + 0x7c]
jae case.0x44fa97.13
cmp word [edi], 0xa
jne case.0x44fa97.13
add edi, 2
jmp case.0x44fa97.13
cmp ecx, 0x85
je 0x44fb3d
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
cmp dword [esi + 0x6c], 0
jne case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x180e
ja 0x44fb90
je case.0x414a45.157
cmp ecx, 0xa0
ja 0x44fb7f
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x1680
je case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x205f
ja 0x44fbc7
je case.0x414a45.157
cmp ecx, 0x2000
jb case.0x44fa97.13
cmp ecx, 0x200a
jbe case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x3000
je case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x180e
ja 0x44fc1c
je case.0x44fa97.13
cmp ecx, 0xa0
ja 0x44fc0b
je case.0x44fa97.13
cmp ecx, 9
je case.0x44fa97.13
cmp ecx, 0x20
jne case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x1680
jne case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x205f
ja 0x44fc53
je case.0x44fa97.13
cmp ecx, 0x2000
jb case.0x414a45.157
cmp ecx, 0x200a
jbe case.0x44fa97.13
cmp ecx, 0x202f
jne case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x3000
jne case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x85
ja 0x44fc89
je case.0x414a45.157
cmp ecx, 0xa
jb case.0x44fa97.13
cmp ecx, 0xd
jbe case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x2028
jb case.0x44fa97.13
cmp ecx, 0x2029
jbe case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0x85
ja 0x44fcc5
je case.0x44fa97.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414a45.157
jmp case.0x44fa97.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0xff
ja case.0x44fa97.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0xff
ja case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0xff
ja case.0x44fa97.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0xff
ja case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0xff
ja case.0x44fa97.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414a45.157
jmp case.0x44fa97.13
cmp ecx, 0xff
ja case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414a45.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.004149c0
add esp, 0x14
test eax, eax
je 0x44fa12
jmp 0x414b3b
mov dword [esi + 0x9c], 2
jmp 0x41500c
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x415055
cmp word [ebx], 0x77
je 0x44fdcf
cmp word [eax], 0x77
jne 0x415055
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 0x415000
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 0x415055
cmp edx, 0xfffffc1b
jne 0x44fe5d
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x44fe4f
cmp eax, 0x77
jne 0x44fe46
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44fe38
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 0x414b3b
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 + 0x4a5470]
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.004149c0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x44feb8
cmp edi, 0xfffffc19
jne 0x44fec5
cmp dword [esi + 0xb0], 0
je 0x44e359
cmp edi, 0xfffffc1f
jne 0x44e362
mov edx, dword [esi + 0x80]
mov ecx, dword [ebp - 0x14]
call fcn.0048e719
test eax, eax
jne 0x44e362
jmp 0x44fffc
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 + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, 0xfffffc1c
jmp 0x414b3b
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 + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov eax, 0xfffffc1d
jmp 0x414b3b
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 + 0x4a5470]
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.004149c0
add esp, 0x14
cmp eax, 1
je 0x44ffaa
cmp eax, 0xfffffc19
jne 0x44ffb9
cmp dword [esi + 0xb0], 0
jne 0x44ffb9
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x414b3b
mov eax, 0xfffffc1d
jmp 0x414b3b
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.004149c0
add esp, 0x14
test eax, eax
jne 0x414b3b
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x414b3b
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 + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
add esp, 0x14
jmp 0x45003b
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x414b3b
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0x414b3b
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 + 0x4a5470]
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.004149c0
add esp, 0x14
cmp eax, 1
je 0x45009f
cmp eax, 0xfffffc19
jne 0x45003b
cmp dword [esi + 0xb0], 0
jne 0x45003b
jmp 0x450035
cmp edi, 0x9f
je 0x414b19
cmp dword [esi + 0xa8], 0
jne 0x414b19
cmp dword [esi + 0x60], 0
jne case.0x414a45.157
cmp dword [esi + 0x64], 0
je 0x414b19
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x414a45.157
jmp 0x414b19
inc dword [esi]
mov eax, 0xfffffff8
jmp 0x414b3b