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 0x4481ff
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 0x450158
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x4153f3
cmp dword [esi + 0x9c], 2
je 0x448230
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
cmp edi, 0xa1
ja case.0x414a45.98
movzx eax, byte [edi + 0x41554c]
jmp dword [eax*4 + 0x415400]
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
mov ecx, 0x88
sub edi, eax
mov dword [ebp - 0x20], edi
movzx eax, word [edi]
cmp ax, cx
jae 0x448ec4
mov ecx, 0x81
cmp ax, cx
je 0x448ec4
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp eax, 0x7d
jb 0x414a93
mov dword [ebp - 0x14], 0x80
cmp ax, word [ebp - 0x14]
jbe 0x44e49f
mov dword [ebp - 0x14], 0x82
cmp ax, word [ebp - 0x14]
je 0x44e49f
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
movzx eax, word [ebx]
cmp eax, 0x78
jne 0x448f36
mov eax, 0x81
cmp word [edi], ax
je 0x44e445
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x450112
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x4153df
mov eax, 1
cmp edi, 0x88
jae 0x44e2fc
cmp edi, 0x81
je 0x44e2fc
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 + 0x4a5750]
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 0x450158
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], edi
cmp eax, edi
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x414bd0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x449dff
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x414bf2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f52]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x414c8d
mov ebx, dword [ebp - 0x28]
mov esi, eax
cmp dword [ebp - 0x24], 0
mov edi, 1
movzx ecx, word [esi]
je 0x414c33
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x449e24
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x414c55
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x14]
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a5800], eax
jne 0x414d87
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 8], esi
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
jne 0x449e48
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 - 0x20], eax
mov edx, ecx
mov dword [ebp - 0x30], ebx
mov eax, edx
cmp eax, 0x6d
jle 0x4151c2
mov edx, dword [ebp - 0x2c]
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x24], 0
je 0x44a10d
mov dword [ebp - 0x28], 1
cmp eax, 1
jl 0x415221
nop
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
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 0x44a0d7
cmp ecx, 0xff
ja 0x44a0ff
mov esi, dword [ebp - 0x20]
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 - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x10]
jle 0x414cf0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
je 0x414ca0
test edx, edx
jne 0x44e650
mov ecx, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x24], edx
je 0x44a1e0
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 0x414c13
jmp 0x414c7e
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
cmp dword [ebp - 0x24], 0
je 0x44a611
movzx edi, word [ebx + 2]
add ebx, 2
mov eax, edi
mov edx, 1
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a55e
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp edi, 0x80
jae 0x44a582
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 - 0x28], ecx
lea edi, [ecx + ecx]
mov dword [ebp - 0x14], edi
test eax, eax
jne 0x448eda
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [esi + 0x94], eax
cmp edi, dword [esi + 0x14]
jge 0x448eff
mov ecx, dword [ebp + 0xc]
cmp edi, ecx
jg 0x448f0f
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x28]
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 - 0x20]
mov ecx, dword [ebp - 0x1c]
jmp 0x414ae8
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
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 0x449bc7
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b3b40]
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 + 0x4a5840]
mov dword [ebp - 0x14], ecx
cmp eax, 9
jne 0x449bef
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4a45d0]
lea eax, [eax*4 + 0x4a45d0]
cmp edx, ecx
jb 0x449df1
lea eax, [eax + 4]
cmp edx, ecx
je 0x414f25
mov ecx, dword [eax]
cmp edx, ecx
jae 0x414f13
jmp 0x449df1
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 0x44a52f
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 0x44e87e
test edi, edi
jle 0x414ca0
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 0x414ca0
jmp 0x414f85
movzx edx, word [ebx + 4]
mov dword [ebp - 0x28], 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 - 0x38], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x28]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x20], 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
mov edi, edi
cmp edi, 0x88
jae 0x44fe05
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 + 0x4a5750]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x44fe5c
cmp edx, 0xfffffc20
je 0x44fe14
test edx, edx
je 0x44fe39
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 0x4153d8
mov eax, 1
movsx edi, byte [ecx + 0x4a573c]
movsx edx, byte [ecx + 0x4a5730]
mov dword [ebp - 0x2c], 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 0x44b3f4
cmp edi, 0xf
je 0x44b3eb
or ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
test edx, edx
jg 0x44b413
mov edi, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x414ca0
test eax, eax
je 0x44c995
test ecx, ecx
jns 0x44ec6a
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 0x44f59a
cmp dword [ebp - 0x24], 0
je 0x44fa72
test eax, eax
jne fcn.00414b3d
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 0x44e866
cmp dword [ebp - 0x1c], 0xc
jne 0x415165
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f723
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 0x44f75c
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x44f77d
cmp dword [esi + 0x8c], 0
jne 0x44fa30
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 fcn.00414b3d
jmp 0x415120
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x4151d5
movzx eax, byte [eax + 0x4155f8]
jmp dword [eax*4 + 0x4155f0]
lea eax, [edx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jb 0x415379
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], 1
movsx ecx, byte [eax + 0x4a5730]
mov dword [ebp - 0x10], ecx
movsx ecx, byte [eax + 0x4a573c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0x414cd5
mov ecx, 0x7fffffff
jmp 0x414cd2
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 0x44a1b3
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a17b
cmp edx, 0xff
ja 0x44a1a5
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
jne 0x415384
cmp dword [ebp - 0x34], 0
jne 0x414ca0
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 fcn.00414b3d
jmp 0x44e606
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 fcn.00414b3d
jmp 0x448c12
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x28], 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 + 0x4a5750]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x44e30b
test edx, edx
jne 0x44fe86
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 - 0x28]
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 0x448c6b
mov eax, dword [ebp - 8]
jmp 0x448f62
mov edi, dword [ebp - 0x24]
jmp 0x44956f
mov edx, 1
jmp 0x4151f8
mov edi, 2
jmp 0x414f6b
xor ecx, ecx
jmp 0x44a6a4
xor eax, eax
jmp 0x41507b
mov eax, 0xfffffc19
jmp fcn.00414b3d
mov eax, 0xfffffffb
jmp fcn.00414b3d
mov eax, 0xffffffeb
jmp fcn.00414b3d
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x448221
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.004149c0
add esp, 0x14
jmp fcn.00414b3d
sub ecx, eax
test ecx, ecx
jle 0x448229
neg ecx
mov eax, ecx
jmp fcn.00414b3d
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 0x414ca0
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x44e337
movzx eax, word [ebx]
movzx ecx, byte [eax + 0x4a5750]
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 - 0x28], 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 0x4482f8
cmp eax, 0xfffffc20
jne 0x4482d8
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae fcn.00414b3d
cmp word [ebx], 0x77
je 0x4482e0
cmp word [ecx], 0x77
jne fcn.00414b3d
jmp 0x4482e0
test eax, eax
jne fcn.00414b3d
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x44828a
mov ecx, dword [ebp + 8]
jmp 0x448301
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x448317
cmp eax, 0x77
jne case.0x414a45.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448317
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 0x44898e
cmp eax, dword [ebp - 0x28]
jne 0x44e0c5
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414ca0
mov dword [ebp - 0x20], 0
jmp 0x448ca6
mov dword [ebp - 0x20], 0
mov eax, ebx
mov dword [ebp - 0x14], 0
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
cmp edi, 0x88
jb 0x448394
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 + 0x4a5750]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x448d95
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], 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
mov eax, dword [esi + 0x84]
cmp dword [ebp - 8], eax
je 0x448de6
mov dword [ebp - 8], eax
jmp 0x448382
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x20], eax
cmp word [ebx], 0x76
jne 0x4484dd
cmp dword [0x4c7524], 0
je 0x4484d4
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 0x44849e
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 [0x4c7524]
add esp, 4
test eax, eax
jg case.0x414a45.157
js fcn.00414b3d
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
add ebx, 8
sub eax, 4
mov dword [ebp - 0x20], eax
movzx eax, word [ebx]
xor ecx, ecx
mov dword [ebp - 0x34], eax
add eax, 0xffffff73
mov dword [ebp - 0x1c], ecx
cmp eax, 0x10
ja case.0x4484fd.146
movzx eax, byte [eax + 0x45017f]
jmp dword [eax*4 + 0x450167]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x44869e
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x4485a1
cmp eax, dword [ecx + 4]
je 0x4485a1
xor ecx, ecx
jmp case.0x4484fd.145
cmp dword [esi + 0xa8], ecx
je case.0x4484fd.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 - 0x28], eax
test ecx, ecx
jle 0x44869e
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x1c], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
dec ecx
movzx eax, word [eax]
cmp eax, dword [ebp - 0x14]
je 0x4485a1
mov edx, dword [ebp - 0x28]
mov eax, dword [esi + 0x24]
lea edx, [edx + eax*2]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 8]
test ecx, ecx
jg 0x448569
jmp 0x44869e
movzx ecx, word [ebx + 2]
add ecx, ecx
cmp ecx, dword [ebp + 0xc]
jge 0x448526
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x448526
mov ecx, 1
jmp 0x448680
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 0x44869e
mov dword [ebp - 0x1c], 0
movzx ecx, word [ecx]
dec eax
add ecx, ecx
mov dword [ebp - 0x28], eax
cmp ecx, dword [ebp + 0xc]
jge 0x4485e6
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4485a1
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], ecx
test eax, eax
jg 0x4485cf
jmp 0x44869e
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 0x44868c
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x448636
mov dword [ebp + 0xc], eax
mov eax, 0x92
mov dword [ebp - 0x1c], 1
cmp word [ebx], ax
jne 0x44864a
add ebx, 2
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
jne 0x448666
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x448658
mov eax, dword [ebp - 0x34]
mov ecx, 2
movzx eax, byte [eax + 0x4a5750]
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 + 0x4a5750]
jmp 0x4486a4
test eax, eax
je 0x44869b
cmp eax, 0xfffffc20
jne fcn.00414b3d
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
test ecx, ecx
jne 0x4486b9
cmp word [ebx - 4], 0x77
jne 0x414a1f
cmp edi, 0x8c
jne 0x414b88
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 fcn.00414b3d
movzx edi, word [ebx + 2]
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, edi
lea ecx, [edi + edi]
mov dword [esi + 0x94], eax
cmp ecx, dword [esi + 0x14]
jl 0x44871c
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x448765
mov eax, dword [esi + 0x10]
lea edx, [edi + edi]
mov ecx, dword [esi + 0xc]
sub eax, edi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebp + 0xc]
cmp edx, ecx
jl 0x448762
mov eax, dword [esi + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x44875c
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
lea eax, [edx + 2]
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 8]
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 0x448793
mov edi, 1
mov dword [esi + 0x9c], 0
jmp 0x448795
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 0x44880e
cmp ecx, 0xfffffc19
je 0x44880e
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x4487f6
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448229
cmp word [ebx], 0x77
je 0x4487fe
cmp word [eax], 0x77
jne 0x448229
jmp 0x4487fe
test ecx, ecx
jne 0x448229
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448795
jmp 0x448817
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x414a45.157
test edi, edi
jne 0x414b38
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448829
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0x414ca0
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x44886d
mov dword [ebp - 0x14], 1
mov dword [esi + 0x9c], 0
jmp 0x448874
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 0x4488cd
jne 0x4488e0
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x4488fb
cmp word [ebx], 0x77
je 0x4488bd
cmp word [eax], 0x77
jne 0x4488fb
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448874
jmp 0x448909
mov eax, ecx
sub eax, 0
je 0x4488bd
dec eax
je case.0x414a45.157
jmp 0x448229
cmp ecx, 0xfffffc19
je case.0x414a45.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x448229
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4488fb
cmp dword [ebp - 0x14], 0
jne 0x414b38
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414ca0
cmp dword [ebp - 0x24], 0
je 0x448963
movzx ecx, word [ebx + 2]
test ecx, ecx
jle 0x44897d
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 0x44895d
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x44892c
jmp 0x448980
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 0x44898e
mov dword [esi + 0x88], eax
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414ca0
cmp dword [0x4c7524], 0
je 0x448a6c
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 0x448a33
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 [0x4c7524]
add esp, 4
test eax, eax
jg case.0x414a45.157
js fcn.00414b3d
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 0x448a8c
xor edx, edx
jmp 0x448a90
movzx edx, word [edi + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x448ab7
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x448ab1
cmp eax, dword [ecx + 0x14]
jne 0x448ab1
mov eax, 0xffffffe6
jmp fcn.00414b3d
mov ecx, dword [ecx]
test ecx, ecx
jne 0x448a9d
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 0x448af7
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x4c], eax
jmp 0x448b16
lea eax, [ecx*4]
push eax
call dword [0x4a574c]
add esp, 4
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x44e3d1
mov ecx, dword [ebp - 0x48]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.00421080
mov eax, 0x88
add esp, 0xc
cmp word [edi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
test eax, eax
je 0x448b42
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 + 0x4a5750]
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.00421080
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 0x448be4
cmp edi, 0xfffffc19
je 0x448be4
cmp edi, 0xfffffc1c
jl 0x448bb3
cmp edi, 0xfffffc20
jle 0x44e388
test edi, edi
jne 0x44e3a8
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 0x44e37f
mov eax, dword [ebp - 0x28]
jmp 0x448b34
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x448bfb
push eax
call dword [0x4a5748]
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x414ca0
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448c12
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414ca0
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 0x448c33
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 fcn.00414b3d
jmp 0x414ca0
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448c6b
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414a1f
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x20], 1
cmp edi, 0x86
je 0x448ca6
cmp edi, 0x8b
jne 0x448368
movzx edx, word [ebx + 4]
mov dword [ebp - 0x28], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge 0x448368
mov ecx, ebx
shl eax, 2
sub ecx, dword [esi + 0x74]
sar ecx, 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0
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 - 0x28]
mov dword [ebp - 0x2c], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x10]
mov edx, eax
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x448d1d
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 + 0x4a5750]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x448e18
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + 0xc], 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 + 8], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 8], eax
je 0x448e99
mov dword [ebp - 8], eax
jmp 0x448cf8
cmp ecx, 0xfffffc20
jne 0x448dc2
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448229
cmp word [ebx], 0x77
je 0x448dca
cmp word [eax], 0x77
jne 0x448229
jmp 0x448dca
test ecx, ecx
jne 0x448229
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x448df9
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp 0x448382
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448de6
jmp 0x44898e
cmp dword [ebp - 0x14], 0
jne 0x44898e
cmp dword [ebp - 0x20], 0
je case.0x414a45.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414ca0
cmp ecx, 0xfffffc20
jne 0x448e45
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448229
cmp word [ebx], 0x77
je 0x448e4d
cmp word [eax], 0x77
jne 0x448229
jmp 0x448e4d
test ecx, ecx
jne 0x448229
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 0x448cf5
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x448ea7
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
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]
sub ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x1c]
jmp 0x448ea7
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448e99
cmp dword [ebp - 0x20], 0
jne 0x44898e
test ecx, ecx
je case.0x414a45.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414ca0
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 fcn.00414b3d
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
cmp eax, 0x7b
je 0x44e47a
cmp dword [ebp - 8], ecx
jne 0x44e10f
mov edx, dword [ebp - 8]
jmp 0x414af4
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x448f62
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 0x414ca0
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x448f88
cmp eax, dword [esi + 0x78]
je case.0x414a45.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x414c9a
cmp eax, dword [esi + 0x7c]
je case.0x414a45.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x448fcb
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.0048ea2d
add esp, 0xc
test eax, eax
je case.0x414a45.157
jmp 0x414c9a
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 0x414c9a
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x414a45.157
jmp 0x414c9a
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 0x414ca0
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x449101
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4490ca
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 0x414c9a
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 fcn.00414b3d
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44906f
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44906c
cmp edx, 1
je 0x414c9a
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x44906c
jmp 0x414c9a
cmp dword [esi + 0x4c], 0
jne case.0x414a45.157
cmp dword [esi + 0x8c], 0
je 0x414c9a
cmp eax, dword [esi + 0x88]
jbe 0x414c9a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414ca0
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 0x44910b
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44910b
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x449189
push dword [ebp - 0x24]
push edi
push ecx
mov ecx, eax
call fcn.00415e9f
add esp, 0xc
test eax, eax
jne 0x4491be
jmp 0x44906c
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44906f
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44906c
cmp edx, 1
je 0x4491be
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x44906c
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 0x44906f
jmp 0x44910b
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 8]
je 0x44938a
cmp eax, dword [esi + 0x78]
je 0x4492c2
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x449209
sub edx, 2
cmp edx, dword [esi + 0x88]
jae 0x449217
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449242
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 0x4492a4
cmp ecx, 0x5f
jne 0x449255
mov eax, dword [ebp - 8]
lea edi, [ecx - 0x5e]
jmp 0x4492c4
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x449277
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x44929a
cmp eax, 3
jne 0x4492bf
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x4492c4
cmp ecx, 0x100
jae 0x4492bf
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4492bf
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x4492c4
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x44932c
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4492f7
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 0x449373
cmp ecx, 0x5f
je 0x4494b4
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
js 0x449460
jmp 0x449465
cmp dword [esi + 0x8c], 0
je 0x449351
cmp eax, dword [esi + 0x88]
jbe 0x449351
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
xor ecx, ecx
mov ax, word [ebx]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp ax, 5
jne 0x4494be
cmp ecx, edi
je case.0x414a45.157
jmp 0x414ca0
cmp ecx, 0x100
jae 0x449351
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x4494b4
jmp 0x449351
cmp eax, dword [esi + 0x78]
je 0x44942a
cmp eax, dword [esi + 0x88]
ja 0x4493a7
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0x44940a
cmp ecx, 0x5f
jne 0x4493bb
lea edi, [ecx - 0x5e]
jmp 0x44942c
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x4493dd
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x449400
cmp eax, 3
jne 0x449427
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44942c
mov edx, 0xff
cmp cx, dx
ja 0x44942a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x449427
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44942c
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x44932c
cmp dword [esi + 0x58], 0
je 0x449494
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x4494b4
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x449465
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x4494b4
cmp eax, 3
jne 0x449351
lea ecx, [eax - 2]
jmp 0x449353
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x449351
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x449351
mov ecx, 1
jmp 0x449353
cmp ecx, edi
jne case.0x414a45.157
jmp 0x414ca0
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x4494fa
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x24]
cmp eax, ecx
jae 0x449532
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 0x44952f
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44952c
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44952c
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 0x449572
add eax, 2
cmp eax, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
jb 0x449572
cmp dword [esi + 0x18], 0
jne 0x449572
cmp dword [esi + 0x1c], 2
jne 0x449572
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44956f
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x44e4bf
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0x414c9a
cmp eax, ecx
jae 0x414c9a
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x414c9a
add dword [ebp - 8], 2
jmp 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449615
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449615
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 0x414c9a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414a45.157
jmp 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44967c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44967c
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 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4496e3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4496e3
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 0x414c9a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414a45.157
jmp 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44974a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44974a
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 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4497b1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4497b1
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 0x414c9a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414a45.157
jmp 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449818
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449818
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 0x414c9a
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449884
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x449884
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 0x4498f0
je 0x4498a5
cmp ecx, 0xa
je 0x414c9a
jbe case.0x414a45.157
cmp ecx, 0xc
ja case.0x414a45.157
jmp 0x449907
cmp eax, edx
jb 0x4498db
cmp dword [esi + 0x8c], 0
je 0x414c9a
cmp eax, dword [esi + 0x88]
jbe 0x414c9a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
jmp 0x414c9a
cmp word [eax], 0xa
jne 0x414c9a
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414c9a
cmp ecx, 0x85
je 0x449907
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
cmp dword [esi + 0x6c], 0
jne case.0x414a45.157
jmp 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44995f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44995f
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 0x4499a3
je case.0x414a45.157
cmp ecx, 0xa0
ja 0x449992
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp 0x414c9a
cmp ecx, 0x1680
je case.0x414a45.157
jmp 0x414c9a
cmp ecx, 0x205f
ja 0x4499da
je case.0x414a45.157
cmp ecx, 0x2000
jb 0x414c9a
cmp ecx, 0x200a
jbe case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp 0x414c9a
cmp ecx, 0x3000
je case.0x414a45.157
jmp 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449a34
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449a34
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 0x449a78
je 0x414c9a
cmp ecx, 0xa0
ja 0x449a67
je 0x414c9a
cmp ecx, 9
je 0x414c9a
cmp ecx, 0x20
jne case.0x414a45.157
jmp 0x414c9a
cmp ecx, 0x1680
jne case.0x414a45.157
jmp 0x414c9a
cmp ecx, 0x205f
ja 0x449aaf
je 0x414c9a
cmp ecx, 0x2000
jb case.0x414a45.157
cmp ecx, 0x200a
jbe 0x414c9a
cmp ecx, 0x202f
jne case.0x414a45.157
jmp 0x414c9a
cmp ecx, 0x3000
jne case.0x414a45.157
jmp 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449b09
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449b09
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 0x449b2e
je case.0x414a45.157
cmp ecx, 0xa
jb 0x414c9a
cmp ecx, 0xd
jbe case.0x414a45.157
jmp 0x414c9a
cmp ecx, 0x2028
jb 0x414c9a
cmp ecx, 0x2029
jbe case.0x414a45.157
jmp 0x414c9a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449b94
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449b94
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 0x449bb3
je 0x414c9a
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414a45.157
jmp 0x414c9a
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
jmp 0x414c9a
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.0x449bf8
jmp dword [eax*4 + 0x450193]
mov al, byte [ecx*8 + 0x4a2f51]
cmp al, 9
je 0x449c24
cmp al, 5
je 0x449c24
cmp al, 8
je 0x449c24
xor ecx, ecx
jmp 0x449c40
cmp edi, 0xf
je case.0x414a45.157
jmp 0x414f2e
mov ecx, 1
jmp 0x449c40
movzx eax, byte [ecx*8 + 0x4a2f51]
xor ecx, ecx
cmp dword [eax*4 + 0x4b89a0], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x414a45.157
jmp 0x414f2e
mov eax, dword [ebp - 0x14]
xor edx, edx
movzx ecx, word [ebx + 4]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp ecx, dword [eax*4 + 0x4b89a0]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0x414a45.157
jmp 0x414f2e
movzx eax, byte [ecx*8 + 0x4a2f51]
jmp 0x449c97
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 0x414f2e
movzx eax, byte [ecx*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x449c24
cmp eax, 3
je 0x449c24
xor ecx, ecx
jmp 0x449c40
cmp edx, 0x180e
ja 0x449d36
je case.0x449bf8.0
cmp edx, 0x85
ja 0x449d19
je case.0x449bf8.0
cmp edx, 9
jb case.0x449d5a.8203
cmp edx, 0xd
jbe case.0x449bf8.0
cmp edx, 0x20
je case.0x449bf8.0
jmp case.0x449d5a.8203
cmp edx, 0xa0
je case.0x449bf8.0
cmp edx, 0x1680
je case.0x449bf8.0
jmp case.0x449d5a.8203
cmp edx, 0x202f
ja 0x449d61
je case.0x449bf8.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x449d5a.8203
movzx eax, byte [edx + 0x4501c7]
jmp dword [eax*4 + 0x4501bf]
cmp edx, 0x205f
je case.0x449bf8.0
cmp edx, 0x3000
je case.0x449bf8.0
jmp case.0x449d5a.8203
movzx eax, byte [ecx*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x449c24
cmp eax, 3
je 0x449c24
cmp edx, 0x5f
je 0x449c24
xor ecx, ecx
jmp 0x449c40
cmp edx, 0x24
je 0x449c24
cmp edx, 0x40
je 0x449c24
cmp edx, 0x60
je 0x449c24
cmp edx, 0xa0
jb 0x449dde
cmp edx, 0xd7ff
jbe 0x449c24
cmp edx, 0xe000
jae 0x449c24
xor ecx, ecx
jmp 0x449c40
cmp edi, 0x10
je case.0x414a45.157
jmp 0x414f2e
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 0x414bd0
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
jmp 0x414c33
cmp eax, edi
jb 0x414c9a
jmp 0x449118
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 - 0x1c], 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 - 0x28], eax
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edi, edi
neg ecx
mov dword [ebp - 0x10], edi
dec ecx
mov dword [ebp - 0x20], ecx
test eax, eax
jle 0x449f13
dec eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
movzx edi, word [eax]
add edi, edi
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp + 0xc]
jge 0x449ebd
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x449ebd
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x449f10
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0x28]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 8]
test eax, eax
jg 0x449e97
jmp 0x449f13
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 0x449f06
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x449f06
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x449f10
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x20], ecx
movzx eax, word [ebx]
mov dword [ebp - 0x14], eax
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0x449f2c
movzx eax, byte [eax + 0x4501fb]
jmp dword [eax*4 + 0x4501f3]
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 - 0x2c], edi
movsx edi, byte [eax + 0x4a5730]
movsx eax, byte [eax + 0x4a573c]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x449f94
mov dword [ebp - 0x1c], 0x7fffffff
jmp 0x449f94
movzx edi, word [ebx + 2]
xor eax, eax
cmp word [ebx], 0x69
mov dword [ebp - 0x28], edi
sete al
mov dword [ebp - 0x2c], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x449f8e
mov dword [ebp - 0x1c], 0x7fffffff
add ebx, 6
mov dword [ebp - 0x30], ebx
test ecx, ecx
je 0x414a1f
jns 0x449fa6
test edi, edi
je 0x414a1f
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0x449fe8
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e7bd
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44e5de
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 - 0x20]
jle 0x449fb5
mov edx, dword [ebp - 0x1c]
cmp edi, edx
je 0x414ca0
cmp dword [ebp - 0x2c], 0
je 0x44e52e
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 fcn.00414b3d
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], eax
jge case.0x414a45.157
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov edx, edi
push esi
push dword [ebp - 0x20]
call fcn.0048e7bd
add esp, 0xc
test eax, eax
js 0x44e508
inc dword [ebp - 0x28]
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 0x44a023
jmp fcn.00414b3d
push dword [ebp - 0x34]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.0048e7bd
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44e5de
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x414ca0
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 0x44a0cc
mov ecx, 0x7fffffff
mov dword [ebp - 0x1c], ecx
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x414cd5
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 0x44e4bf
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x44a148
cmp edi, 0x6e
je case.0x414a45.157
jmp 0x44a16a
mov esi, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x28]
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 0x44a120
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 0x4490c0
jmp 0x415280
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], edx
jge 0x44a258
mov ecx, dword [ebp - 0x10]
cmp eax, dword [esi + 0x7c]
jae 0x44a230
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x44a202
cmp edi, 0x6e
jne 0x44a21f
jmp 0x44a255
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
mov eax, dword [ebp - 8]
je 0x44a255
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 0x44a1eb
jmp 0x44a255
cmp dword [esi + 0x8c], 0
je 0x44a255
cmp eax, dword [esi + 0x88]
jbe 0x44a255
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x34], 0
jne 0x414ca0
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 fcn.00414b3d
sub edi, 2
cmp edi, dword [ebp - 0x2c]
jae 0x44a26d
jmp fcn.00414b3d
lea eax, [ebx + 4]
mov dword [ebp - 0x28], 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.0x44a2c9
movzx eax, byte [eax + 0x45020b]
jmp dword [eax*4 + 0x450203]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x44a2ec
mov ecx, dword [ebp - 0x34]
movzx eax, al
and eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x44a2f7
mov eax, dword [ebp - 0x2c]
mov ecx, 1
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
movsx esi, byte [esi + 0x4a56da]
movsx edi, byte [edi + 0x4a56ce]
test esi, esi
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x20], edi
jne 0x44a373
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1c], 0x7fffffff
jmp 0x44a373
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 - 0x2c], eax
movzx edi, word [ebx + 2]
sete cl
mov dword [ebp - 0x20], edi
test esi, esi
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp + 0x10]
jne 0x44a356
mov dword [ebp - 0x1c], 0x7fffffff
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x44a373
mov eax, dword [ebp - 0x2c]
mov edi, 1
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0x44a3f1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x24]
mov dword [ebp - 8], eax
test edx, edx
je 0x44a3c9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a3c9
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 - 0x28]
call fcn.0048eae6
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 0x44a37f
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
cmp edi, dword [ebp - 0x1c]
je 0x414a1f
test eax, eax
jne 0x44e7bd
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp edi, dword [ebp - 0x1c]
jl 0x44a417
mov edi, eax
jmp 0x44a4b4
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp eax, dword [esi + 0x7c]
jae 0x44a489
mov edx, dword [ebp - 0x24]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
test edx, edx
je 0x44a45f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a45f
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 - 0x28]
call fcn.0048eae6
add esp, 4
test eax, eax
je 0x44a4b1
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x1c]
jl 0x44a414
jmp 0x44a4ae
cmp dword [esi + 0x8c], 0
je 0x44a4ae
cmp eax, dword [esi + 0x88]
jbe 0x44a4ae
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x414ca0
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 fcn.00414b3d
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x10]
je case.0x414a45.157
cmp dword [ebp - 0x24], 0
je 0x44a50b
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44a50b
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 0x44a4df
jmp fcn.00414b3d
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x44e726
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 0x414c9d
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 0x44a5bc
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 + 0x4b3b40]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44a5f0
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5840]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edi
cmp dword [ebp - 0x14], eax
jne case.0x414a45.157
jmp 0x414ca0
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0x44a62b
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x44a62d
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0x44a644
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 0x414c9d
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
jmp 0x44a705
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 0x44a692
cmp ecx, 0x35
je 0x44a692
xor edx, edx
jmp 0x44a697
mov edx, 1
mov dword [ebp - 0x2c], edx
add ebx, 4
jmp 0x44a702
mov ecx, 1
mov dword [ebp - 0x18], 0x7fffffff
jmp 0x44a6b6
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov edx, dword [ebp - 0x2c]
add ebx, 2
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x10], ecx
jmp 0x44a705
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 - 0x2c], edx
movsx eax, byte [ecx + 0x4a5730]
mov dword [ebp - 0x10], eax
movsx eax, byte [ecx + 0x4a573c]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x44a702
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 0x44a972
and eax, 0xfc00
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], ebx
cmp eax, 0xd800
jne 0x44a751
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 - 0x28], eax
mov eax, dword [ebp - 0xc]
cmp esi, 1
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
jle 0x44a978
cmp edi, 0x2e
jb 0x44a7c6
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4b3b40]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44a797
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5840]
mov ecx, dword [eax*8 + 0x4a2f54]
add ecx, edx
cmp ecx, edx
je 0x44a7c0
lea edx, [ebp - 0x68]
call fcn.0048ef2a
mov edx, dword [ebp - 0x2c]
mov edi, eax
mov ecx, dword [ebp - 0x10]
jmp 0x44a7c8
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0xc], 1
cmp ecx, 1
jge 0x44a7dc
mov eax, dword [ebp - 8]
jmp 0x44a858
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44a80d
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.004216c4
add esp, 0xc
test eax, eax
jne 0x44a80a
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
jmp 0x44a847
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44e8a2
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44e8a2
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.004216c4
add esp, 0xc
test eax, eax
jne 0x44e89f
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 0x44a7dc
mov edx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x18]
je 0x414ca0
test edx, edx
jne 0x44e8bd
mov edx, eax
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44a90e
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44a8a2
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.004216c4
add esp, 0xc
test eax, eax
jne 0x44a89f
mov eax, dword [ebp - 0x28]
jmp 0x44a8ca
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44a8db
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44a8db
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.004216c4
add esp, 0xc
test eax, eax
jne 0x44a8db
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 0x44a877
jmp 0x44a908
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x44a90b
cmp eax, dword [esi + 0x7c]
jb 0x44a908
cmp eax, dword [esi + 0x88]
jbe 0x44a908
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414ca0
cmp eax, edx
jbe 0x414b85
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 fcn.00414b3d
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 0x44a968
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
ja 0x44a923
jmp 0x414b85
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp edi, 0x2e
jb 0x44aacb
cmp dword [ebp - 0x24], 0
je 0x44a9cb
cmp eax, 0x7f
jbe 0x44a9cb
mov edi, dword [ebp - 0xc]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b3b40]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44a9b0
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x2c]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5840]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edi
jmp 0x44a9dc
mov edi, dword [ebp - 0xc]
cmp eax, 0xff
ja 0x44a9dc
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edi]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], 1
cmp ecx, 1
jl 0x44aa21
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx esi, word [eax]
mov dword [ebp - 0x14], esi
cmp edi, esi
mov esi, dword [ebp + 0x10]
je 0x44aa13
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
jne case.0x414a45.157
inc dword [ebp - 0x28]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x28], ecx
jle 0x44a9ee
cmp ecx, dword [ebp - 0x18]
je 0x414ca0
test edx, edx
jne 0x44e985
mov edx, eax
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44aa83
cmp eax, dword [esi + 0x7c]
jae 0x44aa5b
movzx edx, word [eax]
cmp edi, edx
je 0x44aa4d
cmp dword [ebp - 0x1c], edx
jne 0x44aa80
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x18]
jl 0x44aa3c
jmp 0x44aa80
cmp dword [esi + 0x8c], 0
je 0x44aa80
cmp eax, dword [esi + 0x88]
jbe 0x44aa80
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414ca0
cmp eax, edx
je 0x414b85
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 fcn.00414b3d
cmp edi, dword [ebp - 0x20]
jne 0x44aa98
jmp 0x414b85
mov dword [ebp - 0x14], 1
cmp ecx, 1
jge 0x44aadc
mov edi, dword [ebp - 8]
jmp 0x44ab08
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
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 0x44aadc
cmp ecx, dword [ebp - 0x18]
je 0x414ca0
test edx, edx
jne 0x44e9fc
mov eax, dword [ebp - 8]
mov edx, eax
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], edx
cmp ecx, edi
jge 0x44ab49
mov edx, dword [ebp - 0xc]
cmp eax, dword [esi + 0x7c]
jae 0x44ab91
movzx eax, word [eax]
cmp edx, eax
jne 0x44ab43
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, edi
jl 0x44ab2b
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414ca0
cmp eax, edx
je 0x414b85
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 fcn.00414b3d
cmp edi, dword [ebp - 0x20]
jne 0x44ab5e
jmp 0x414b85
cmp dword [esi + 0x8c], 0
je 0x44ab46
cmp eax, dword [esi + 0x88]
jbe 0x44ab46
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
jmp 0x44ab46
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
cmp dword [ebp - 0x24], 0
je 0x44acc8
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 0x44ac0b
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 - 0x28], ecx
cmp eax, 0xd800
jne 0x44ac4b
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 - 0x28], ecx
cmp edi, 0x1f
jne 0x44ac5d
cmp edx, ecx
je case.0x414a45.157
jmp 0x414ca0
cmp edx, 0x7f
jbe 0x44aca0
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b3b40]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44ac88
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5840]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edx
jmp 0x44acb3
cmp edx, 0xff
ja 0x44acb1
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edx]
jmp 0x44acb3
mov eax, edx
cmp edx, ecx
je case.0x414a45.157
cmp eax, ecx
je case.0x414a45.157
jmp 0x414ca0
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 0x44898e
cmp ecx, 0xff
ja 0x44acf5
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x414a45.157
add ebx, 4
jmp 0x414c9d
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
jmp 0x44adbf
movzx edx, word [ebx + 2]
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], edx
cmp ecx, 0x42
je 0x44ad34
cmp ecx, 0x4f
je 0x44ad34
xor edx, edx
jmp 0x44ad39
mov edx, 1
mov dword [ebp - 0x2c], edx
add ebx, 4
jmp 0x44adbf
mov ecx, 1
xor eax, eax
jmp 0x44ad51
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x18], 0x7fffffff
jmp 0x44ad64
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x18], ecx
add ebx, 2
jmp 0x44ad7a
movzx edx, word [ebx + 2]
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x18], edx
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x10], eax
jmp 0x44adc2
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 - 0x2c], edx
movsx eax, byte [ecx + 0x4a5730]
movsx ecx, byte [ecx + 0x4a573c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x44adbf
mov dword [ebp - 0x18], 0x7fffffff
mov ecx, dword [ebp - 0x34]
movzx esi, word [ebx]
add ebx, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0xc], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
je 0x44ae10
mov eax, dword [ebp - 0xc]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ae0d
mov esi, dword [ebp - 0xc]
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or eax, esi
mov esi, dword [ebp + 0x10]
add eax, 0x10000
add ebx, 2
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x10]
cmp edi, 0x48
jb 0x44b105
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 0xc]
je 0x44ae6b
cmp edi, 0x7f
jbe 0x44ae6b
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b3b40]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44ae4a
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x2c]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5840]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edi
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
jmp 0x44ae80
cmp edi, 0xff
ja 0x44ae7d
mov eax, dword [esi + 0x40]
movzx edi, byte [eax + edi]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x28], 1
je 0x44af15
cmp eax, 1
jl 0x44af55
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x1c], ecx
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44aeed
movzx eax, word [eax]
and dword [ebp - 0x1c], 0x3ff
and eax, 0x3ff
shl dword [ebp - 0x1c], 0xa
or eax, dword [ebp - 0x1c]
add eax, 0x10000
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0xc]
cmp esi, dword [ebp - 0x1c]
mov esi, dword [ebp + 0x10]
je case.0x414a45.157
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
je case.0x414a45.157
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0x44ae9d
jmp 0x44af58
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x44af58
cmp eax, dword [esi + 0x7c]
jae 0x44e4bf
movzx ecx, word [eax]
cmp dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x34]
je case.0x414a45.157
mov esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x14]
mov esi, dword [ebp + 0x10]
je case.0x414a45.157
inc dword [ebp - 0x28]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x28], edi
jle 0x44af1d
mov eax, dword [ebp - 8]
cmp edi, dword [ebp - 0x18]
je 0x414ca0
test edx, edx
jne 0x44ea6b
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x10], edx
je 0x44b072
cmp edi, dword [ebp - 0x18]
jge 0x44afe6
mov dword [ebp - 0x14], 1
cmp eax, dword [esi + 0x7c]
jae 0x44b048
movzx edx, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44afc2
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, 2
add edx, 0x10000
jmp 0x44afc5
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], edx
je 0x44afdd
cmp dword [ebp - 0x20], edx
je 0x44afdd
lea ecx, [ecx + eax*2]
inc edi
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edi, dword [ebp - 0x18]
jl 0x44af7d
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x414ca0
cmp eax, edx
jbe 0x414b85
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 fcn.00414b3d
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 0x44b03e
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x44aff9
jmp 0x414b85
cmp dword [esi + 0x8c], 0
je 0x44afe0
cmp eax, dword [esi + 0x88]
jbe 0x44afe0
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
jmp 0x44afe0
cmp edi, dword [ebp - 0x18]
jge 0x44b0bf
cmp eax, dword [esi + 0x7c]
jae 0x44b097
movzx edx, word [eax]
cmp dword [ebp - 0xc], edx
je 0x44b0bc
cmp dword [ebp - 0x20], edx
je 0x44b0bc
add eax, 2
inc edi
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x18]
jl 0x44b077
jmp 0x44b0bc
cmp dword [esi + 0x8c], 0
je 0x44b0bc
cmp eax, dword [esi + 0x88]
jbe 0x44b0bc
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov edx, dword [ebp - 0x10]
test ecx, ecx
jne 0x414ca0
cmp eax, edx
je 0x414b85
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 fcn.00414b3d
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
jne 0x44b0d2
jmp 0x414b85
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
je 0x44b17b
cmp eax, 1
jl 0x44b1a6
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 0x20], eax
and eax, 0xfc00
mov dword [ebp - 8], edi
cmp eax, 0xd800
jne 0x44b162
movzx eax, word [edi]
and dword [ebp - 0x20], 0x3ff
and eax, 0x3ff
shl dword [ebp - 0x20], 0xa
or eax, dword [ebp - 0x20]
add eax, 0x10000
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44b165
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0xc], eax
je case.0x414a45.157
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x28], eax
jle 0x44b11e
jmp 0x44b1a6
cmp eax, 1
jl 0x44b1a6
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0xc], eax
je case.0x414a45.157
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x28], eax
jle 0x44b180
cmp eax, dword [ebp - 0x18]
je 0x414ca0
test edx, edx
jne 0x44eb77
cmp dword [ebp - 0x24], 0
mov edx, edi
mov dword [ebp - 0x1c], edx
je 0x44b2b0
cmp eax, dword [ebp - 0x18]
jge 0x44b251
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44b229
movzx edx, word [edi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b20d
movzx eax, word [edi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, 2
add edx, 0x10000
jmp 0x44b210
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], edx
je 0x44b24e
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0x44b1cf
jmp 0x44b24e
cmp dword [esi + 0x8c], 0
je 0x44b24e
cmp edi, dword [esi + 0x88]
jbe 0x44b24e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov edx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x414ca0
cmp edi, edx
jbe 0x414b85
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 fcn.00414b3d
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 0x44b2a6
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
ja 0x44b261
jmp 0x414b85
cmp eax, dword [ebp - 0x18]
jge 0x44b300
mov edx, dword [ebp - 0xc]
cmp edi, dword [esi + 0x7c]
jae 0x44b2d8
movzx eax, word [edi]
cmp edx, eax
je 0x44b2fd
mov eax, dword [ebp - 0x10]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0x44b2b8
jmp 0x44b2fd
cmp dword [esi + 0x8c], 0
je 0x44b2fd
cmp edi, dword [esi + 0x88]
jbe 0x44b2fd
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov edx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x414ca0
cmp edi, edx
je 0x414b85
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 fcn.00414b3d
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
jne 0x44b310
jmp 0x414b85
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 - 0x2c], 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 - 0x2c], eax
jmp 0x41509d
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x415096
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x415096
mov eax, dword [ebp - 0x2c]
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 - 0x2c]
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 0x44b3fb
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 0x44bbb0
cmp ecx, 0xa
ja case.default.0x449bf8
jmp dword [ecx*4 + 0x450217]
cmp dword [ebp - 0x38], 0
jne case.0x414a45.157
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c98d
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b472
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x44b472
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44b446
jmp 0x44bba5
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b4d5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b4d5
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b4f7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, 9
je 0x44b51c
cmp eax, 5
je 0x44b51c
cmp eax, 8
je 0x44b51c
xor eax, eax
jmp 0x44b521
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 0x44b490
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b59c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b59c
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b5be
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b89a0], 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 0x44b557
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b65a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b65a
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b67c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
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 0x44b615
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b711
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b711
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b733
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
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 0x44b6cc
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b7c8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b7c8
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b7ea
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x44b811
cmp eax, 3
je 0x44b811
xor eax, eax
jmp 0x44b816
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 0x44b783
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
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 0x44e866
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
test eax, eax
je 0x44b895
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b892
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 0x44b8e2
je 0x44b96a
cmp ecx, 0x85
ja 0x44b8c9
je 0x44b96a
cmp ecx, 9
jb case.0x44b8fe.8203
cmp ecx, 0xd
jbe 0x44b96a
cmp ecx, 0x20
jne case.0x44b8fe.8203
jmp 0x44b96a
cmp ecx, 0xa0
je 0x44b96a
cmp ecx, 0x1680
jne case.0x44b8fe.8203
jmp 0x44b96a
cmp ecx, 0x202f
ja 0x44b905
je 0x44b96a
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44b8fe.8203
movzx eax, byte [eax + 0x45024b]
jmp dword [eax*4 + 0x450243]
cmp ecx, 0x205f
je 0x44b96a
cmp ecx, 0x3000
je 0x44b96a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b937
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b89a0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.157
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
jmp 0x44b974
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 0x44b84f
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
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 - 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 + 0x4b3b40]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44ba0f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x44ba3b
cmp eax, 3
je 0x44ba3b
cmp edx, 0x5f
je 0x44ba3b
xor eax, eax
jmp 0x44ba40
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.157
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
jle 0x44b99e
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x4150cc
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44babb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44babb
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 + 0x4a45d0]
lea eax, [eax*4 + 0x4a45d0]
cmp ecx, edx
jb 0x44badd
lea eax, [eax + 4]
cmp ecx, edx
je 0x44bafd
mov edx, dword [eax]
cmp ecx, edx
jae 0x44bad0
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 0x44ba76
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
cmp dword [ebp - 0x38], 0
jne case.0x414a45.157
jmp 0x44bae7
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c98d
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bb5f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bb5f
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 0x44bb8a
cmp ecx, 0x40
je 0x44bb8a
cmp ecx, 0x60
je 0x44bb8a
cmp ecx, 0xa0
jb 0x44bb7e
cmp ecx, 0xd7ff
jbe 0x44bb8a
cmp ecx, 0xe000
jae 0x44bb8a
xor eax, eax
jmp 0x44bb8f
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bb1a
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
jmp 0x4150cc
cmp edi, 0x16
jne 0x44bd42
mov edi, dword [ebp - 8]
mov dword [ebp - 0x20], 1
cmp edx, 1
jl 0x4150cc
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x28], eax
cmp edi, eax
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bc16
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bc16
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bc38
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44bcff
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44bc9a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bc9a
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bcbc
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a5800], eax
je 0x44bcf3
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x28]
cmp edi, eax
jb 0x44bc5d
jmp 0x44bcf6
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44bd28
cmp edi, eax
jb 0x44bd28
cmp edi, dword [esi + 0x88]
jbe 0x44bd28
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, edx
jle 0x44bbcc
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
cmp dword [ebp - 0x24], 0
lea ecx, [edi - 6]
je 0x44c46f
cmp ecx, 0xf
ja case.default.0x449bf8
jmp dword [ecx*4 + 0x450277]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44bba8
lea eax, [edi + 2]
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e866
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44be29
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 - 0x20]
cmp dword [esi + 0x8c], 0
je 0x44bde2
cmp edx, dword [esi + 0x7c]
jb 0x44bde2
cmp dword [esi + 0x18], 0
jne 0x44bde2
cmp dword [esi + 0x1c], 2
jne 0x44bde2
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44bde2
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
cmp edi, dword [esi + 0x7c]
jae 0x44be14
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44be14
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0xc]
jle 0x44bd78
jmp 0x44bba2
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44bda8
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44bda8
cmp edx, 1
je case.0x414a45.157
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
je case.0x414a45.157
jmp 0x44bdab
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44e866
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44beb1
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 0x44beb1
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jle 0x44be7b
jmp 0x44bba2
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 - 0x2c]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44bba8
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44bba8
mov edx, dword [esi + 0x7c]
cmp edi, edx
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bf2f
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 0x44bf5b
je 0x44bf49
cmp ecx, 0xa
je 0x44bf7c
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414a45.157
jmp 0x44bf72
cmp edi, edx
jae 0x44bf7c
cmp word [edi], 0xa
jne 0x44bf7c
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44bf7c
cmp ecx, 0x85
je 0x44bf72
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 0x44bef1
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bfe1
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 0x44c01f
je case.0x414a45.157
cmp ecx, 0xa0
ja 0x44c011
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp 0x44c05b
cmp ecx, 0x1680
je case.0x414a45.157
jmp 0x44c05b
cmp ecx, 0x205f
ja 0x44c04f
je case.0x414a45.157
cmp ecx, 0x2000
jb 0x44c05b
cmp ecx, 0x200a
jbe case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp 0x44c05b
cmp ecx, 0x3000
je case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bfa2
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c0ba
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 0x44c0ec
je 0x44c124
cmp ecx, 0xa0
ja 0x44c0de
je 0x44c124
cmp ecx, 9
je 0x44c124
cmp ecx, 0x20
jne case.0x414a45.157
jmp 0x44c124
cmp ecx, 0x1680
jne case.0x414a45.157
jmp 0x44c124
cmp ecx, 0x205f
ja 0x44c118
je 0x44c124
cmp ecx, 0x2000
jb case.0x414a45.157
cmp ecx, 0x200a
jbe 0x44c124
cmp ecx, 0x202f
jne case.0x414a45.157
jmp 0x44c124
cmp ecx, 0x3000
jne case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c07b
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c183
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 0x44c1a1
je case.0x414a45.157
cmp ecx, 0xa
jb 0x44c1b5
cmp ecx, 0xd
jbe case.0x414a45.157
jmp 0x44c1b5
cmp ecx, 0x2028
jb 0x44c1b5
cmp ecx, 0x2029
jbe case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c144
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c210
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 0x44c228
je 0x44c237
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414a45.157
jmp 0x44c237
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c1d1
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c292
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 0x44c2a7
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c253
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
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 0x44c2c3
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44bba8
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44e866
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44c335
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 0x44c35d
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44c35d
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44c312
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
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 0x44c37e
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44bba8
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44e866
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44c3f0
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 0x44c418
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44c418
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44c3cd
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
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 0x44c439
jmp 0x44bba2
cmp ecx, 0xf
ja case.default.0x449bf8
jmp dword [ecx*4 + 0x4502b7]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44bba8
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e866
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44c4bf
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 0x44c4eb
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44c4eb
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c4eb
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 0x44c525
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44c525
cmp dword [esi + 0x18], 0
jne 0x44c525
cmp dword [esi + 0x1c], 2
jne 0x44c525
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c525
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
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 0x44c492
jmp 0x44bba2
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x44e866
mov eax, dword [ebp - 0x2c]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44bba8
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e866
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
jg 0x44c5b1
je 0x44c59f
cmp eax, 0xa
je 0x44c5d0
add eax, 0xfffffff5
cmp eax, 1
ja case.0x414a45.157
jmp 0x44c5c6
cmp edi, ecx
jae 0x44c5d0
cmp word [edi], 0xa
jne 0x44c5d0
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44c5d0
cmp eax, 0x85
je 0x44c5c6
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 0x44c574
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44c63c
je case.0x414a45.157
cmp ecx, 0xa0
jg 0x44c62e
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp 0x44c678
cmp ecx, 0x1680
je case.0x414a45.157
jmp 0x44c678
cmp ecx, 0x205f
jg 0x44c66c
je case.0x414a45.157
cmp ecx, 0x2000
jl 0x44c678
cmp ecx, 0x200a
jle case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp 0x44c678
cmp ecx, 0x3000
je case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c5ec
jmp 0x44bba5
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44c6dc
je 0x44c714
cmp ecx, 0xa0
jg 0x44c6ce
je 0x44c714
cmp ecx, 9
je 0x44c714
cmp ecx, 0x20
jne case.0x414a45.157
jmp 0x44c714
cmp ecx, 0x1680
jne case.0x414a45.157
jmp 0x44c714
cmp ecx, 0x205f
jg 0x44c708
je 0x44c714
cmp ecx, 0x2000
jl case.0x414a45.157
cmp ecx, 0x200a
jle 0x44c714
cmp ecx, 0x202f
jne case.0x414a45.157
jmp 0x44c714
cmp ecx, 0x3000
jne case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c698
jmp 0x44bba5
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
jg 0x44c764
je case.0x414a45.157
cmp ecx, 0xa
jl 0x44c778
cmp ecx, 0xd
jle case.0x414a45.157
jmp 0x44c778
cmp ecx, 0x2028
jl 0x44c778
cmp ecx, 0x2029
jle case.0x414a45.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c734
jmp 0x44bba5
mov edi, dword [ebp - 8]
mov ecx, 1
cmp edx, ecx
jl 0x44bba8
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
jg 0x44c7bc
je 0x44c7ca
add eax, 0xfffffff6
cmp eax, 3
ja case.0x414a45.157
jmp 0x44c7ca
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x414a45.157
inc ecx
cmp ecx, edx
jle 0x44c793
mov eax, dword [ebp - 0x2c]
jmp 0x44bba8
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c80d
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 0x44c7e8
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
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 0x44c82f
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c89f
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 0x44c87a
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
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 0x44c8c1
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c931
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 0x44c90c
jmp 0x44bba2
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44bba5
cmp edi, dword [esi + 0x7c]
jae 0x44e866
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 0x44c953
jmp 0x44bba2
mov edx, dword [ebp - 0xc]
jmp 0x4150cc
mov eax, edi
mov dword [ebp - 0x10], eax
test ecx, ecx
js 0x44d22c
cmp ecx, 0xa
ja case.default.0x449bf8
jmp dword [ecx*4 + 0x4502f7]
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov eax, dword [ebp - 0x18]
mov ecx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44ca0b
cmp dword [ebp - 0x24], 0
je 0x44c9f1
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 0x44c9f1
mov ecx, 2
cmp dword [ebp - 0x38], 0
jne 0x44d1c4
inc edx
lea edi, [edi + ecx*2]
mov dword [ebp - 8], edi
cmp edx, eax
jl 0x44c9be
jmp 0x44d1c4
cmp dword [esi + 0x8c], 0
je 0x44d1c4
cmp edi, dword [esi + 0x88]
jbe 0x44d1c4
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jle 0x44d1c4
jmp 0x4490c0
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cafc
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44ca89
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ca89
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44caab
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, 9
je 0x44cad0
cmp eax, 5
je 0x44cad0
cmp eax, 8
je 0x44cad0
xor eax, eax
jmp 0x44cad5
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d1c4
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 0x44ca41
jmp 0x44d1c4
cmp dword [esi + 0x8c], 0
je 0x44d1c4
cmp edi, dword [esi + 0x88]
jbe 0x44d1c4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44d1c4
jmp 0x4490c0
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cafc
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cb7b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cb7b
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cb9d
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b89a0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d1c4
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 0x44cb37
jmp 0x44d1c4
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cafc
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cc36
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cc36
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cc58
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d1c4
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 0x44cbee
jmp 0x44d1c4
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cafc
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44ccea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ccea
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cd0c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f50]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d1c4
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 0x44cca2
jmp 0x44d1c4
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cafc
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cd9e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cd9e
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cdc0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x44cde7
cmp eax, 3
je 0x44cde7
xor eax, eax
jmp 0x44cdec
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d1c4
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 0x44cd56
jmp 0x44d1c4
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov eax, 1
mov dword [ebp - 0x28], eax
cmp edi, dword [esi + 0x7c]
jae 0x44cf62
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44ce6b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ce68
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 - 0x28], eax
jmp 0x44ce6b
mov eax, dword [ebp - 0x28]
cmp ecx, 0x180e
ja 0x44ceb8
je 0x44cf40
cmp ecx, 0x85
ja 0x44ce9f
je 0x44cf40
cmp ecx, 9
jb case.0x44ced4.8203
cmp ecx, 0xd
jbe 0x44cf40
cmp ecx, 0x20
jne case.0x44ced4.8203
jmp 0x44cf40
cmp ecx, 0xa0
je 0x44cf40
cmp ecx, 0x1680
jne case.0x44ced4.8203
jmp 0x44cf40
cmp ecx, 0x202f
ja 0x44cedb
je 0x44cf40
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44ced4.8203
movzx eax, byte [eax + 0x45032b]
jmp dword [eax*4 + 0x450323]
cmp ecx, 0x205f
je 0x44cf40
cmp ecx, 0x3000
je 0x44cf40
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cf0d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b89a0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d1c4
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc]
jmp 0x44cf4a
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x38], 0
jne 0x44d1c4
inc edx
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x18]
jl 0x44ce1c
jmp 0x44d1c4
cmp dword [esi + 0x8c], 0
je 0x44d1c4
cmp edi, dword [esi + 0x88]
jbe 0x44d1c4
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0x44d1c4
jmp 0x4490c0
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov dword [ebp - 0x28], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cafc
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], ecx
je 0x44cfe6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cfe6
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x28], 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 + 0x4b3b40]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44d00c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x44d038
cmp eax, 3
je 0x44d038
cmp edx, 0x5f
je 0x44d038
xor eax, eax
jmp 0x44d03d
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d1c4
mov eax, dword [ebp - 0x28]
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 0x44cf98
jmp 0x44d1c4
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44cafc
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d0b5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d0b5
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 + 0x4a45d0]
lea eax, [eax*4 + 0x4a45d0]
cmp ecx, edx
jb 0x44d0d7
lea eax, [eax + 4]
cmp ecx, edx
je 0x44d0ff
mov edx, dword [eax]
cmp ecx, edx
jae 0x44d0ca
cmp dword [ebp - 0x38], 0
je 0x44d1c4
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 0x44d06d
jmp 0x44d1c4
cmp dword [ebp - 0x38], 0
je 0x44d0e1
jmp 0x44d1c4
cmp edx, dword [ebp - 0x18]
jge 0x44d1c7
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d1a4
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d157
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d157
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 0x44d182
cmp ecx, 0x40
je 0x44d182
cmp ecx, 0x60
je 0x44d182
cmp ecx, 0xa0
jb 0x44d176
cmp ecx, 0xd7ff
jbe 0x44d182
cmp ecx, 0xe000
jae 0x44d182
xor eax, eax
jmp 0x44d187
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d1c4
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 0x44d113
jmp 0x44d1c4
cmp dword [esi + 0x8c], 0
je 0x44d1c4
cmp edi, dword [esi + 0x88]
jbe 0x44d1c4
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x4490c0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414ca0
cmp edi, eax
jbe 0x414b85
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 fcn.00414b3d
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
je 0x44d222
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d222
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x44d1d9
jmp 0x414b85
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x16
jne 0x44d423
cmp edx, dword [ebp - 0x18]
jge 0x44d3d7
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x28], eax
cmp edi, eax
jae 0x44d3af
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44d28b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d28b
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d2ad
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44d374
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44d30f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d30f
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d331
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a5800], eax
je 0x44d368
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x28]
cmp edi, eax
jb 0x44d2d2
jmp 0x44d36b
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44d39d
cmp edi, eax
jb 0x44d39d
cmp edi, dword [esi + 0x88]
jbe 0x44d39d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d241
jmp 0x44d3d4
cmp dword [esi + 0x8c], 0
je 0x44d3d4
cmp edi, dword [esi + 0x88]
jbe 0x44d3d4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414ca0
cmp edi, eax
jbe 0x414b85
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 fcn.00414b3d
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
jne 0x44e1c6
movzx ecx, word [edi]
jmp 0x44e20c
cmp dword [ebp - 0x24], 0
lea eax, [ecx - 6]
je 0x44db83
cmp eax, 0xf
ja case.default.0x449bf8
jmp dword [eax*4 + 0x450357]
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
lea eax, [edi + 2]
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44d59a
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44d500
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 0x44dafe
mov edx, dword [ebp - 0x20]
cmp dword [esi + 0x8c], 0
je 0x44d4b9
cmp edx, dword [esi + 0x7c]
jb 0x44d4b9
cmp dword [esi + 0x18], 0
jne 0x44d4b9
cmp dword [esi + 0x1c], 2
jne 0x44d4b9
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d4b9
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
cmp edi, dword [esi + 0x7c]
jae 0x44d4eb
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d4eb
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d44f
jmp 0x44dafe
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44d47f
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d47f
cmp edx, 1
je 0x44dafe
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44d482
jmp 0x44dafe
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x7fffffff
jge 0x44d590
cmp edx, ecx
jge 0x44dafe
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0x18]
cmp edi, ecx
jae 0x44d59a
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44d586
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 0x44d586
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jl 0x44d554
jmp 0x44dafe
mov edi, dword [esi + 0x7c]
jmp 0x44d597
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44dafe
cmp edi, dword [esi + 0x88]
jbe 0x44dafe
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44dafe
jmp 0x4490c0
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 0x44d595
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44dafe
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
mov eax, dword [esi + 0x7c]
mov edx, 1
cmp edi, eax
jae 0x44d6a7
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d633
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 0x44d654
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x44dafe
cmp word [edi], 0xa
jne 0x44d692
add edi, 2
jmp 0x44d68f
cmp ecx, 0xa
je 0x44d689
cmp dword [esi + 0x6c], 0
jne 0x44dafe
cmp ecx, 0xb
je 0x44d689
cmp ecx, 0xc
je 0x44d689
cmp ecx, 0x85
je 0x44d689
cmp ecx, 0x2028
je 0x44d689
cmp ecx, 0x2029
jne 0x44dafe
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 0x44d5f6
jmp 0x44dafe
cmp dword [esi + 0x8c], 0
je 0x44dafe
cmp edi, dword [esi + 0x88]
jbe 0x44dafe
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jle 0x44dafe
jmp 0x4490c0
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d6a7
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d717
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 0x44d76c
je 0x44d735
cmp ecx, 0xa0
ja 0x44d762
je 0x44d735
cmp ecx, 9
je 0x44d735
cmp ecx, 0x20
jne 0x44d798
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x1c], 0x12
sete al
cmp ecx, eax
je 0x44dafe
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 0x44d6dd
jmp 0x44dafe
cmp ecx, 0x1680
jne 0x44d798
jmp 0x44d735
cmp ecx, 0x205f
ja 0x44d790
je 0x44d735
cmp ecx, 0x2000
jb 0x44d798
cmp ecx, 0x200a
jbe 0x44d735
cmp ecx, 0x202f
jne 0x44d798
jmp 0x44d735
cmp ecx, 0x3000
je 0x44d735
xor ecx, ecx
jmp 0x44d73a
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d6a7
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d7e3
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 0x44d821
je 0x44d82c
cmp ecx, 0xa
jb 0x44d7f7
cmp ecx, 0xd
jbe 0x44d82c
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x1c], 0x14
sete al
cmp ecx, eax
je 0x44dafe
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 0x44d7a5
jmp 0x44dafe
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x44d7f7
mov ecx, 1
jmp 0x44d7f9
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d6a7
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d87a
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 0x44d88f
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44dafe
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 0x44d83c
jmp 0x44dafe
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d6a7
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d8ed
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 0x44dafe
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44dafe
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 0x44d8af
jmp 0x44dafe
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d6a7
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d964
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 0x44d979
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44dafe
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 0x44d926
jmp 0x44dafe
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d6a7
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d9d7
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 0x44dafe
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44dafe
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 0x44d999
jmp 0x44dafe
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d6a7
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44da4e
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 0x44da63
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44dafe
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 0x44dafe
cmp edx, dword [ebp - 0x18]
jge 0x44dafe
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dade
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dab9
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 0x44dafe
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44dafe
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 0x44da7f
jmp 0x44dafe
cmp dword [esi + 0x8c], 0
je 0x44dafe
cmp edi, dword [esi + 0x88]
jbe 0x44dafe
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x4490c0
cmp dword [ebp - 0x34], 0
jne 0x414ca0
cmp edi, dword [ebp - 0x10]
jbe 0x414b85
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 fcn.00414b3d
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 0x44db56
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x1c], 0x11
mov ecx, dword [ebp - 0x10]
jne 0x44db7a
cmp edi, ecx
jbe 0x414b85
cmp word [edi], 0xa
jne 0x44db7a
cmp word [edi - 2], 0xd
jne 0x44db7a
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
ja 0x44db11
jmp 0x414b85
cmp eax, 0xf
ja case.default.0x449bf8
jmp dword [eax*4 + 0x450397]
cmp edx, dword [ebp - 0x18]
jge 0x44e060
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44dc61
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44dbc8
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00415e9f
add esp, 0xc
test eax, eax
je 0x44dbf4
jmp 0x44e060
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44dbf4
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44dbf4
cmp edx, 1
je 0x44e060
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44e060
cmp dword [esi + 0x8c], 0
je 0x44dc2e
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44dc2e
cmp dword [esi + 0x18], 0
jne 0x44dc2e
cmp dword [esi + 0x1c], 2
jne 0x44dc2e
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44dc2e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
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 0x44db9c
jmp 0x44e060
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 0x44dc93
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44e060
cmp edi, dword [esi + 0x88]
jbe 0x44e060
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44e060
jmp 0x4490c0
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44e060
cmp edx, dword [ebp - 0x18]
jge 0x44e060
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44dc61
movzx eax, word [edi]
cmp eax, 0xd
jne 0x44dccc
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44e060
cmp word [edi], 0xa
je 0x44dcfe
jmp 0x44dd04
cmp eax, 0xa
je 0x44dcfe
cmp dword [esi + 0x6c], 0
jne 0x44e060
cmp eax, 0xb
je 0x44dcfe
cmp eax, 0xc
je 0x44dcfe
cmp eax, 0x85
je 0x44dcfe
cmp eax, 0x2028
je 0x44dcfe
cmp eax, 0x2029
jne 0x44e060
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x44dcaa
jmp 0x44e060
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44dc61
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44dd5f
je 0x44e060
cmp eax, 0xa0
jg 0x44dd53
je 0x44e060
cmp eax, 9
je 0x44e060
cmp eax, 0x20
jne 0x44dd95
jmp 0x44e060
cmp eax, 0x1680
jne 0x44dd95
jmp 0x44e060
cmp eax, 0x205f
jg 0x44dd8a
je 0x44e060
cmp eax, 0x2000
jl 0x44dd95
cmp eax, 0x200a
jle 0x44e060
cmp eax, 0x202f
jne 0x44dd95
jmp 0x44e060
cmp eax, 0x3000
je 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44dd1a
jmp 0x44e060
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44dc61
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44dded
je 0x44de1f
cmp eax, 0xa0
jg 0x44dde1
je 0x44de1f
cmp eax, 9
je 0x44de1f
cmp eax, 0x20
je 0x44de1f
jmp 0x44e060
cmp eax, 0x1680
je 0x44de1f
jmp 0x44e060
cmp eax, 0x205f
jg 0x44de14
je 0x44de1f
cmp eax, 0x2000
jl 0x44e060
cmp eax, 0x200a
jle 0x44de1f
cmp eax, 0x202f
je 0x44de1f
jmp 0x44e060
cmp eax, 0x3000
jne 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44ddb4
jmp 0x44e060
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44dc61
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44de62
je 0x44e060
cmp eax, 0xa
jl 0x44de74
cmp eax, 0xd
jg 0x44de74
jmp 0x44e060
cmp eax, 0x2028
jl 0x44de74
cmp eax, 0x2029
jle 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44de3a
jmp 0x44e060
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44dc61
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44deb1
je 0x44debf
add eax, 0xfffffff6
cmp eax, 3
jbe 0x44debf
jmp 0x44e060
add eax, 0xffffdfd8
cmp eax, 1
ja 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44de8f
jmp 0x44e060
cmp edx, dword [ebp - 0x18]
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44dc61
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44defd
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44ded8
jmp 0x44e060
cmp edx, dword [ebp - 0x18]
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44dc61
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e060
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44df17
jmp 0x44e060
cmp edx, dword [ebp - 0x18]
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44dc61
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44df7f
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44df5a
jmp 0x44e060
cmp edx, dword [ebp - 0x18]
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44dc61
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e060
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44df99
jmp 0x44e060
cmp edx, dword [ebp - 0x18]
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44dc61
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44dffd
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44dfdc
jmp 0x44e060
cmp edx, dword [ebp - 0x18]
jge 0x44e060
cmp edi, dword [esi + 0x7c]
jae 0x44e03b
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e060
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44e060
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e010
jmp 0x44e060
cmp dword [esi + 0x8c], 0
je 0x44e060
cmp edi, dword [esi + 0x88]
jbe 0x44e060
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
cmp dword [ebp - 0x34], 0
jne 0x414ca0
cmp edi, dword [ebp - 0x10]
je 0x414b85
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 fcn.00414b3d
mov ecx, dword [ebp - 0x10]
sub edi, 2
cmp dword [ebp - 0x1c], 0x11
mov dword [ebp - 8], edi
jne 0x44e0bc
cmp edi, ecx
jbe 0x44e0be
cmp word [edi], 0xa
jne 0x44e0bc
cmp word [edi - 2], 0xd
jne 0x44e0bc
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
jne 0x44e073
jmp 0x414b85
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 0x44e0f4
lea edx, [ebx + 4]
call fcn.004149c0
add esp, 0x14
test eax, eax
jne fcn.00414b3d
mov ebx, dword [ebp - 0x14]
jmp 0x414b82
mov edx, dword [ebp - 0x14]
call fcn.004149c0
add esp, 0x14
test eax, eax
jne fcn.00414b3d
add ebx, 4
jmp 0x414b82
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
jne 0x44e17e
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.004149c0
add esp, 0x14
test eax, eax
jne fcn.00414b3d
mov ebx, dword [ebp - 0x20]
mov ecx, 0x81
movzx eax, word [ebx]
cmp ax, cx
je 0x44e3db
mov ecx, 0x88
cmp ax, cx
jb 0x414b82
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 fcn.00414b3d
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.004149c0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x44e1a5
mov ecx, dword [ebp - 0x20]
cmp dword [esi + 0xb8], ecx
jne fcn.00414b3d
jmp 0x44e1b0
test eax, eax
jne fcn.00414b3d
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x44e40e
add ebx, 4
jmp 0x414b82
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e1e1
sub edi, 2
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e20c
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e22e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f52]
mov dword [ebp - 0x28], eax
cmp edi, dword [ebp - 0x10]
jbe 0x414b85
cmp dword [ebp - 0x24], 0
lea edx, [edi - 2]
mov dword [ebp - 0x14], edx
jne 0x44e25d
movzx ecx, word [edx]
jmp 0x44e2a3
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e278
sub edx, 2
mov dword [ebp - 0x14], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e2a3
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e2c5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x28]
movzx eax, word [eax*2 + 0x4a5840]
movzx edx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a5800], eax
je 0x44d3e9
mov edi, dword [ebp - 0x14]
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
jmp 0x44e243
mov dword [esi + 0x9c], 2
jmp 0x415302
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x44fec5
cmp word [ebx], 0x77
je 0x415351
cmp word [eax], 0x77
jne 0x44fec5
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 + 0x4a5750]
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 fcn.00414b3d
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp fcn.00414b3d
mov eax, dword [ebp - 0x54]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je case.0x414a45.157
push eax
call dword [0x4a5748]
add esp, 4
jmp case.0x414a45.157
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44e3ca
push eax
call dword [0x4a5748]
add esp, 4
jmp 0x44e3ca
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0xb0], ecx
mov eax, edi
jmp fcn.00414b3d
mov eax, 0xfffffffa
jmp fcn.00414b3d
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 fcn.00414b3d
mov dword [esi + 0xb8], ebx
mov eax, 0xfffffc1b
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x20]
mov dword [esi + 0xb8], eax
mov eax, 0xfffffc1b
jmp fcn.00414b3d
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 fcn.00414b3d
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp fcn.00414b3d
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x90], eax
mov eax, 0xfffffc1a
jmp fcn.00414b3d
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 0x414b38
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp eax, dword [esi + 0x88]
jmp 0x44e4da
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 fcn.00414b3d
mov eax, 0xfffffff2
jmp fcn.00414b3d
cmp eax, 0xfffffffe
jne 0x44e510
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 0x44e4da
mov dword [ebp - 0x14], eax
cmp edi, edx
jl 0x44e53c
mov edi, eax
jmp 0x44e5a1
mov eax, dword [ebp - 8]
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e7bd
add esp, 0xc
test eax, eax
js 0x44e566
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 0x20]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edi, dword [ebp - 0x1c]
jl 0x44e539
jmp 0x44e596
cmp eax, 0xfffffffe
jne 0x44e593
cmp dword [esi + 0x8c], 0
je 0x44e593
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x44e593
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
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 fcn.00414b3d
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 8]
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, edi
jae 0x44e5a1
xor eax, eax
jmp fcn.00414b3d
cmp ecx, 0xfffffffe
jne 0x44e5e8
mov eax, dword [esi + 0x7c]
jmp 0x44e5eb
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp eax, dword [esi + 0x7c]
jb case.0x414a45.157
jmp 0x44e4cc
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x2c]
je case.0x414a45.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e62c
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 0x44e606
jmp fcn.00414b3d
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 0x44e73e
test eax, eax
jne fcn.00414b3d
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 0x44e726
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e6cc
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 0x44e6df
cmp edi, 0x6e
je case.0x414a45.157
jmp 0x44e6fd
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
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 0x44e67e
jmp fcn.00414b3d
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp ecx, dword [esi + 0x88]
jmp 0x44e4da
test eax, eax
jne fcn.00414b3d
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 0x44e4bf
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44e77a
cmp edi, 0x6e
je case.0x414a45.157
jmp 0x44e795
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
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 0x44e746
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x20], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x44e82b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e82b
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 - 0x28]
call fcn.0048eae6
add esp, 4
test eax, eax
je case.0x414a45.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x20]
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 0x44e7e3
jmp fcn.00414b3d
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp edi, dword [esi + 0x88]
jmp 0x44e4da
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp edx, dword [esi + 0x7c]
jb case.0x414a45.157
cmp edx, dword [esi + 0x88]
jmp 0x44e4da
mov ecx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414a45.157
cmp ecx, dword [esi + 0x7c]
jb case.0x414a45.157
jmp 0x44e4d4
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 fcn.00414b3d
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + edx]
mov dword [ebp - 0x28], 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 0x44e91a
lea eax, [edx + edx]
push eax
push dword [ebp - 0x14]
push edi
call fcn.004216c4
add esp, 0xc
test eax, eax
jne 0x44e91a
add edi, dword [ebp - 0x28]
jmp 0x44e954
mov edx, dword [ebp - 0x20]
test edx, edx
jle 0x44e510
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
sub eax, ecx
cmp edi, eax
ja 0x44e510
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x68]
push eax
push edi
call fcn.004216c4
add esp, 0xc
test eax, eax
jne 0x44e510
mov ecx, dword [ebp - 0x20]
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 - 0x28]
add esp, 0x14
mov edx, dword [ebp - 0x1c]
test eax, eax
je 0x44e8ec
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
cmp dword [ebp - 0xc], ecx
je 0x44e9d1
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 0x44e9ab
jmp fcn.00414b3d
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 fcn.00414b3d
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
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 0x44ea1f
jmp fcn.00414b3d
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 0x44eb1a
test eax, eax
jne fcn.00414b3d
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44eae0
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 - 0xc], ecx
je case.0x414a45.157
cmp dword [ebp - 0x20], 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 0x44ea9b
jmp fcn.00414b3d
test eax, eax
jne fcn.00414b3d
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
cmp dword [ebp - 0xc], ecx
je case.0x414a45.157
cmp dword [ebp - 0x20], 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 0x44eb22
jmp fcn.00414b3d
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 - 0x24], 0
je 0x44ec16
test eax, eax
jne fcn.00414b3d
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ebe5
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 - 0xc], 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 0x44eba0
jmp fcn.00414b3d
test eax, eax
jne fcn.00414b3d
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0xc], 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 0x44ec1e
jmp fcn.00414b3d
cmp ecx, 0xa
ja case.default.0x449bf8
jmp dword [ecx*4 + 0x4503d7]
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 fcn.00414b3d
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44eccd
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44eccd
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 0x44ec9d
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44ed6d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ed6d
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ed8f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, 9
je 0x44edb4
cmp eax, 5
je 0x44edb4
cmp eax, 8
je 0x44edb4
xor eax, eax
jmp 0x44edb9
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 0x44ed22
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44ee5b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ee5b
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ee7d
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b89a0], 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 0x44ee10
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44ef40
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ef40
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ef62
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
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 0x44eef5
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f01e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f01e
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f040
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
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 0x44efd3
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f0fc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f0fc
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f11e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x44f145
cmp eax, 3
je 0x44f145
xor eax, eax
jmp 0x44f14a
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 0x44f0b1
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f1ef
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f1ec
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 0x44f23c
je 0x44f2c1
cmp ecx, 0x85
ja 0x44f223
je 0x44f2c1
cmp ecx, 9
jb case.0x44f258.8203
cmp ecx, 0xd
jbe 0x44f2c1
cmp ecx, 0x20
jne case.0x44f258.8203
jmp 0x44f2c1
cmp ecx, 0xa0
je 0x44f2c1
cmp ecx, 0x1680
jne case.0x44f258.8203
jmp 0x44f2c1
cmp ecx, 0x202f
ja 0x44f25f
je 0x44f2c1
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44f258.8203
movzx eax, byte [eax + 0x45040b]
jmp dword [eax*4 + 0x450403]
cmp ecx, 0x205f
je 0x44f2c1
cmp ecx, 0x3000
je 0x44f2c1
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f291
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b89a0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414a45.157
mov eax, dword [ebp - 0xc]
jmp 0x44f2cb
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 0x44f1a1
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
je 0x44f36b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f36b
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 + 0x4b3b40]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44f391
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b89a0]
cmp eax, 1
je 0x44f3bd
cmp eax, 3
je 0x44f3bd
cmp edx, 0x5f
je 0x44f3bd
xor eax, eax
jmp 0x44f3c2
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 0x44f31a
jmp fcn.00414b3d
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 fcn.00414b3d
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f464
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f464
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 + 0x4a45d0]
lea eax, [eax*4 + 0x4a45d0]
cmp ecx, edx
jb 0x44f486
lea eax, [eax + 4]
cmp ecx, edx
je 0x44f4bb
mov edx, dword [eax]
cmp ecx, edx
jae 0x44f479
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 0x44f419
jmp fcn.00414b3d
cmp dword [ebp - 0x38], 0
jne case.0x414a45.157
jmp 0x44f490
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 fcn.00414b3d
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f535
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f535
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 0x44f560
cmp ecx, 0x40
je 0x44f560
cmp ecx, 0x60
je 0x44f560
cmp ecx, 0xa0
jb 0x44f554
cmp ecx, 0xd7ff
jbe 0x44f560
cmp ecx, 0xe000
jae 0x44f560
xor eax, eax
jmp 0x44f565
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 0x44f4ea
jmp fcn.00414b3d
test eax, eax
jne fcn.00414b3d
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414a45.157
cmp edi, dword [esi + 0x7c]
jae 0x44e866
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f5ed
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f5ed
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f60f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44f6cf
mov ebx, ecx
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
je 0x44f670
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f670
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 + 0x4b3b40]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f692
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5840]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4a5800], eax
je 0x44f6c9
mov eax, dword [ebp - 0x14]
mov ebx, ecx
lea edi, [edi + eax*2]
mov eax, dword [esi + 0x7c]
cmp edi, eax
jb 0x44f631
jmp 0x44f6cc
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
je 0x44f6f8
cmp edi, eax
jb 0x44f6f8
cmp edi, dword [esi + 0x88]
jbe 0x44f6f8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
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 0x44f5a2
jmp fcn.00414b3d
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.0x449bf8
jmp dword [eax*4 + 0x450437]
cmp ecx, 0xd
ja 0x44f7c9
je 0x44f7ae
cmp ecx, 0xa
je case.0x44f789.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414a45.157
jmp 0x44f7e0
cmp edi, dword [esi + 0x7c]
jae case.0x44f789.13
cmp word [edi], 0xa
jne case.0x44f789.13
add edi, 2
jmp case.0x44f789.13
cmp ecx, 0x85
je 0x44f7e0
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
cmp dword [esi + 0x6c], 0
jne case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x180e
ja 0x44f833
je case.0x414a45.157
cmp ecx, 0xa0
ja 0x44f822
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x1680
je case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x205f
ja 0x44f86a
je case.0x414a45.157
cmp ecx, 0x2000
jb case.0x44f789.13
cmp ecx, 0x200a
jbe case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x3000
je case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x180e
ja 0x44f8bf
je case.0x44f789.13
cmp ecx, 0xa0
ja 0x44f8ae
je case.0x44f789.13
cmp ecx, 9
je case.0x44f789.13
cmp ecx, 0x20
jne case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x1680
jne case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x205f
ja 0x44f8f6
je case.0x44f789.13
cmp ecx, 0x2000
jb case.0x414a45.157
cmp ecx, 0x200a
jbe case.0x44f789.13
cmp ecx, 0x202f
jne case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x3000
jne case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x85
ja 0x44f92c
je case.0x414a45.157
cmp ecx, 0xa
jb case.0x44f789.13
cmp ecx, 0xd
jbe case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x2028
jb case.0x44f789.13
cmp ecx, 0x2029
jbe case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x85
ja 0x44f968
je case.0x44f789.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414a45.157
jmp case.0x44f789.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x100
jae case.0x44f789.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x100
jae case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x100
jae case.0x44f789.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x100
jae case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x100
jae case.0x44f789.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414a45.157
jmp case.0x44f789.13
cmp ecx, 0x100
jae case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414a45.157
jmp case.0x44f789.13
cmp edi, dword [esi + 0x7c]
jb case.0x44f789.13
cmp dword [esi + 0x18], 0
jne case.0x44f789.13
cmp dword [esi + 0x1c], 2
jne case.0x44f789.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44f789.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
jmp case.0x44f789.13
test eax, eax
jne fcn.00414b3d
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414a45.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e866
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x44faed
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fabb
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 0x44fae7
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44fae7
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44fae7
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.0x449bf8
jmp dword [eax*4 + 0x450477]
cmp dword [esi + 0x8c], 0
je case.0x44faff.13
cmp edi, dword [esi + 0x7c]
jb case.0x44faff.13
cmp dword [esi + 0x18], 0
jne case.0x44faff.13
cmp dword [esi + 0x1c], 2
jne case.0x44faff.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44faff.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x4490c0
jmp case.0x44faff.13
cmp ecx, 0xd
ja 0x44fb8e
je 0x44fb73
cmp ecx, 0xa
je case.0x44faff.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414a45.157
jmp 0x44fba5
cmp edi, dword [esi + 0x7c]
jae case.0x44faff.13
cmp word [edi], 0xa
jne case.0x44faff.13
add edi, 2
jmp case.0x44faff.13
cmp ecx, 0x85
je 0x44fba5
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
cmp dword [esi + 0x6c], 0
jne case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x180e
ja 0x44fbf8
je case.0x414a45.157
cmp ecx, 0xa0
ja 0x44fbe7
je case.0x414a45.157
cmp ecx, 9
je case.0x414a45.157
cmp ecx, 0x20
je case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x1680
je case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x205f
ja 0x44fc2f
je case.0x414a45.157
cmp ecx, 0x2000
jb case.0x44faff.13
cmp ecx, 0x200a
jbe case.0x414a45.157
cmp ecx, 0x202f
je case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x3000
je case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x180e
ja 0x44fc84
je case.0x44faff.13
cmp ecx, 0xa0
ja 0x44fc73
je case.0x44faff.13
cmp ecx, 9
je case.0x44faff.13
cmp ecx, 0x20
jne case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x1680
jne case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x205f
ja 0x44fcbb
je case.0x44faff.13
cmp ecx, 0x2000
jb case.0x414a45.157
cmp ecx, 0x200a
jbe case.0x44faff.13
cmp ecx, 0x202f
jne case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x3000
jne case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x85
ja 0x44fcf1
je case.0x414a45.157
cmp ecx, 0xa
jb case.0x44faff.13
cmp ecx, 0xd
jbe case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x2028
jb case.0x44faff.13
cmp ecx, 0x2029
jbe case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0x85
ja 0x44fd2d
je case.0x44faff.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414a45.157
jmp case.0x44faff.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0xff
ja case.0x44faff.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0xff
ja case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0xff
ja case.0x44faff.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0xff
ja case.0x414a45.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414a45.157
jmp case.0x44faff.13
cmp ecx, 0xff
ja case.0x44faff.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414a45.157
jmp case.0x44faff.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 0x44fa7a
jmp fcn.00414b3d
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 0x44fe37
cmp word [eax], 0x77
jne 0x415055
xor edx, edx
mov eax, dword [ebp - 0x20]
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 - 0x38]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x34]
mov dword [eax + ecx*4], esi
jmp 0x415055
cmp edx, 0xfffffc1b
jne 0x44fec5
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x44feb7
cmp eax, 0x77
jne 0x44feae
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44fea0
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 fcn.00414b3d
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 + 0x4a5750]
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 0x44ff20
cmp edi, 0xfffffc19
jne 0x44ff2d
cmp dword [esi + 0xb0], 0
je 0x44e3c1
cmp edi, 0xfffffc1f
jne 0x44e3ca
mov edx, dword [esi + 0x80]
mov ecx, dword [ebp - 0x14]
call fcn.0048e9c8
test eax, eax
jne 0x44e3ca
jmp 0x450064
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 + 0x4a5750]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
add esp, 0x14
test eax, eax
jne fcn.00414b3d
mov eax, 0xfffffc1c
jmp fcn.00414b3d
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 + 0x4a5750]
push dword [ebp + 8]
or byte [ebp + 0xfe84314], cl
dec edx
cld
inc dword [ebx - 0x3f7aeb3c]
jne fcn.00414b3d
mov eax, 0xfffffc1d
jmp fcn.00414b3d
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 + 0x4a5750]
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 0x450012
cmp eax, 0xfffffc19
jne 0x450021
cmp dword [esi + 0xb0], 0
jne 0x450021
mov dword [esi + 0xb0], edi
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4a5750]
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 fcn.00414b3d
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp fcn.00414b3d
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 + 0x4a5750]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.004149c0
add esp, 0x14
jmp 0x4500a3
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 + 0x4a5750]
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 0x450107
cmp eax, 0xfffffc19
jne 0x4500a3
cmp edi, 0x9f
je 0x414b1b
cmp dword [esi + 0xa8], 0
jne 0x414b1b
cmp dword [esi + 0x60], 0
jne case.0x414a45.157
cmp dword [esi + 0x64], 0
je 0x414b1b
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x414a45.157
jmp 0x414b1b
inc dword [esi]
mov eax, 0xfffffff8
jmp fcn.00414b3d