Function at 0x414860
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 0x447dd8
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 0x44fd9a
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x41529a
cmp dword [esi + 0x9c], 2
je 0x447e09
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x20], 0
cmp edi, 0xa1
ja case.0x4148e5.98
movzx eax, byte [edi + 0x4153f0]
jmp dword [eax*4 + 0x4152a4]
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
mov ecx, 0x88
sub edi, eax
mov dword [ebp - 0x1c], edi
movzx eax, word [edi]
cmp ax, cx
jae 0x448a2e
mov ecx, 0x81
cmp ax, cx
je 0x448a2e
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp eax, 0x7d
jb 0x414933
mov dword [ebp - 0x14], 0x80
cmp ax, word [ebp - 0x14]
jbe 0x44e0de
mov dword [ebp - 0x14], 0x82
cmp ax, word [ebp - 0x14]
je 0x44e0de
mov dword [ebp - 0x14], 0x85
cmp ax, word [ebp - 0x14]
je 0x414cb0
mov dword [ebp - 0x14], 0x8a
cmp ax, word [ebp - 0x14]
je 0x414cb0
mov dword [ebp - 0x14], 0x86
cmp ax, word [ebp - 0x14]
je 0x414cb0
mov dword [ebp - 0x14], 0x8b
cmp ax, word [ebp - 0x14]
je 0x414cb0
cmp word [ebx], 0x78
jne 0x448aa0
mov eax, 0x81
cmp word [edi], ax
je 0x44e0a9
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4148bf
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x44fd54
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x415286
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x88
jae 0x44df3e
cmp edi, 0x81
je 0x44df3e
cmp dword [esi + 0x70], 0
jne 0x4151a2
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x4151a2
movzx eax, word [ebx]
movzx eax, byte [eax + 0x4a5470]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x24], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x4148a3
jmp 0x44fd9a
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], edi
cmp eax, edi
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x414a6e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44995e
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x414a90
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f52]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x414b2b
mov ebx, dword [ebp - 0x2c]
mov esi, eax
cmp dword [ebp - 0x24], 0
mov edi, 1
movzx ecx, word [esi]
je 0x414ad1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x449983
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x414af3
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x14]
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a5520], eax
jne 0x414c27
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 8], esi
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
jne 0x4499a7
add ebx, 2
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x4148bf
movzx ecx, word [ebx + 0x22]
lea eax, [ebx + 2]
add ebx, 0x22
mov dword [ebp - 0x28], eax
mov edx, ecx
mov dword [ebp - 0x30], ebx
mov eax, edx
cmp eax, 0x6d
jle 0x415062
mov edx, dword [ebp - 0x20]
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x24], 0
je 0x449c6c
mov dword [ebp - 0x2c], 1
cmp eax, 1
jl 0x4150c1
lea ecx, [ecx]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
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 0x449c36
cmp ecx, 0xff
ja 0x449c5e
mov esi, dword [ebp - 0x28]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x14]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0x4148e5.157
mov ecx, dword [ebp - 0x2c]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [ebp - 0x10]
jle 0x414b90
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
je 0x414b3e
test edx, edx
jne 0x44e28f
mov ecx, eax
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x24], edx
je 0x449d3f
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
jge 0x415120
jmp 0x4150d3
lea esi, [esi + edi*2]
mov dword [ebp - 0x14], ecx
cmp esi, ebx
jb 0x414ab1
jmp 0x414b1c
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
cmp dword [ebp - 0x24], 0
je 0x44a170
movzx edi, word [ebx + 2]
add ebx, 2
mov eax, edi
mov edx, 1
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a0bd
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp edi, 0x80
jae 0x44a0e1
cmp ecx, 0xff
ja 0x414c8f
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.0x4148e5.157
add ebx, 2
add dword [ebp - 8], 2
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], ebx
jmp 0x4148bf
movzx ecx, word [edi + 4]
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x2c], ecx
lea edi, [ecx + ecx]
mov dword [ebp - 0x14], edi
test eax, eax
jne 0x448a44
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [esi + 0x94], eax
cmp edi, dword [esi + 0x14]
jge 0x448a69
mov ecx, dword [ebp + 0xc]
cmp edi, ecx
jg 0x448a79
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
cmp dword [ebp + 0xc], edi
jg 0x414d1e
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
jmp 0x414988
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
je 0x414d59
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x449729
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x414d7f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x4a5560]
cmp eax, 9
jne 0x449751
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4a42f0]
lea eax, [eax*4 + 0x4a42f0]
cmp edx, ecx
jb 0x449950
lea eax, [eax + 4]
cmp edx, ecx
je 0x414dc2
mov ecx, dword [eax]
cmp edx, ecx
jae 0x414db0
jmp 0x449950
cmp edi, 0x10
jne case.0x4148e5.157
mov edx, dword [ebp - 8]
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x4148bf
cmp dword [ebp - 0x24], 0
je 0x44a08e
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 0x415267
mov eax, dword [esi + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp edi, eax
jg 0x44e4bd
test edi, edi
jle 0x414b3e
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.0x4148e5.157
test edi, edi
jle 0x414b3e
jmp 0x414e22
movzx edx, word [ebx + 4]
mov dword [ebp - 0x2c], edx
lea eax, [edx + edx]
mov dword [ebp - 0x14], eax
cmp eax, dword [esi + 0x14]
jge case.0x4148e5.129
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
jmp 0x414ea0
cmp edi, 0x88
jae 0x44fa47
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414860
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x44fa9e
cmp edx, 0xfffffc20
je 0x44fa56
test edx, edx
je 0x44fa7b
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 0x41527f
mov eax, 1
movsx edi, byte [ecx + 0x4a545c]
movsx edx, byte [ecx + 0x4a5450]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], edi
test edi, edi
jne 0x414f3d
mov dword [ebp - 0x18], bind
movzx edi, word [ebx]
add ebx, 2
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], ebx
cmp edi, 0x10
je 0x44af28
cmp edi, 0xf
je 0x44af1f
or ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
test edx, edx
jg 0x44af47
mov edi, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x414b3e
test eax, eax
je 0x44c4c9
test ecx, ecx
jns 0x44e8ac
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.00414860
add esp, 0x14
cmp dword [ebp - 0x1c], 0x16
je 0x44f1dc
cmp dword [ebp - 0x24], 0
je 0x44f6b4
test eax, eax
jne 0x4149db
lea esp, [esp]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x4148e5.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e4a5
cmp dword [ebp - 0x1c], 0xc
jne 0x415005
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f365
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415d3f
add esp, 0xc
test eax, eax
jne case.0x4148e5.157
mov edx, dword [ebp - 0xc]
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44f39e
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x44f3bf
cmp dword [esi + 0x8c], 0
jne 0x44f672
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
jmp 0x414fc0
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x415075
movzx eax, byte [eax + 0x41549c]
jmp dword [eax*4 + 0x415494]
lea eax, [edx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jb 0x415219
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], 1
movsx ecx, byte [eax + 0x4a5450]
mov dword [ebp - 0x10], ecx
movsx ecx, byte [eax + 0x4a545c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0x414b73
mov ecx, bind
jmp 0x414b70
mov eax, dword [ebp - 8]
jmp 0x414bf7
mov eax, dword [ebp - 8]
mov ecx, 1
mov dword [ebp - 0x14], ecx
cmp eax, dword [esi + 0x7c]
jae 0x449d12
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x449cda
cmp edx, 0xff
ja 0x449d04
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
jne 0x415224
cmp dword [ebp - 0x34], 0
jne 0x414b3e
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
jmp 0x44e245
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0x4148e5.119
mov dword [ebp - 0x30], ebx
jmp 0x4148bf
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
jmp 0x44871f
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414860
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x44df4d
test edx, edx
jne 0x44fac8
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.0x4148e5.157
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x94], eax
jmp case.0x4148e5.129
test al, 1
jne 0x41525d
xor edx, edx
jmp 0x415098
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 0x4150d0
jmp 0x415120
add ebx, 2
jmp 0x448778
mov eax, dword [ebp - 8]
jmp 0x448ac4
mov edi, dword [ebp - 0x24]
jmp 0x4490d1
mov edx, 1
jmp 0x415098
mov edi, 2
jmp 0x414e08
xor ecx, ecx
jmp 0x44a203
xor ecx, ecx
jmp 0x44a8a9
xor eax, eax
jmp 0x414f1b
mov eax, 0xfffffc19
jmp 0x4149db
mov eax, 0xfffffffb
jmp 0x4149db
mov eax, 0xffffffeb
jmp 0x4149db
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x447dfa
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.00414860
add esp, 0x14
jmp 0x4149db
sub ecx, eax
test ecx, ecx
jle 0x447e02
neg ecx
mov eax, ecx
jmp 0x4149db
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 0x414b3e
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x44df79
movzx eax, word [ebx]
movzx ecx, byte [eax + 0x4a5470]
movzx eax, word [ebx + 2]
add ecx, eax
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x30], ebx
jmp 0x4148bf
mov eax, dword [ebp - 8]
mov edi, dword [esi + 0xb0]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414860
add esp, 0x14
cmp eax, 1
je 0x447ed1
cmp eax, 0xfffffc20
jne 0x447eb1
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0x4149db
cmp word [ebx], 0x77
je 0x447eb9
cmp word [ecx], 0x77
jne 0x4149db
jmp 0x447eb9
test eax, eax
jne 0x4149db
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x447e63
mov ecx, dword [ebp + 8]
jmp 0x447eda
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x447ef0
cmp eax, 0x77
jne case.0x4148e5.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447ef0
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 0x44849b
cmp eax, dword [ebp - 0x2c]
jne 0x44dcfc
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414b3e
mov dword [ebp - 0x28], 0
jmp 0x4487b3
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x28], eax
cmp word [ebx], 0x76
jne 0x448018
cmp dword [0x4c6524], 0
je 0x44800f
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 0x447fd9
mov dword [ebp - 0x7c], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0x78], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x9c]
push eax
call dword [0x4c6524]
add esp, 4
test eax, eax
jg case.0x4148e5.157
js 0x4149db
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x28]
add ebx, 8
sub eax, 4
mov dword [ebp - 0x28], eax
movzx eax, word [ebx]
xor ecx, ecx
mov dword [ebp - 0x34], eax
add eax, 0xffffff73
mov dword [ebp - 0x1c], ecx
cmp eax, 4
ja case.default.0x448031
jmp dword [eax*4 + 0x44fda8]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x4481c5
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x4480d5
cmp eax, dword [ecx + 4]
je 0x4480d5
xor ecx, ecx
jmp case.0x448031.145
cmp dword [esi + 0xa8], ecx
je case.0x448031.145
movzx ecx, word [ebx + 2]
imul ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jle 0x4481c5
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x1c], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
dec ecx
movzx eax, word [eax]
cmp eax, dword [ebp - 0x14]
je 0x4480d5
mov edx, dword [ebp - 0x2c]
mov eax, dword [esi + 0x24]
lea edx, [edx + eax*2]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 8]
test ecx, ecx
jg 0x44809d
jmp 0x4481c5
movzx ecx, word [ebx + 2]
add ecx, ecx
cmp ecx, dword [ebp + 0xc]
jge 0x44805a
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x44805a
mov ecx, 1
jmp 0x4481a7
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 0x4481c5
mov dword [ebp - 0x1c], 0
movzx ecx, word [ecx]
dec eax
add ecx, ecx
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp + 0xc]
jge 0x44811a
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4480d5
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], ecx
test eax, eax
jg 0x448103
jmp 0x4481c5
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.00414860
add esp, 0x14
cmp eax, 1
jne 0x4481b3
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x44816a
mov dword [ebp + 0xc], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
mov dword [ebp - 0x1c], 1
jne 0x44818d
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x44817f
mov eax, dword [ebp - 0x34]
mov ecx, 2
movzx eax, byte [eax + 0x4a5470]
sub ecx, eax
lea ebx, [edx + ecx*2]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + 0x4a5470]
jmp 0x4481cb
test eax, eax
je 0x4481c2
cmp eax, 0xfffffc20
jne 0x4149db
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
test ecx, ecx
jne 0x4481e0
cmp word [ebx - 4], 0x77
jne 0x4148bf
cmp edi, 0x8c
jne 0x414a26
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.00414860
add esp, 0x14
jmp 0x4149db
movzx ecx, word [ebx + 2]
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
mov dword [ebp - 0x14], ecx
or eax, ecx
lea edi, [ecx + ecx]
mov dword [esi + 0x94], eax
cmp edi, dword [esi + 0x14]
jl 0x448246
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x448272
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
cmp dword [ebp + 0xc], edi
jg 0x448272
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4148bf
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x14], eax
jne 0x4482a0
mov edi, 1
mov dword [esi + 0x9c], 0
jmp 0x4482a2
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.00414860
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x44831b
cmp ecx, 0xfffffc19
je 0x44831b
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x448303
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x447e02
cmp word [ebx], 0x77
je 0x44830b
cmp word [eax], 0x77
jne 0x447e02
jmp 0x44830b
test ecx, ecx
jne 0x447e02
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4482a2
jmp 0x448324
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x4148e5.157
test edi, edi
jne 0x4149d6
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448336
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0x414b3e
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x44837a
mov dword [ebp - 0x14], 1
mov dword [esi + 0x9c], 0
jmp 0x448381
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.00414860
mov ecx, eax
mov dword [esi + 0xb0], edi
add esp, 0x14
cmp ecx, 0xfffffc20
jg 0x4483da
jne 0x4483ed
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448408
cmp word [ebx], 0x77
je 0x4483ca
cmp word [eax], 0x77
jne 0x448408
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448381
jmp 0x448416
mov eax, ecx
sub eax, 0
je 0x4483ca
dec eax
je case.0x4148e5.157
jmp 0x447e02
cmp ecx, 0xfffffc19
je case.0x4148e5.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x447e02
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448408
cmp dword [ebp - 0x14], 0
jne 0x4149d6
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414b3e
cmp dword [ebp - 0x24], 0
je 0x448470
movzx ecx, word [ebx + 2]
test ecx, ecx
jle 0x44848a
mov eax, dword [ebp - 8]
dec ecx
sub eax, 2
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0x4148e5.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x44846a
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x448439
jmp 0x44848d
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.0x4148e5.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x44849b
mov dword [esi + 0x88], eax
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414b3e
cmp dword [0x4c6524], 0
je 0x448579
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 0x448540
mov dword [ebp - 0xb0], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xd0]
push eax
call dword [0x4c6524]
add esp, 4
test eax, eax
jg case.0x4148e5.157
js 0x4149db
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x30], ebx
jmp 0x4148bf
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp - 0x14], edi
cmp edi, ecx
jne 0x448599
xor edx, edx
jmp 0x44859d
movzx edx, word [edi + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x4485c4
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x4485be
cmp eax, dword [ecx + 0x14]
jne 0x4485be
mov eax, 0xffffffe6
jmp 0x4149db
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4485aa
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 0x448604
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x4c], eax
jmp 0x448623
lea eax, [ecx*4]
push eax
call dword [0x4a546c]
add esp, 4
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x44e013
mov ecx, dword [ebp - 0x48]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.00420e40
mov eax, 0x88
add esp, 0xc
cmp word [edi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x44864f
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 8]
lea edx, [edi + eax*2]
call fcn.00414860
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.00420e40
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 0x4486f1
cmp edi, 0xfffffc19
je 0x4486f1
cmp edi, 0xfffffc1c
jl 0x4486c0
cmp edi, 0xfffffc20
jle case.0x4148e5.157
test edi, edi
jne 0x44dfea
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 0x44dfc1
mov eax, dword [ebp - 0x2c]
jmp 0x448641
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x448708
push eax
call dword [0x4a5468]
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x414b3e
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44871f
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414b3e
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 0x448740
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
jmp 0x414b3e
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448778
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4148bf
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x28], 1
cmp edi, 0x86
je 0x4487b3
cmp edi, 0x8b
jne 0x448934
movzx edx, word [ebx + 4]
mov dword [ebp - 0x2c], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge case.0x4148e5.132
xor ecx, ecx
shl eax, 2
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
sub ecx, dword [esi + 0x74]
sar ecx, 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 8]
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x2c]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x448826
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414860
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x448891
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov ecx, 1
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 8], eax
jmp 0x448800
cmp ecx, 0xfffffc20
jne 0x4488be
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x447e02
cmp word [ebx], 0x77
je 0x4488c6
cmp word [eax], 0x77
jne 0x447e02
jmp 0x4488c6
test ecx, ecx
jne 0x447e02
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 0x448800
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x448910
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x20]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], 0
jne 0x44849b
test eax, eax
je case.0x4148e5.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414b3e
mov dword [ebp - 0x28], 0
mov eax, ebx
mov dword [ebp - 0x14], 0
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
cmp edi, 0x88
jb 0x448960
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414860
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x4489be
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x14], 1
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x44894e
cmp ecx, 0xfffffc20
jne 0x4489eb
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x447e02
cmp word [ebx], 0x77
je 0x4489f3
cmp word [eax], 0x77
jne 0x447e02
jmp 0x4489f3
test ecx, ecx
jne 0x447e02
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x448a0f
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp 0x44894e
cmp dword [ebp - 0x14], 0
jne 0x44849b
cmp dword [ebp - 0x28], 0
je case.0x4148e5.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414b3e
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 0x41491a
cmp dword [eax + 4], ecx
jne 0x414ccb
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0x4149db
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x414d1e
mov eax, dword [esi + 0xc]
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0x414cf2
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 0x414cf2
mov eax, dword [ebp - 8]
cmp eax, ecx
jne 0x44dd46
mov edx, eax
jmp 0x414992
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x448ac4
cmp eax, dword [esi + 0x78]
je case.0x4148e5.157
cmp eax, dword [esi + 0x78]
jne case.0x4148e5.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414b3e
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x448aea
cmp eax, dword [esi + 0x78]
je case.0x4148e5.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x414b38
cmp eax, dword [esi + 0x7c]
je case.0x4148e5.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x448b2d
cmp eax, ecx
jbe case.0x4148e5.157
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0048e714
add esp, 0xc
test eax, eax
je case.0x4148e5.157
jmp 0x414b38
mov eax, dword [esi + 0x1c]
lea edi, [eax + eax]
lea eax, [edi + ecx]
cmp dword [ebp - 8], eax
jb case.0x4148e5.157
mov ecx, dword [ebp - 8]
sub ecx, edi
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0x4148e5.157
cmp dword [esi + 0x1c], 1
je 0x414b38
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x4148e5.157
jmp 0x414b38
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp edx, eax
jne case.0x4148e5.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x4148bf
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x414b3e
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x448c63
mov edx, dword [esi + 0x18]
test edx, edx
je 0x448c2c
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00415d3f
add esp, 0xc
test eax, eax
jne 0x414b38
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x4148e5.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0x4148e5.157
cmp dword [esi + 0x18], 0
jne case.0x4148e5.157
cmp dword [esi + 0x1c], 2
jne case.0x4148e5.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0x4148e5.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x4148e5.157
mov eax, 0xfffffff4
jmp 0x4149db
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x448bd1
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x448bce
cmp edx, 1
je 0x414b38
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x448bce
jmp 0x414b38
cmp dword [esi + 0x4c], 0
jne case.0x4148e5.157
cmp dword [esi + 0x8c], 0
je 0x414b38
cmp eax, dword [esi + 0x88]
jbe 0x414b38
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414b3e
cmp dword [esi + 0x4c], 0
jne case.0x4148e5.157
cmp dword [esi + 0x5c], 0
je case.0x4148e5.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0x4148e5.157
jmp 0x448c6d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x448c6d
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x448ceb
push dword [ebp - 0x24]
push edi
push ecx
mov ecx, eax
call fcn.00415d3f
add esp, 0xc
test eax, eax
jne 0x448d20
jmp 0x448bce
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x448bd1
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x448bce
cmp edx, 1
je 0x448d20
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x448bce
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 0x448bd1
jmp 0x448c6d
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 8]
je 0x448eec
cmp eax, dword [esi + 0x78]
je 0x448e24
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x448d6b
sub edx, 2
cmp edx, dword [esi + 0x88]
jae 0x448d79
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448da4
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 0x448e06
cmp ecx, 0x5f
jne 0x448db7
mov eax, dword [ebp - 8]
lea edi, [ecx - 0x5e]
jmp 0x448e26
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x448dd9
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x448dfc
cmp eax, 3
jne 0x448e21
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x448e26
cmp ecx, 0x100
jae 0x448e21
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x448e21
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x448e26
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x448e8e
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448e59
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 0x448ed5
cmp ecx, 0x5f
je 0x449016
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
js 0x448fc2
jmp 0x448fc7
cmp dword [esi + 0x8c], 0
je 0x448eb3
cmp eax, dword [esi + 0x88]
jbe 0x448eb3
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
xor ecx, ecx
mov ax, word [ebx]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp ax, 5
jne 0x449020
cmp ecx, edi
je case.0x4148e5.157
jmp 0x414b3e
cmp ecx, 0x100
jae 0x448eb3
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x449016
jmp 0x448eb3
cmp eax, dword [esi + 0x78]
je 0x448f8c
cmp eax, dword [esi + 0x88]
ja 0x448f09
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0x448f6c
cmp ecx, 0x5f
jne 0x448f1d
lea edi, [ecx - 0x5e]
jmp 0x448f8e
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x448f3f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x448f62
cmp eax, 3
jne 0x448f89
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x448f8e
mov edx, 0xff
cmp cx, dx
ja 0x448f8c
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x448f89
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x448f8e
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x448e8e
cmp dword [esi + 0x58], 0
je 0x448ff6
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x449016
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x448fc7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x449016
cmp eax, 3
jne 0x448eb3
lea ecx, [eax - 2]
jmp 0x448eb5
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x448eb3
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x448eb3
mov ecx, 1
jmp 0x448eb5
cmp ecx, edi
jne case.0x4148e5.157
jmp 0x414b3e
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x44905c
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x24]
cmp eax, ecx
jae 0x449094
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00415d3f
add esp, 0xc
test eax, eax
jne case.0x4148e5.157
jmp 0x449091
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44908e
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44908e
cmp edx, 1
je case.0x4148e5.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0x4148e5.157
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x4490d4
add eax, 2
cmp eax, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
jb 0x4490d4
cmp dword [esi + 0x18], 0
jne 0x4490d4
cmp dword [esi + 0x1c], 2
jne 0x4490d4
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4490d1
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x44e0fe
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0x414b38
cmp eax, ecx
jae 0x414b38
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x414b38
add dword [ebp - 8], 2
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449177
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449177
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 0x414b38
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4148e5.157
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4491de
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4491de
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.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4148e5.157
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449245
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449245
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 0x414b38
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4148e5.157
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4492ac
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4492ac
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.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4148e5.157
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449313
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449313
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 0x414b38
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4148e5.157
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44937a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44937a
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.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4148e5.157
jmp 0x414b38
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4493e6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x4493e6
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 0x449452
je 0x449407
cmp ecx, 0xa
je 0x414b38
jbe case.0x4148e5.157
cmp ecx, 0xc
ja case.0x4148e5.157
jmp 0x449469
cmp eax, edx
jb 0x44943d
cmp dword [esi + 0x8c], 0
je 0x414b38
cmp eax, dword [esi + 0x88]
jbe 0x414b38
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
jmp 0x414b38
cmp word [eax], 0xa
jne 0x414b38
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414b38
cmp ecx, 0x85
je 0x449469
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4148e5.157
cmp dword [esi + 0x6c], 0
jne case.0x4148e5.157
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4494c1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4494c1
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 0x449505
je case.0x4148e5.157
cmp ecx, 0xa0
ja 0x4494f4
je case.0x4148e5.157
cmp ecx, 9
je case.0x4148e5.157
cmp ecx, 0x20
je case.0x4148e5.157
jmp 0x414b38
cmp ecx, 0x1680
je case.0x4148e5.157
jmp 0x414b38
cmp ecx, 0x205f
ja 0x44953c
je case.0x4148e5.157
cmp ecx, 0x2000
jb 0x414b38
cmp ecx, 0x200a
jbe case.0x4148e5.157
cmp ecx, 0x202f
je case.0x4148e5.157
jmp 0x414b38
cmp ecx, 0x3000
je case.0x4148e5.157
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449596
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449596
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 0x4495da
je 0x414b38
cmp ecx, 0xa0
ja 0x4495c9
je 0x414b38
cmp ecx, 9
je 0x414b38
cmp ecx, 0x20
jne case.0x4148e5.157
jmp 0x414b38
cmp ecx, 0x1680
jne case.0x4148e5.157
jmp 0x414b38
cmp ecx, 0x205f
ja 0x449611
je 0x414b38
cmp ecx, 0x2000
jb case.0x4148e5.157
cmp ecx, 0x200a
jbe 0x414b38
cmp ecx, 0x202f
jne case.0x4148e5.157
jmp 0x414b38
cmp ecx, 0x3000
jne case.0x4148e5.157
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44966b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44966b
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 0x449690
je case.0x4148e5.157
cmp ecx, 0xa
jb 0x414b38
cmp ecx, 0xd
jbe case.0x4148e5.157
jmp 0x414b38
cmp ecx, 0x2028
jb 0x414b38
cmp ecx, 0x2029
jbe case.0x4148e5.157
jmp 0x414b38
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x4496f6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4496f6
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 0x449715
je 0x414b38
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4148e5.157
jmp 0x414b38
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4148e5.157
jmp 0x414b38
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 0x414d59
cmp eax, 0xa
ja case.default.0x44975a
jmp dword [eax*4 + 0x44fdbc]
mov al, byte [ecx*8 + 0x4a2f51]
cmp al, 9
je 0x449786
cmp al, 5
je 0x449786
cmp al, 8
je 0x449786
xor ecx, ecx
jmp 0x4497a2
cmp edi, 0xf
je case.0x4148e5.157
jmp 0x414dcb
mov ecx, 1
jmp 0x4497a2
movzx eax, byte [ecx*8 + 0x4a2f51]
xor ecx, ecx
cmp dword [eax*4 + 0x4b6ea0], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x4148e5.157
jmp 0x414dcb
movzx ecx, byte [ecx*8 + 0x4a2f51]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x4b6ea0]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0x4148e5.157
jmp 0x414dcb
movzx eax, byte [ecx*8 + 0x4a2f51]
jmp 0x4497f6
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.0x4148e5.157
jmp 0x414dcb
movzx eax, byte [ecx*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x449786
cmp eax, 3
je 0x449786
xor ecx, ecx
jmp 0x4497a2
cmp edx, 0x180e
ja 0x449895
je case.0x44975a.0
cmp edx, 0x85
ja 0x449878
je case.0x44975a.0
cmp edx, 9
jb case.0x4498b9.8203
cmp edx, 0xd
jbe case.0x44975a.0
cmp edx, 0x20
je case.0x44975a.0
jmp case.0x4498b9.8203
cmp edx, 0xa0
je case.0x44975a.0
cmp edx, 0x1680
je case.0x44975a.0
jmp case.0x4498b9.8203
cmp edx, 0x202f
ja 0x4498c0
je case.0x44975a.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4498b9.8203
movzx eax, byte [edx + 0x44fdf0]
jmp dword [eax*4 + 0x44fde8]
cmp edx, 0x205f
je case.0x44975a.0
cmp edx, 0x3000
je case.0x44975a.0
jmp case.0x4498b9.8203
movzx eax, byte [ecx*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x449786
cmp eax, 3
je 0x449786
cmp edx, 0x5f
je 0x449786
xor ecx, ecx
jmp 0x4497a2
cmp edx, 0x24
je 0x449786
cmp edx, 0x40
je 0x449786
cmp edx, 0x60
je 0x449786
cmp edx, 0xa0
jb 0x44993d
cmp edx, 0xd7ff
jbe 0x449786
cmp edx, 0xe000
jae 0x449786
xor ecx, ecx
jmp 0x4497a2
cmp edi, 0x10
je case.0x4148e5.157
jmp 0x414dcb
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 0x414a6e
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
jmp 0x414ad1
cmp eax, edi
jb 0x414b38
jmp 0x448c7a
movzx ecx, word [ebx + 2]
xor eax, eax
cmp edi, 0x74
sete al
imul ecx, dword [esi + 0x24]
mov dword [ebp - 0x34], eax
movzx eax, word [ebx + 4]
add ebx, 6
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x30], ebx
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x54]
neg ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
sbb ecx, ecx
xor edi, edi
neg ecx
mov dword [ebp - 0x10], edi
dec ecx
mov dword [ebp - 0x1c], ecx
test eax, eax
jle 0x449a72
dec eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x2c]
movzx edi, word [eax]
add edi, edi
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp + 0xc]
jge 0x449a1c
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x449a1c
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x449a6f
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0x2c]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 8]
test eax, eax
jg 0x4499f6
jmp 0x449a72
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 0x449a65
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x449a65
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x449a6f
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x1c], ecx
movzx eax, word [ebx]
mov dword [ebp - 0x14], eax
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0x449a8b
movzx eax, byte [eax + 0x44fe24]
jmp dword [eax*4 + 0x44fe1c]
mov eax, dword [ebp - 0x14]
add ebx, 2
add eax, 0xffffff9e
mov dword [ebp - 0x30], ebx
movzx edi, al
and edi, 1
mov dword [ebp - 0x20], edi
movsx edi, byte [eax + 0x4a5450]
movsx eax, byte [eax + 0x4a545c]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x449af3
mov dword [ebp - 0x28], bind
jmp 0x449af3
movzx edi, word [ebx + 2]
xor eax, eax
cmp word [ebx], 0x69
mov dword [ebp - 0x2c], edi
sete al
mov dword [ebp - 0x20], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x449aed
mov dword [ebp - 0x28], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
test ecx, ecx
je 0x4148bf
jns 0x449b05
test edi, edi
je 0x4148bf
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0x449b47
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e4a4
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44e21d
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], ecx
cmp ecx, edi
mov ecx, dword [ebp - 0x1c]
jle 0x449b14
mov edx, dword [ebp - 0x28]
cmp edi, edx
je 0x414b3e
cmp dword [ebp - 0x20], 0
je 0x44e16d
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], eax
jge case.0x4148e5.157
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov edx, edi
push esi
push dword [ebp - 0x1c]
call fcn.0048e4a4
add esp, 0xc
test eax, eax
js 0x44e147
inc dword [ebp - 0x2c]
lea edi, [edi + eax*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414860
add esp, 0x14
test eax, eax
je 0x449b82
jmp 0x4149db
push dword [ebp - 0x34]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.0048e4a4
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44e21d
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x414b3e
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 0x449c2b
mov ecx, bind
mov dword [ebp - 0x1c], ecx
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x414b73
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 0x414bba
cmp edi, 0x6e
je case.0x4148e5.157
jmp 0x414be5
cmp eax, 1
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 8]
jl 0x414bf7
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x449ca7
cmp edi, 0x6e
je case.0x4148e5.157
jmp 0x449cc9
mov esi, dword [ebp - 0x28]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x2c]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0x4148e5.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x10]
jle 0x449c7f
jmp 0x414bf4
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 0x4150f9
cmp edi, 0x6e
je 0x415120
jmp 0x415227
cmp dword [esi + 0x8c], 0
je 0x415120
cmp eax, dword [esi + 0x88]
jbe 0x415120
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jg 0x448c22
jmp 0x415120
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], edx
jge 0x449db7
mov ecx, dword [ebp - 0x10]
cmp eax, dword [esi + 0x7c]
jae 0x449d8f
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x449d61
cmp edi, 0x6e
jne 0x449d7e
jmp 0x449db4
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
mov eax, dword [ebp - 8]
je 0x449db4
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 0x449d4a
jmp 0x449db4
cmp dword [esi + 0x8c], 0
je 0x449db4
cmp eax, dword [esi + 0x88]
jbe 0x449db4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov ecx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp eax, ecx
jb case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
sub edi, 2
cmp edi, dword [ebp - 0x20]
jae 0x449dcc
jmp 0x4149db
lea eax, [ebx + 4]
mov dword [ebp - 0x2c], eax
movzx eax, word [ebx + 2]
movzx edi, word [ebx + eax*2]
lea ebx, [ebx + eax*2]
mov ecx, edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ecx
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x449e28
movzx eax, byte [eax + 0x44fe34]
jmp dword [eax*4 + 0x44fe2c]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x449e4b
mov ecx, dword [ebp - 0x34]
movzx eax, al
and eax, 1
mov dword [ebp - 0x20], eax
jmp 0x449e56
mov eax, dword [ebp - 0x20]
mov ecx, 1
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
movsx esi, byte [esi + 0x4a53fa]
movsx edi, byte [edi + 0x4a53ee]
test esi, esi
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x10], edi
jne 0x449ed2
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1c], bind
jmp 0x449ed2
movzx esi, word [ebx + 4]
xor eax, eax
cmp edi, 0x69
mov dword [ebp - 0x1c], esi
sete al
xor ecx, ecx
cmp edi, 0x6d
mov dword [ebp - 0x20], eax
movzx edi, word [ebx + 2]
sete cl
mov dword [ebp - 0x10], edi
test esi, esi
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp + 0x10]
jne 0x449eb5
mov dword [ebp - 0x1c], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x449ed2
mov eax, dword [ebp - 0x20]
mov edi, 1
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0x449f50
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x24]
mov dword [ebp - 8], eax
test edx, edx
je 0x449f28
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449f28
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
push edx
mov edx, dword [ebp - 0x2c]
call fcn.0048e7cd
add esp, 4
test eax, eax
je case.0x4148e5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, edi
jle 0x449ede
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
cmp edi, dword [ebp - 0x1c]
je 0x4148bf
test eax, eax
jne 0x44e3fc
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
cmp edi, dword [ebp - 0x1c]
jl 0x449f76
mov edi, eax
jmp 0x44a013
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp eax, dword [esi + 0x7c]
jae 0x449fe8
mov edx, dword [ebp - 0x24]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
test edx, edx
je 0x449fbe
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449fbe
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
push edx
mov edx, dword [ebp - 0x2c]
call fcn.0048e7cd
add esp, 4
test eax, eax
je 0x44a010
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
inc edi
mov dword [ebp - 0x10], edi
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x1c]
jl 0x449f73
jmp 0x44a00d
cmp dword [esi + 0x8c], 0
je 0x44a00d
cmp eax, dword [esi + 0x88]
jbe 0x44a00d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x414b3e
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x28]
je case.0x4148e5.157
cmp dword [ebp - 0x24], 0
je 0x44a06a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44a06a
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.00414860
add esp, 0x14
test eax, eax
je 0x44a03e
jmp 0x4149db
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x44e365
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0x4148e5.157
add ebx, 4
jmp 0x414b3b
movzx eax, word [ebx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov edx, 2
add edi, 0x10000
jmp 0x414c6e
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a11b
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 0x4148bf
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44a14f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edi
cmp dword [ebp - 0x14], eax
jne case.0x4148e5.157
jmp 0x414b3e
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0x44a18a
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x44a18c
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0x44a1a3
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x4148e5.157
add eax, 2
add ebx, 4
mov dword [ebp - 8], eax
jmp 0x414b3b
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x20]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
jmp 0x44a264
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 0x44a1f1
cmp ecx, 0x35
je 0x44a1f1
xor edx, edx
jmp 0x44a1f6
mov edx, 1
mov dword [ebp - 0x20], edx
add ebx, 4
jmp 0x44a261
mov ecx, 1
mov dword [ebp - 0x18], bind
jmp 0x44a215
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov edx, dword [ebp - 0x20]
add ebx, 2
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x10], ecx
jmp 0x44a264
cmp edi, 0x2e
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
movzx edx, cl
and edx, 1
mov dword [ebp - 0x20], edx
movsx eax, byte [ecx + 0x4a5450]
mov dword [ebp - 0x10], eax
movsx eax, byte [ecx + 0x4a545c]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x44a261
mov dword [ebp - 0x18], bind
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x24], 0
movzx eax, word [ebx]
mov dword [ebp - 0xc], eax
je 0x44a4d1
and eax, 0xfc00
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], ebx
cmp eax, 0xd800
jne 0x44a2b0
and dword [ebp - 0xc], 0x3ff
movzx eax, word [ebx + 2]
shl dword [ebp - 0xc], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0xc]
add eax, 0x10000
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 0x1c]
lea eax, [esi + esi]
add ebx, eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc]
cmp esi, 1
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
jle 0x44a4d7
cmp edi, 0x2e
jb 0x44a325
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44a2f6
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov ecx, dword [eax*8 + 0x4a2f54]
add ecx, edx
cmp ecx, edx
je 0x44a31f
lea edx, [ebp - 0x68]
call fcn.0048ec11
mov edx, dword [ebp - 0x20]
mov edi, eax
mov ecx, dword [ebp - 0x10]
jmp 0x44a327
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0xc], 1
cmp ecx, 1
jge 0x44a33b
mov eax, dword [ebp - 8]
jmp 0x44a3b7
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44a36c
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00421484
add esp, 0xc
test eax, eax
jne 0x44a369
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 8], eax
jmp 0x44a3a6
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44e4e1
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44e4e1
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00421484
add esp, 0xc
test eax, eax
jne 0x44e4de
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 0x44a33b
mov edx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x18]
je 0x414b3e
test edx, edx
jne 0x44e4fc
mov edx, eax
mov dword [ebp - 0x28], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44a46d
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44a401
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00421484
add esp, 0xc
test eax, eax
jne 0x44a3fe
mov eax, dword [ebp - 0x2c]
jmp 0x44a429
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44a43a
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44a43a
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00421484
add esp, 0xc
test eax, eax
jne 0x44a43a
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 0x44a3d6
jmp 0x44a467
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x44a46a
cmp eax, dword [esi + 0x7c]
jb 0x44a467
cmp eax, dword [esi + 0x88]
jbe 0x44a467
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp eax, edx
je 0x414a23
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
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 0x44a4c7
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x28]
jne 0x44a482
jmp 0x414a23
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp edi, 0x2e
jb 0x44a62a
cmp dword [ebp - 0x24], 0
je 0x44a52a
cmp eax, 0x7f
jbe 0x44a52a
mov edi, dword [ebp - 0xc]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44a50f
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x20]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edi
jmp 0x44a53b
mov edi, dword [ebp - 0xc]
cmp eax, 0xff
ja 0x44a53b
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edi]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, 1
jl 0x44a580
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx esi, word [eax]
mov dword [ebp - 0x14], esi
cmp edi, esi
mov esi, dword [ebp + 0x10]
je 0x44a572
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
jne case.0x4148e5.157
inc dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x2c], ecx
jle 0x44a54d
cmp ecx, dword [ebp - 0x18]
je 0x414b3e
test edx, edx
jne 0x44e5c4
mov edx, eax
mov dword [ebp - 0x28], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44a5e2
cmp eax, dword [esi + 0x7c]
jae 0x44a5ba
movzx edx, word [eax]
cmp edi, edx
je 0x44a5ac
cmp dword [ebp - 0x1c], edx
jne 0x44a5df
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x18]
jl 0x44a59b
jmp 0x44a5df
cmp dword [esi + 0x8c], 0
je 0x44a5df
cmp eax, dword [esi + 0x88]
jbe 0x44a5df
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp eax, edx
je 0x414a23
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.00414860
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x4149db
cmp edi, dword [ebp - 0x28]
jne 0x44a5f7
jmp 0x414a23
mov dword [ebp - 0x14], 1
cmp ecx, 1
jge 0x44a63b
mov edi, dword [ebp - 8]
jmp 0x44a667
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
mov edi, dword [ebp - 8]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0xc], eax
jne case.0x4148e5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, ecx
jle 0x44a63b
cmp ecx, dword [ebp - 0x18]
je 0x414b3e
test edx, edx
jne 0x44e63b
mov eax, dword [ebp - 8]
mov edx, eax
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
cmp ecx, edi
jge 0x44a6a8
mov edx, dword [ebp - 0xc]
cmp eax, dword [esi + 0x7c]
jae 0x44a6f0
movzx eax, word [eax]
cmp edx, eax
jne 0x44a6a2
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, edi
jl 0x44a68a
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp eax, edx
je 0x414a23
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.00414860
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x4149db
cmp edi, dword [ebp - 0x28]
jne 0x44a6bd
jmp 0x414a23
cmp dword [esi + 0x8c], 0
je 0x44a6a5
cmp eax, dword [esi + 0x88]
jbe 0x44a6a5
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
jmp 0x44a6a5
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
cmp dword [ebp - 0x24], 0
je 0x44a827
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 0x44a76a
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x44a7aa
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
cmp edi, 0x1f
jne 0x44a7bc
cmp edx, ecx
je case.0x4148e5.157
jmp 0x414b3e
cmp edx, 0x7f
jbe 0x44a7ff
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44a7e7
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edx
jmp 0x44a812
cmp edx, 0xff
ja 0x44a810
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edx]
jmp 0x44a812
mov eax, edx
cmp edx, ecx
je case.0x4148e5.157
cmp eax, ecx
je case.0x4148e5.157
jmp 0x414b3e
movzx edx, word [eax]
add eax, 2
movzx ecx, word [ebx + 2]
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x4148e5.157
cmp edi, 0x20
jne 0x44849b
cmp ecx, 0xff
ja 0x44a854
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x4148e5.157
add ebx, 4
jmp 0x414b3b
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x20]
mov ecx, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], ecx
jmp 0x44a918
movzx eax, word [ebx + 2]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], eax
cmp ecx, 0x42
je 0x44a897
cmp ecx, 0x4f
je 0x44a897
xor edx, edx
jmp 0x44a89c
mov edx, 1
mov dword [ebp - 0x20], edx
add ebx, 4
jmp 0x44a915
mov ecx, 1
mov dword [ebp - 0xc], bind
jmp 0x44a8bb
xor ecx, ecx
mov dword [ebp - 0xc], 1
add ebx, 2
jmp 0x44a8cc
movzx eax, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0xc], eax
add ebx, 4
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x10], ecx
jmp 0x44a918
cmp edi, 0x48
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
movzx edx, cl
and edx, 1
mov dword [ebp - 0x20], edx
movsx eax, byte [ecx + 0x4a5450]
mov dword [ebp - 0x10], eax
movsx eax, byte [ecx + 0x4a545c]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x44a915
mov dword [ebp - 0xc], bind
mov ecx, dword [ebp - 0x10]
movzx eax, word [ebx]
add ebx, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], ebx
je 0x44a95f
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a95c
and dword [ebp - 0x18], 0x3ff
movzx eax, word [ebx]
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ebx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], ebx
jmp 0x44a95f
mov eax, dword [ebp - 0x18]
cmp edi, 0x48
jb 0x44ac29
cmp dword [ebp - 0x24], 0
je 0x44a9b2
cmp eax, 0x7f
jbe 0x44a9b2
mov edi, dword [ebp - 0x18]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44a997
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x20]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0x4a2f54]
add eax, edi
jmp 0x44a9c3
mov edi, dword [ebp - 0x18]
cmp eax, 0xff
ja 0x44a9c3
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edi]
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], 1
je 0x44aa47
cmp ecx, 1
jge 0x44a9e0
mov eax, dword [ebp - 8]
jmp 0x44aa81
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx edi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44aa28
movzx eax, word [eax]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, dword [ebp - 8]
add edi, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], edi
je case.0x4148e5.157
cmp dword [ebp - 0x1c], edi
je case.0x4148e5.157
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, ecx
jle 0x44a9e0
jmp 0x44aa7e
mov eax, dword [ebp - 8]
cmp ecx, 1
jl 0x44aa81
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx edi, word [eax]
cmp dword [ebp - 0x18], edi
je case.0x4148e5.157
cmp dword [ebp - 0x1c], edi
je case.0x4148e5.157
mov edi, dword [ebp - 0x14]
add eax, 2
inc edi
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], edi
cmp edi, ecx
jle 0x44aa4f
mov edi, dword [ebp - 0x18]
cmp ecx, dword [ebp - 0xc]
je 0x414b3e
test edx, edx
jne 0x44e6aa
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x20], edx
je 0x44ab95
cmp ecx, dword [ebp - 0xc]
jge 0x44ab0c
mov edi, 1
cmp eax, dword [esi + 0x7c]
jae 0x44ab70
movzx edx, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44aae7
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
cmp dword [ebp - 0x18], edx
je 0x44ab06
cmp dword [ebp - 0x1c], edx
je 0x44ab06
lea ecx, [ecx + edi*2]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
inc ecx
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0xc]
jl 0x44aaa6
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp eax, edx
je 0x414a23
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
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 0x44ab66
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
jne 0x44ab21
jmp 0x414a23
cmp dword [esi + 0x8c], 0
je 0x44ab09
cmp eax, dword [esi + 0x88]
jbe 0x44ab09
mov dword [esi + 0x68], edi
cmp dword [esi + 0x8c], edi
jg 0x448c22
jmp 0x44ab09
cmp ecx, dword [ebp - 0xc]
jge 0x44abe1
cmp eax, dword [esi + 0x7c]
jae 0x44abb9
movzx edx, word [eax]
cmp edi, edx
je 0x44abde
cmp dword [ebp - 0x1c], edx
je 0x44abde
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0xc]
jl 0x44ab9a
jmp 0x44abde
cmp dword [esi + 0x8c], 0
je 0x44abde
cmp eax, dword [esi + 0x88]
jbe 0x44abde
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp eax, edx
je 0x414a23
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
jne 0x44abf6
jmp 0x414a23
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], 1
je 0x44ac9d
cmp ecx, 1
jl 0x44acd1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx edi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44ac87
movzx eax, word [eax]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, dword [ebp - 8]
add edi, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x18], edi
je case.0x4148e5.157
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, ecx
jle 0x44ac3f
jmp 0x44acd4
cmp ecx, 1
jl 0x44acd1
mov ecx, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
cmp ecx, dword [esi + 0x7c]
jae 0x44e365
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x18], eax
je case.0x4148e5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, edi
jle 0x44aca8
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
cmp ecx, edi
je 0x414b3e
test edx, edx
jne 0x44e7b6
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x1c], edx
je 0x44ade3
cmp ecx, edi
jge 0x44ad5a
mov edi, 1
cmp eax, dword [esi + 0x7c]
jae 0x44adbe
movzx edx, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ad3b
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 2
add edx, 0x10000
cmp dword [ebp - 0x18], edx
je 0x44ad54
mov eax, dword [ebp - 0x10]
lea ecx, [ecx + edi*2]
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, ecx
jl 0x44acfa
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp eax, edx
je 0x414a23
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
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 0x44adb4
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
jne 0x44ad6f
jmp 0x414a23
cmp dword [esi + 0x8c], 0
je 0x44ad57
cmp eax, dword [esi + 0x88]
jbe 0x44ad57
mov dword [esi + 0x68], edi
cmp dword [esi + 0x8c], edi
jg 0x448c22
jmp 0x44ad57
cmp ecx, edi
jge 0x44ae08
mov edx, dword [ebp - 0x18]
cmp eax, dword [esi + 0x7c]
jae 0x44ae50
movzx eax, word [eax]
cmp edx, eax
je 0x44ae02
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, edi
jl 0x44adea
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp eax, edx
je 0x414a23
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
jne 0x44ae1d
jmp 0x414a23
cmp dword [esi + 0x8c], 0
je 0x44ae05
cmp eax, dword [esi + 0x88]
jbe 0x44ae05
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
jmp 0x44ae05
movzx edi, word [ebx + 2]
mov eax, 1
mov edx, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xc], edx
add ebx, 4
mov dword [ebp - 0x20], eax
jmp 0x414f3d
movzx edi, word [ebx + 2]
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], edi
cmp ecx, 0x5c
mov dword [ebp - 0xc], edx
sete al
add ebx, 4
mov dword [ebp - 0x20], eax
jmp 0x414f3d
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x414f36
mov eax, dword [ebp - 0x20]
mov edx, 1
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x414f36
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], 1
jmp 0x414f3d
movzx ecx, word [ebx + 2]
xor edx, edx
mov eax, dword [ebp - 0x20]
add ebx, 4
mov dword [ebp - 0x34], 1
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], ecx
jmp 0x414f3d
mov dword [ebp - 0x38], 1
jmp 0x44af2f
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 0x414f5e
test ecx, ecx
js 0x44b6e4
cmp ecx, 0xa
ja case.default.0x44975a
jmp dword [ecx*4 + 0x44fe40]
cmp dword [ebp - 0x38], 0
jne case.0x4148e5.157
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c4c1
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44afa6
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x44afa6
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44af7a
jmp 0x44b6d9
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x414f6c
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b009
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b009
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b02b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, 9
je 0x44b050
cmp eax, 5
je 0x44b050
cmp eax, 8
je 0x44b050
xor eax, eax
jmp 0x44b055
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x4148e5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44afc4
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x414f6c
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b0d0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b0d0
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b0f2
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x4148e5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b08b
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x414f6c
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b18e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b18e
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b1b0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x4148e5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b149
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x414f6c
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b245
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b245
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b267
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f50]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x4148e5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b200
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x414f6c
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b2fc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b2fc
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b31e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44b345
cmp eax, 3
je 0x44b345
xor eax, eax
jmp 0x44b34a
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x4148e5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b2b7
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x414f6c
mov eax, dword [ebp - 0x24]
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
test eax, eax
je 0x44b3c9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b3c6
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 0x44b416
je 0x44b49e
cmp ecx, 0x85
ja 0x44b3fd
je 0x44b49e
cmp ecx, 9
jb case.0x44b432.8203
cmp ecx, 0xd
jbe 0x44b49e
cmp ecx, 0x20
jne case.0x44b432.8203
jmp 0x44b49e
cmp ecx, 0xa0
je 0x44b49e
cmp ecx, 0x1680
jne case.0x44b432.8203
jmp 0x44b49e
cmp ecx, 0x202f
ja 0x44b439
je 0x44b49e
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44b432.8203
movzx eax, byte [eax + 0x44fe74]
jmp dword [eax*4 + 0x44fe6c]
cmp ecx, 0x205f
je 0x44b49e
cmp ecx, 0x3000
je 0x44b49e
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b46b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x4148e5.157
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
jmp 0x44b4a8
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x38], 0
jne case.0x4148e5.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b383
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp edx, 1
jl 0x414f6c
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edi
je 0x44b51d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b51d
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44b543
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44b56f
cmp eax, 3
je 0x44b56f
cmp edx, 0x5f
je 0x44b56f
xor eax, eax
jmp 0x44b574
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x4148e5.157
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, edx
jle 0x44b4d2
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x414f6c
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b5ef
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b5ef
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0x4a42f0]
lea eax, [eax*4 + 0x4a42f0]
cmp ecx, edx
jb 0x44b611
lea eax, [eax + 4]
cmp ecx, edx
je 0x44b631
mov edx, dword [eax]
cmp ecx, edx
jae 0x44b604
cmp dword [ebp - 0x38], 0
je case.0x4148e5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44b5aa
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
cmp dword [ebp - 0x38], 0
jne case.0x4148e5.157
jmp 0x44b61b
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c4c1
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b693
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b693
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 0x44b6be
cmp ecx, 0x40
je 0x44b6be
cmp ecx, 0x60
je 0x44b6be
cmp ecx, 0xa0
jb 0x44b6b2
cmp ecx, 0xd7ff
jbe 0x44b6be
cmp ecx, 0xe000
jae 0x44b6be
xor eax, eax
jmp 0x44b6c3
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44b64e
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
jmp 0x414f6c
cmp edi, 0x16
jne 0x44b876
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
cmp edx, 1
jl 0x414f6c
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x2c], eax
cmp edi, eax
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44b74a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b74a
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b76c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44b833
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44b7ce
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b7ce
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b7f0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a5520], eax
je 0x44b827
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp edi, eax
jb 0x44b791
jmp 0x44b82a
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44b85c
cmp edi, eax
jb 0x44b85c
cmp edi, dword [esi + 0x88]
jbe 0x44b85c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
jle 0x44b700
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
cmp dword [ebp - 0x24], 0
lea ecx, [edi - 6]
je 0x44bfa3
cmp ecx, 0xf
ja case.default.0x44975a
jmp dword [ecx*4 + 0x44fea0]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44b6dc
lea eax, [edi + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e4a5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44b95d
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415d3f
add esp, 0xc
test eax, eax
jne case.0x4148e5.157
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44b916
cmp edx, dword [esi + 0x7c]
jb 0x44b916
cmp dword [esi + 0x18], 0
jne 0x44b916
cmp dword [esi + 0x1c], 2
jne 0x44b916
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44b916
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
cmp edi, dword [esi + 0x7c]
jae 0x44b948
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44b948
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0xc]
jle 0x44b8ac
jmp 0x44b6d6
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44b8dc
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44b8dc
cmp edx, 1
je case.0x4148e5.157
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
je case.0x4148e5.157
jmp 0x44b8df
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44e4a5
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44b9e5
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 0x44b9e5
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jle 0x44b9af
jmp 0x44b6d6
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja case.0x4148e5.157
mov eax, dword [ebp - 0x20]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44b6dc
mov edx, dword [esi + 0x7c]
cmp edi, edx
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ba63
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 0x44ba8f
je 0x44ba7d
cmp ecx, 0xa
je 0x44bab0
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x4148e5.157
jmp 0x44baa6
cmp edi, edx
jae 0x44bab0
cmp word [edi], 0xa
jne 0x44bab0
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44bab0
cmp ecx, 0x85
je 0x44baa6
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4148e5.157
cmp dword [esi + 0x6c], 0
jne case.0x4148e5.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44ba25
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bb15
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 0x44bb53
je case.0x4148e5.157
cmp ecx, 0xa0
ja 0x44bb45
je case.0x4148e5.157
cmp ecx, 9
je case.0x4148e5.157
cmp ecx, 0x20
je case.0x4148e5.157
jmp 0x44bb8f
cmp ecx, 0x1680
je case.0x4148e5.157
jmp 0x44bb8f
cmp ecx, 0x205f
ja 0x44bb83
je case.0x4148e5.157
cmp ecx, 0x2000
jb 0x44bb8f
cmp ecx, 0x200a
jbe case.0x4148e5.157
cmp ecx, 0x202f
je case.0x4148e5.157
jmp 0x44bb8f
cmp ecx, 0x3000
je case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bad6
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bbee
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 0x44bc20
je 0x44bc58
cmp ecx, 0xa0
ja 0x44bc12
je 0x44bc58
cmp ecx, 9
je 0x44bc58
cmp ecx, 0x20
jne case.0x4148e5.157
jmp 0x44bc58
cmp ecx, 0x1680
jne case.0x4148e5.157
jmp 0x44bc58
cmp ecx, 0x205f
ja 0x44bc4c
je 0x44bc58
cmp ecx, 0x2000
jb case.0x4148e5.157
cmp ecx, 0x200a
jbe 0x44bc58
cmp ecx, 0x202f
jne case.0x4148e5.157
jmp 0x44bc58
cmp ecx, 0x3000
jne case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bbaf
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bcb7
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 0x44bcd5
je case.0x4148e5.157
cmp ecx, 0xa
jb 0x44bce9
cmp ecx, 0xd
jbe case.0x4148e5.157
jmp 0x44bce9
cmp ecx, 0x2028
jb 0x44bce9
cmp ecx, 0x2029
jbe case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bc78
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bd44
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 0x44bd5c
je 0x44bd6b
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4148e5.157
jmp 0x44bd6b
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bd05
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bdc6
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 0x44bddb
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bd87
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4148e5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44bdf7
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44b6dc
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44e4a5
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44be69
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4148e5.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44be91
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44be91
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44be46
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4148e5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44beb2
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44b6dc
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44e4a5
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44bf24
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4148e5.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44bf4c
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44bf4c
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44bf01
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4148e5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44bf6d
jmp 0x44b6d6
cmp ecx, 0xf
ja case.default.0x44975a
jmp dword [ecx*4 + 0x44fee0]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44b6dc
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e4a5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44bff3
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00415d3f
add esp, 0xc
test eax, eax
jne case.0x4148e5.157
jmp 0x44c01f
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44c01f
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c01f
cmp edx, 1
je case.0x4148e5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4148e5.157
cmp dword [esi + 0x8c], 0
je 0x44c059
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44c059
cmp dword [esi + 0x18], 0
jne 0x44c059
cmp dword [esi + 0x1c], 2
jne 0x44c059
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c059
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
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 0x44bfc6
jmp 0x44b6d6
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x44e4a5
mov eax, dword [ebp - 0x20]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e4a5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
jg 0x44c0e5
je 0x44c0d3
cmp eax, 0xa
je 0x44c104
add eax, 0xfffffff5
cmp eax, 1
ja case.0x4148e5.157
jmp 0x44c0fa
cmp edi, ecx
jae 0x44c104
cmp word [edi], 0xa
jne 0x44c104
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44c104
cmp eax, 0x85
je 0x44c0fa
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x4148e5.157
cmp dword [esi + 0x6c], 0
jne case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c0a8
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44c170
je case.0x4148e5.157
cmp ecx, 0xa0
jg 0x44c162
je case.0x4148e5.157
cmp ecx, 9
je case.0x4148e5.157
cmp ecx, 0x20
je case.0x4148e5.157
jmp 0x44c1ac
cmp ecx, 0x1680
je case.0x4148e5.157
jmp 0x44c1ac
cmp ecx, 0x205f
jg 0x44c1a0
je case.0x4148e5.157
cmp ecx, 0x2000
jl 0x44c1ac
cmp ecx, 0x200a
jle case.0x4148e5.157
cmp ecx, 0x202f
je case.0x4148e5.157
jmp 0x44c1ac
cmp ecx, 0x3000
je case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c120
jmp 0x44b6d9
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44c210
je 0x44c248
cmp ecx, 0xa0
jg 0x44c202
je 0x44c248
cmp ecx, 9
je 0x44c248
cmp ecx, 0x20
jne case.0x4148e5.157
jmp 0x44c248
cmp ecx, 0x1680
jne case.0x4148e5.157
jmp 0x44c248
cmp ecx, 0x205f
jg 0x44c23c
je 0x44c248
cmp ecx, 0x2000
jl case.0x4148e5.157
cmp ecx, 0x200a
jle 0x44c248
cmp ecx, 0x202f
jne case.0x4148e5.157
jmp 0x44c248
cmp ecx, 0x3000
jne case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c1cc
jmp 0x44b6d9
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
jg 0x44c298
je case.0x4148e5.157
cmp ecx, 0xa
jl 0x44c2ac
cmp ecx, 0xd
jle case.0x4148e5.157
jmp 0x44c2ac
cmp ecx, 0x2028
jl 0x44c2ac
cmp ecx, 0x2029
jle case.0x4148e5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c268
jmp 0x44b6d9
mov edi, dword [ebp - 8]
mov ecx, 1
cmp edx, ecx
jl 0x44b6dc
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
jg 0x44c2f0
je 0x44c2fe
add eax, 0xfffffff6
cmp eax, 3
ja case.0x4148e5.157
jmp 0x44c2fe
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x4148e5.157
inc ecx
cmp ecx, edx
jle 0x44c2c7
mov eax, dword [ebp - 0x20]
jmp 0x44b6dc
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c341
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4148e5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c31c
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x4148e5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4148e5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c363
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c3d3
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4148e5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c3ae
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x4148e5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4148e5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c3f5
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c465
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4148e5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c440
jmp 0x44b6d6
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44b6d9
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x4148e5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4148e5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c487
jmp 0x44b6d6
mov edx, dword [ebp - 0xc]
jmp 0x414f6c
mov eax, edi
mov dword [ebp - 0x10], eax
test ecx, ecx
js 0x44cd60
cmp ecx, 0xa
ja case.default.0x44975a
jmp dword [ecx*4 + 0x44ff20]
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov eax, dword [ebp - 0x18]
mov ecx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44c53f
cmp dword [ebp - 0x24], 0
je 0x44c525
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 0x44c525
mov ecx, 2
cmp dword [ebp - 0x38], 0
jne 0x44ccf8
inc edx
lea edi, [edi + ecx*2]
mov dword [ebp - 8], edi
cmp edx, eax
jl 0x44c4f2
jmp 0x44ccf8
cmp dword [esi + 0x8c], 0
je 0x44ccf8
cmp edi, dword [esi + 0x88]
jbe 0x44ccf8
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jle 0x44ccf8
jmp 0x448c22
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c630
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44c5bd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c5bd
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c5df
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, 9
je 0x44c604
cmp eax, 5
je 0x44c604
cmp eax, 8
je 0x44c604
xor eax, eax
jmp 0x44c609
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44ccf8
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 0x44c575
jmp 0x44ccf8
cmp dword [esi + 0x8c], 0
je 0x44ccf8
cmp edi, dword [esi + 0x88]
jbe 0x44ccf8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44ccf8
jmp 0x448c22
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c630
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44c6af
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c6af
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c6d1
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44ccf8
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 0x44c66b
jmp 0x44ccf8
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c630
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44c76a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c76a
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c78c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44ccf8
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 0x44c722
jmp 0x44ccf8
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c630
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44c81e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c81e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c840
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f50]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44ccf8
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 0x44c7d6
jmp 0x44ccf8
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c630
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44c8d2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c8d2
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c8f4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44c91b
cmp eax, 3
je 0x44c91b
xor eax, eax
jmp 0x44c920
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44ccf8
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 0x44c88a
jmp 0x44ccf8
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov eax, 1
mov dword [ebp - 0x2c], eax
cmp edi, dword [esi + 0x7c]
jae 0x44ca96
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44c99f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c99c
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x2c], eax
jmp 0x44c99f
mov eax, dword [ebp - 0x2c]
cmp ecx, 0x180e
ja 0x44c9ec
je 0x44ca74
cmp ecx, 0x85
ja 0x44c9d3
je 0x44ca74
cmp ecx, 9
jb case.0x44ca08.8203
cmp ecx, 0xd
jbe 0x44ca74
cmp ecx, 0x20
jne case.0x44ca08.8203
jmp 0x44ca74
cmp ecx, 0xa0
je 0x44ca74
cmp ecx, 0x1680
jne case.0x44ca08.8203
jmp 0x44ca74
cmp ecx, 0x202f
ja 0x44ca0f
je 0x44ca74
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44ca08.8203
movzx eax, byte [eax + 0x44ff54]
jmp dword [eax*4 + 0x44ff4c]
cmp ecx, 0x205f
je 0x44ca74
cmp ecx, 0x3000
je 0x44ca74
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ca41
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44ccf8
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
jmp 0x44ca7e
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x38], 0
jne 0x44ccf8
inc edx
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x18]
jl 0x44c950
jmp 0x44ccf8
cmp dword [esi + 0x8c], 0
je 0x44ccf8
cmp edi, dword [esi + 0x88]
jbe 0x44ccf8
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0x44ccf8
jmp 0x448c22
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov dword [ebp - 0x2c], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c630
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], ecx
je 0x44cb1a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cb1a
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x2c], 2
add ecx, 0x10000
mov dword [ebp - 0x14], ecx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44cb40
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44cb6c
cmp eax, 3
je 0x44cb6c
cmp edx, 0x5f
je 0x44cb6c
xor eax, eax
jmp 0x44cb71
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44ccf8
mov eax, dword [ebp - 0x2c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44cacc
jmp 0x44ccf8
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c630
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cbe9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cbe9
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0x4a42f0]
lea eax, [eax*4 + 0x4a42f0]
cmp ecx, edx
jb 0x44cc0b
lea eax, [eax + 4]
cmp ecx, edx
je 0x44cc33
mov edx, dword [eax]
cmp ecx, edx
jae 0x44cbfe
cmp dword [ebp - 0x38], 0
je 0x44ccf8
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 0x44cba1
jmp 0x44ccf8
cmp dword [ebp - 0x38], 0
je 0x44cc15
jmp 0x44ccf8
cmp edx, dword [ebp - 0x18]
jge 0x44ccfb
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44ccd8
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44cc8b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cc8b
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 0x44ccb6
cmp ecx, 0x40
je 0x44ccb6
cmp ecx, 0x60
je 0x44ccb6
cmp ecx, 0xa0
jb 0x44ccaa
cmp ecx, 0xd7ff
jbe 0x44ccb6
cmp ecx, 0xe000
jae 0x44ccb6
xor eax, eax
jmp 0x44ccbb
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44ccf8
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 0x44cc47
jmp 0x44ccf8
cmp dword [esi + 0x8c], 0
je 0x44ccf8
cmp edi, dword [esi + 0x88]
jbe 0x44ccf8
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x448c22
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp edi, eax
je 0x414a23
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
je 0x44cd56
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44cd56
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
jne 0x44cd0d
jmp 0x414a23
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x16
jne 0x44cf57
cmp edx, dword [ebp - 0x18]
jge 0x44cf0b
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x2c], eax
cmp edi, eax
jae 0x44cee3
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44cdbf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cdbf
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44cde1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44cea8
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44ce43
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ce43
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ce65
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a5520], eax
je 0x44ce9c
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp edi, eax
jb 0x44ce06
jmp 0x44ce9f
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44ced1
cmp edi, eax
jb 0x44ced1
cmp edi, dword [esi + 0x88]
jbe 0x44ced1
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44cd75
jmp 0x44cf08
cmp dword [esi + 0x8c], 0
je 0x44cf08
cmp edi, dword [esi + 0x88]
jbe 0x44cf08
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp edi, eax
je 0x414a23
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
jne 0x44de08
movzx ecx, word [edi]
jmp 0x44de4e
cmp dword [ebp - 0x24], 0
lea eax, [ecx - 6]
je 0x44d7ba
cmp eax, 0xf
ja case.default.0x44975a
jmp dword [eax*4 + 0x44ff80]
mov eax, dword [ebp - 0x18]
cmp eax, 0x7fffffff
jge 0x44d07c
cmp edx, eax
jge 0x44d739
lea eax, [edi + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44d1d5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44d041
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415d3f
add esp, 0xc
test eax, eax
jne 0x44d739
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44cffa
cmp edx, dword [esi + 0x7c]
jb 0x44cffa
cmp dword [esi + 0x18], 0
jne 0x44cffa
cmp dword [esi + 0x1c], 2
jne 0x44cffa
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44cffa
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
cmp edi, dword [esi + 0x7c]
jae 0x44d02c
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d02c
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44cf90
jmp 0x44d739
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44cfc0
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44cfc0
cmp edx, 1
je 0x44d739
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44cfc3
jmp 0x44d739
cmp edx, eax
jge 0x44d739
lea eax, [edi + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44d1d5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44d13b
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415d3f
add esp, 0xc
test eax, eax
jne 0x44d739
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44d0f4
cmp edx, dword [esi + 0x7c]
jb 0x44d0f4
cmp dword [esi + 0x18], 0
jne 0x44d0f4
cmp dword [esi + 0x1c], 2
jne 0x44d0f4
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d0f4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
cmp edi, dword [esi + 0x7c]
jae 0x44d126
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d126
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d08a
jmp 0x44d739
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44d0ba
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d0ba
cmp edx, 1
je 0x44d739
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44d0bd
jmp 0x44d739
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x7fffffff
jge 0x44d1cb
cmp edx, ecx
jge 0x44d739
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0x18]
cmp edi, ecx
jae 0x44d1d5
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44d1c1
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 0x44d1c1
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jl 0x44d18f
jmp 0x44d739
mov edi, dword [esi + 0x7c]
jmp 0x44d1d2
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44d739
cmp edi, dword [esi + 0x88]
jbe 0x44d739
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44d739
jmp 0x448c22
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 0x44d1d0
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44d739
cmp edx, dword [ebp - 0x18]
jge 0x44d739
mov eax, dword [esi + 0x7c]
mov edx, 1
cmp edi, eax
jae 0x44d2e2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d26e
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 0x44d28f
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x44d739
cmp word [edi], 0xa
jne 0x44d2cd
add edi, 2
jmp 0x44d2ca
cmp ecx, 0xa
je 0x44d2c4
cmp dword [esi + 0x6c], 0
jne 0x44d739
cmp ecx, 0xb
je 0x44d2c4
cmp ecx, 0xc
je 0x44d2c4
cmp ecx, 0x85
je 0x44d2c4
cmp ecx, 0x2028
je 0x44d2c4
cmp ecx, 0x2029
jne 0x44d739
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 0x44d231
jmp 0x44d739
cmp dword [esi + 0x8c], 0
je 0x44d739
cmp edi, dword [esi + 0x88]
jbe 0x44d739
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jle 0x44d739
jmp 0x448c22
cmp edx, dword [ebp - 0x18]
jge 0x44d739
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d2e2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d352
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 0x44d3a7
je 0x44d370
cmp ecx, 0xa0
ja 0x44d39d
je 0x44d370
cmp ecx, 9
je 0x44d370
cmp ecx, 0x20
jne 0x44d3d3
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x1c], 0x12
sete al
cmp ecx, eax
je 0x44d739
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 0x44d318
jmp 0x44d739
cmp ecx, 0x1680
jne 0x44d3d3
jmp 0x44d370
cmp ecx, 0x205f
ja 0x44d3cb
je 0x44d370
cmp ecx, 0x2000
jb 0x44d3d3
cmp ecx, 0x200a
jbe 0x44d370
cmp ecx, 0x202f
jne 0x44d3d3
jmp 0x44d370
cmp ecx, 0x3000
je 0x44d370
xor ecx, ecx
jmp 0x44d375
cmp edx, dword [ebp - 0x18]
jge 0x44d739
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d2e2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d41e
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 0x44d45c
je 0x44d467
cmp ecx, 0xa
jb 0x44d432
cmp ecx, 0xd
jbe 0x44d467
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x1c], 0x14
sete al
cmp ecx, eax
je 0x44d739
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 0x44d3e0
jmp 0x44d739
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x44d432
mov ecx, 1
jmp 0x44d434
cmp edx, dword [ebp - 0x18]
jge 0x44d739
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d2e2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d4b5
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 0x44d4ca
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44d739
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 0x44d477
jmp 0x44d739
cmp edx, dword [ebp - 0x18]
jge 0x44d739
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d2e2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d528
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 0x44d739
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44d739
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 0x44d4ea
jmp 0x44d739
cmp edx, dword [ebp - 0x18]
jge 0x44d739
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d2e2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d59f
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 0x44d5b4
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44d739
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 0x44d561
jmp 0x44d739
cmp edx, dword [ebp - 0x18]
jge 0x44d739
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d2e2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d612
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 0x44d739
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44d739
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 0x44d5d4
jmp 0x44d739
cmp edx, dword [ebp - 0x18]
jge 0x44d739
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d2e2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d689
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 0x44d69e
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44d739
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 0x44d64b
jmp 0x44d739
cmp edx, dword [ebp - 0x18]
jge 0x44d739
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d719
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d6f4
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 0x44d739
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44d739
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 0x44d6ba
jmp 0x44d739
cmp dword [esi + 0x8c], 0
je 0x44d739
cmp edi, dword [esi + 0x88]
jbe 0x44d739
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x448c22
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp edi, dword [ebp - 0x10]
je 0x414a23
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
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 0x44d791
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x1c], 0x11
mov ecx, dword [ebp - 0x10]
jne 0x44d7b1
cmp edi, ecx
jbe 0x44d7b3
cmp word [edi], 0xa
jne 0x44d7b1
cmp word [edi - 2], 0xd
jne 0x44d7b1
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
jne 0x44d74c
jmp 0x414a23
cmp eax, 0xf
ja case.default.0x44975a
jmp dword [eax*4 + 0x44ffc0]
cmp edx, dword [ebp - 0x18]
jge 0x44dc97
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44d898
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44d7ff
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00415d3f
add esp, 0xc
test eax, eax
je 0x44d82b
jmp 0x44dc97
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44d82b
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d82b
cmp edx, 1
je 0x44dc97
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44dc97
cmp dword [esi + 0x8c], 0
je 0x44d865
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44d865
cmp dword [esi + 0x18], 0
jne 0x44d865
cmp dword [esi + 0x1c], 2
jne 0x44d865
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44d865
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
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 0x44d7d3
jmp 0x44dc97
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 0x44d8ca
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44dc97
cmp edi, dword [esi + 0x88]
jbe 0x44dc97
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44dc97
jmp 0x448c22
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44dc97
cmp edx, dword [ebp - 0x18]
jge 0x44dc97
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44d898
movzx eax, word [edi]
cmp eax, 0xd
jne 0x44d903
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44dc97
cmp word [edi], 0xa
je 0x44d935
jmp 0x44d93b
cmp eax, 0xa
je 0x44d935
cmp dword [esi + 0x6c], 0
jne 0x44dc97
cmp eax, 0xb
je 0x44d935
cmp eax, 0xc
je 0x44d935
cmp eax, 0x85
je 0x44d935
cmp eax, 0x2028
je 0x44d935
cmp eax, 0x2029
jne 0x44dc97
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x44d8e1
jmp 0x44dc97
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44d898
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44d996
je 0x44dc97
cmp eax, 0xa0
jg 0x44d98a
je 0x44dc97
cmp eax, 9
je 0x44dc97
cmp eax, 0x20
jne 0x44d9cc
jmp 0x44dc97
cmp eax, 0x1680
jne 0x44d9cc
jmp 0x44dc97
cmp eax, 0x205f
jg 0x44d9c1
je 0x44dc97
cmp eax, 0x2000
jl 0x44d9cc
cmp eax, 0x200a
jle 0x44dc97
cmp eax, 0x202f
jne 0x44d9cc
jmp 0x44dc97
cmp eax, 0x3000
je 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44d951
jmp 0x44dc97
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44d898
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44da24
je 0x44da56
cmp eax, 0xa0
jg 0x44da18
je 0x44da56
cmp eax, 9
je 0x44da56
cmp eax, 0x20
je 0x44da56
jmp 0x44dc97
cmp eax, 0x1680
je 0x44da56
jmp 0x44dc97
cmp eax, 0x205f
jg 0x44da4b
je 0x44da56
cmp eax, 0x2000
jl 0x44dc97
cmp eax, 0x200a
jle 0x44da56
cmp eax, 0x202f
je 0x44da56
jmp 0x44dc97
cmp eax, 0x3000
jne 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44d9eb
jmp 0x44dc97
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44d898
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44da99
je 0x44dc97
cmp eax, 0xa
jl 0x44daab
cmp eax, 0xd
jg 0x44daab
jmp 0x44dc97
cmp eax, 0x2028
jl 0x44daab
cmp eax, 0x2029
jle 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44da71
jmp 0x44dc97
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44d898
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44dae8
je 0x44daf6
add eax, 0xfffffff6
cmp eax, 3
jbe 0x44daf6
jmp 0x44dc97
add eax, 0xffffdfd8
cmp eax, 1
ja 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44dac6
jmp 0x44dc97
cmp edx, dword [ebp - 0x18]
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44d898
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44db34
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44db0f
jmp 0x44dc97
cmp edx, dword [ebp - 0x18]
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44d898
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44dc97
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44db4e
jmp 0x44dc97
cmp edx, dword [ebp - 0x18]
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44d898
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44dbb6
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44db91
jmp 0x44dc97
cmp edx, dword [ebp - 0x18]
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44d898
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44dc97
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44dbd0
jmp 0x44dc97
cmp edx, dword [ebp - 0x18]
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44d898
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44dc34
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44dc13
jmp 0x44dc97
cmp edx, dword [ebp - 0x18]
jge 0x44dc97
cmp edi, dword [esi + 0x7c]
jae 0x44dc72
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44dc97
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44dc97
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44dc47
jmp 0x44dc97
cmp dword [esi + 0x8c], 0
je 0x44dc97
cmp edi, dword [esi + 0x88]
jbe 0x44dc97
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
cmp dword [ebp - 0x34], 0
jne 0x414b3e
cmp edi, dword [ebp - 0x10]
je 0x414a23
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov ecx, dword [ebp - 0x10]
sub edi, 2
cmp dword [ebp - 0x1c], 0x11
mov dword [ebp - 8], edi
jne 0x44dcf3
cmp edi, ecx
jbe 0x44dcf5
cmp word [edi], 0xa
jne 0x44dcf3
cmp word [edi - 2], 0xd
jne 0x44dcf3
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
jne 0x44dcaa
jmp 0x414a23
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 0x44dd2b
lea edx, [ebx + 4]
call fcn.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov ebx, dword [ebp - 0x14]
jmp 0x414a20
mov edx, dword [ebp - 0x14]
call fcn.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
add ebx, 4
jmp 0x414a20
movzx ecx, word [ebx]
cmp ecx, 0x7b
je 0x44e087
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
cmp ecx, 0x7a
jne 0x44ddc0
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov ebx, dword [ebp - 0x1c]
mov ecx, 0x81
movzx eax, word [ebx]
cmp ax, cx
je 0x44e01d
mov ecx, 0x88
cmp ax, cx
jb 0x414a20
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.00414860
add esp, 0x14
jmp 0x4149db
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00414860
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x44dde7
mov ecx, dword [ebp - 0x1c]
cmp dword [esi + 0xb8], ecx
jne 0x4149db
jmp 0x44ddf2
test eax, eax
jne 0x4149db
mov ecx, dword [ebp - 0x1c]
mov eax, 0x81
cmp word [ecx], ax
je 0x44e050
add ebx, 4
jmp 0x414a20
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44de23
sub edi, 2
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44de4e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44de70
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f52]
mov dword [ebp - 0x2c], eax
cmp edi, dword [ebp - 0x10]
je 0x414a23
cmp dword [ebp - 0x24], 0
lea edx, [edi - 2]
mov dword [ebp - 0x14], edx
jne 0x44de9f
movzx ecx, word [edx]
jmp 0x44dee5
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44deba
sub edx, 2
mov dword [ebp - 0x14], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dee5
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44df07
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx eax, word [eax*2 + 0x4a5560]
movzx edx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a5520], eax
je 0x44cf1d
mov edi, dword [ebp - 0x14]
mov dword [ebp - 8], edi
mov dword [ebp - 0x2c], edx
jmp 0x44de85
mov dword [esi + 0x9c], 2
jmp 0x4151a2
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x44fb07
cmp word [ebx], 0x77
je 0x4151f1
cmp word [eax], 0x77
jne 0x44fb07
jmp 0x4151f1
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a5470]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x4149db
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x14c]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
je case.0x4148e5.157
push eax
call dword [0x4a5468]
add esp, 4
jmp case.0x4148e5.157
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44e00c
push eax
call dword [0x4a5468]
add esp, 4
jmp 0x44e00c
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0xb0], ecx
mov eax, edi
jmp 0x4149db
mov eax, 0xfffffffa
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov dword [esi + 0xb8], ebx
mov eax, 0xfffffc1b
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x4149db
mov ecx, dword [ebp + 8]
mov dword [esi + 0x80], ecx
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x90], eax
mov eax, 0xfffffc1a
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x4149db
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 0x4149d6
cmp dword [esi + 0x8c], 0
je case.0x4148e5.157
cmp eax, dword [esi + 0x88]
jmp 0x44e119
cmp ecx, dword [esi + 0x88]
jbe case.0x4148e5.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x4148e5.157
mov eax, 0xfffffff4
jmp 0x4149db
mov eax, 0xfffffff2
jmp 0x4149db
cmp eax, 0xfffffffe
jne 0x44e14f
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jb case.0x4148e5.157
cmp edi, dword [esi + 0x88]
jmp 0x44e119
mov dword [ebp - 0x14], eax
cmp edi, edx
jl 0x44e17b
mov edi, eax
jmp 0x44e1e0
mov eax, dword [ebp - 8]
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e4a4
add esp, 0xc
test eax, eax
js 0x44e1a5
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 0x1c]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edi, dword [ebp - 0x28]
jl 0x44e178
jmp 0x44e1d5
cmp eax, 0xfffffffe
jne 0x44e1d2
cmp dword [esi + 0x8c], 0
je 0x44e1d2
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x44e1d2
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x14]
cmp edx, edi
jb case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, edi
jae 0x44e1e0
xor eax, eax
jmp 0x4149db
cmp ecx, 0xfffffffe
jne 0x44e227
mov eax, dword [esi + 0x7c]
jmp 0x44e22a
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x4148e5.157
cmp eax, dword [esi + 0x7c]
jb case.0x4148e5.157
jmp 0x44e10b
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x20]
je case.0x4148e5.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e26b
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.00414860
add esp, 0x14
test eax, eax
je 0x44e245
jmp 0x4149db
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.00414860
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44e37d
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x4148e5.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44e365
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e30b
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 0x44e31e
cmp edi, 0x6e
je case.0x4148e5.157
jmp 0x44e33c
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e2bd
jmp 0x4149db
cmp dword [esi + 0x8c], 0
je case.0x4148e5.157
cmp ecx, dword [esi + 0x88]
jmp 0x44e119
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x4148e5.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44e0fe
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44e3b9
cmp edi, 0x6e
je case.0x4148e5.157
jmp 0x44e3d4
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e385
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x44e46a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e46a
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
push edx
mov edx, dword [ebp - 0x2c]
call fcn.0048e7cd
add esp, 4
test eax, eax
je case.0x4148e5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414860
add esp, 0x14
test eax, eax
je 0x44e422
jmp 0x4149db
cmp dword [esi + 0x8c], 0
je case.0x4148e5.157
cmp edi, dword [esi + 0x88]
jmp 0x44e119
cmp dword [esi + 0x8c], 0
je case.0x4148e5.157
cmp edx, dword [esi + 0x7c]
jb case.0x4148e5.157
cmp edx, dword [esi + 0x88]
jmp 0x44e119
mov ecx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x4148e5.157
cmp ecx, dword [esi + 0x7c]
jb case.0x4148e5.157
jmp 0x44e113
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + edx]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x4148e5.157
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44e559
lea eax, [edx + edx]
push eax
push dword [ebp - 0x14]
push edi
call fcn.00421484
add esp, 0xc
test eax, eax
jne 0x44e559
add edi, dword [ebp - 0x2c]
jmp 0x44e593
mov edx, dword [ebp - 0x28]
test edx, edx
jle 0x44e14f
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
sub eax, ecx
cmp edi, eax
ja 0x44e14f
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x68]
push eax
push edi
call fcn.00421484
add esp, 0xc
test eax, eax
jne 0x44e14f
mov ecx, dword [ebp - 0x28]
lea edi, [edi + ecx*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414860
mov ecx, dword [ebp - 0x2c]
add esp, 0x14
mov edx, dword [ebp - 0x1c]
test eax, eax
je 0x44e52b
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
cmp dword [ebp - 0xc], ecx
je 0x44e610
cmp dword [ebp - 0x1c], ecx
jne case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e5ea
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0xc], eax
jne case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e65e
jmp 0x4149db
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.00414860
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44e759
test eax, eax
jne 0x4149db
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e71f
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0x18], ecx
je case.0x4148e5.157
cmp dword [ebp - 0x1c], ecx
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e6da
jmp 0x4149db
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0xc]
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
cmp dword [ebp - 0x18], ecx
je case.0x4148e5.157
cmp dword [ebp - 0x1c], ecx
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e761
jmp 0x4149db
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.00414860
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44e858
test eax, eax
jne 0x4149db
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e827
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0x18], ecx
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e7e2
jmp 0x4149db
test eax, eax
jne 0x4149db
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0xc]
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x18], eax
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e860
jmp 0x4149db
cmp ecx, 0xa
ja case.default.0x44975a
jmp dword [ecx*4 + 0x450000]
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44e90f
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e90f
add edi, 2
cmp dword [ebp - 0x38], 0
jne case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e8df
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44e9af
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e9af
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e9d1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, 9
je 0x44e9f6
cmp eax, 5
je 0x44e9f6
cmp eax, 8
je 0x44e9f6
xor eax, eax
jmp 0x44e9fb
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44e964
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44ea9d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ea9d
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44eabf
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44ea52
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44eb82
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44eb82
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44eba4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44eb37
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44ec60
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ec60
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ec82
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f50]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44ec15
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44ed3e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ed3e
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ed60
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44ed87
cmp eax, 3
je 0x44ed87
xor eax, eax
jmp 0x44ed8c
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44ecf3
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44ee31
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ee2e
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 0x44ee7e
je 0x44ef03
cmp ecx, 0x85
ja 0x44ee65
je 0x44ef03
cmp ecx, 9
jb case.0x44ee9a.8203
cmp ecx, 0xd
jbe 0x44ef03
cmp ecx, 0x20
jne case.0x44ee9a.8203
jmp 0x44ef03
cmp ecx, 0xa0
je 0x44ef03
cmp ecx, 0x1680
jne case.0x44ee9a.8203
jmp 0x44ef03
cmp ecx, 0x202f
ja 0x44eea1
je 0x44ef03
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44ee9a.8203
movzx eax, byte [eax + 0x450034]
jmp dword [eax*4 + 0x45002c]
cmp ecx, 0x205f
je 0x44ef03
cmp ecx, 0x3000
je 0x44ef03
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44eed3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
cmp dword [eax*4 + 0x4b6ea0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x4148e5.157
mov eax, dword [ebp - 0xc]
jmp 0x44ef0d
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x38], 0
jne case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44ede3
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
je 0x44efad
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44efad
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x14], ecx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b2060]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44efd3
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a5560]
movzx eax, byte [eax*8 + 0x4a2f51]
mov eax, dword [eax*4 + 0x4b6ea0]
cmp eax, 1
je 0x44efff
cmp eax, 3
je 0x44efff
cmp edx, 0x5f
je 0x44efff
xor eax, eax
jmp 0x44f004
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44ef5c
jmp 0x4149db
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f0a6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f0a6
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0x4a42f0]
lea eax, [eax*4 + 0x4a42f0]
cmp ecx, edx
jb 0x44f0c8
lea eax, [eax + 4]
cmp ecx, edx
je 0x44f0fd
mov edx, dword [eax]
cmp ecx, edx
jae 0x44f0bb
cmp dword [ebp - 0x38], 0
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44f05b
jmp 0x4149db
cmp dword [ebp - 0x38], 0
jne case.0x4148e5.157
jmp 0x44f0d2
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.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f177
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f177
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 0x44f1a2
cmp ecx, 0x40
je 0x44f1a2
cmp ecx, 0x60
je 0x44f1a2
cmp ecx, 0xa0
jb 0x44f196
cmp ecx, 0xd7ff
jbe 0x44f1a2
cmp ecx, 0xe000
jae 0x44f1a2
xor eax, eax
jmp 0x44f1a7
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44f12c
jmp 0x4149db
test eax, eax
jne 0x4149db
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x4148e5.157
cmp edi, dword [esi + 0x7c]
jae 0x44e4a5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f22f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f22f
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f251
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44f311
mov ebx, ecx
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
je 0x44f2b2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f2b2
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b2060]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f2d4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a5560]
movzx ecx, byte [eax*8 + 0x4a2f52]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4a5520], eax
je 0x44f30b
mov eax, dword [ebp - 0x14]
mov ebx, ecx
lea edi, [edi + eax*2]
mov eax, dword [esi + 0x7c]
cmp edi, eax
jb 0x44f273
jmp 0x44f30e
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
je 0x44f33a
cmp edi, eax
jb 0x44f33a
cmp edi, dword [esi + 0x88]
jbe 0x44f33a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
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.00414860
add esp, 0x14
test eax, eax
je 0x44f1e4
jmp 0x4149db
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x415002
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x415002
cmp edx, 1
je case.0x4148e5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4148e5.157
jmp 0x415002
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
jmp 0x41501d
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x44975a
jmp dword [eax*4 + 0x450060]
cmp ecx, 0xd
ja 0x44f40b
je 0x44f3f0
cmp ecx, 0xa
je case.0x44f3cb.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x4148e5.157
jmp 0x44f422
cmp edi, dword [esi + 0x7c]
jae case.0x44f3cb.13
cmp word [edi], 0xa
jne case.0x44f3cb.13
add edi, 2
jmp case.0x44f3cb.13
cmp ecx, 0x85
je 0x44f422
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4148e5.157
cmp dword [esi + 0x6c], 0
jne case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x180e
ja 0x44f475
je case.0x4148e5.157
cmp ecx, 0xa0
ja 0x44f464
je case.0x4148e5.157
cmp ecx, 9
je case.0x4148e5.157
cmp ecx, 0x20
je case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x1680
je case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x205f
ja 0x44f4ac
je case.0x4148e5.157
cmp ecx, 0x2000
jb case.0x44f3cb.13
cmp ecx, 0x200a
jbe case.0x4148e5.157
cmp ecx, 0x202f
je case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x3000
je case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x180e
ja 0x44f501
je case.0x44f3cb.13
cmp ecx, 0xa0
ja 0x44f4f0
je case.0x44f3cb.13
cmp ecx, 9
je case.0x44f3cb.13
cmp ecx, 0x20
jne case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x1680
jne case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x205f
ja 0x44f538
je case.0x44f3cb.13
cmp ecx, 0x2000
jb case.0x4148e5.157
cmp ecx, 0x200a
jbe case.0x44f3cb.13
cmp ecx, 0x202f
jne case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x3000
jne case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x85
ja 0x44f56e
je case.0x4148e5.157
cmp ecx, 0xa
jb case.0x44f3cb.13
cmp ecx, 0xd
jbe case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x2028
jb case.0x44f3cb.13
cmp ecx, 0x2029
jbe case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x85
ja 0x44f5aa
je case.0x44f3cb.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4148e5.157
jmp case.0x44f3cb.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x100
jae case.0x44f3cb.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x100
jae case.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x100
jae case.0x44f3cb.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x100
jae case.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x100
jae case.0x44f3cb.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4148e5.157
jmp case.0x44f3cb.13
cmp ecx, 0x100
jae case.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4148e5.157
jmp case.0x44f3cb.13
cmp edi, dword [esi + 0x7c]
jb case.0x44f3cb.13
cmp dword [esi + 0x18], 0
jne case.0x44f3cb.13
cmp dword [esi + 0x1c], 2
jne case.0x44f3cb.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44f3cb.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
jmp case.0x44f3cb.13
test eax, eax
jne 0x4149db
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x4148e5.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e4a5
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x44f72f
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44f6fd
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00415d3f
add esp, 0xc
test eax, eax
jne case.0x4148e5.157
jmp 0x44f729
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44f729
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44f729
cmp edx, 1
je case.0x4148e5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4148e5.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.0x44975a
jmp dword [eax*4 + 0x4500a0]
cmp dword [esi + 0x8c], 0
je case.0x44f741.13
cmp edi, dword [esi + 0x7c]
jb case.0x44f741.13
cmp dword [esi + 0x18], 0
jne case.0x44f741.13
cmp dword [esi + 0x1c], 2
jne case.0x44f741.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44f741.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x448c22
jmp case.0x44f741.13
cmp ecx, 0xd
ja 0x44f7d0
je 0x44f7b5
cmp ecx, 0xa
je case.0x44f741.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x4148e5.157
jmp 0x44f7e7
cmp edi, dword [esi + 0x7c]
jae case.0x44f741.13
cmp word [edi], 0xa
jne case.0x44f741.13
add edi, 2
jmp case.0x44f741.13
cmp ecx, 0x85
je 0x44f7e7
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4148e5.157
cmp dword [esi + 0x6c], 0
jne case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x180e
ja 0x44f83a
je case.0x4148e5.157
cmp ecx, 0xa0
ja 0x44f829
je case.0x4148e5.157
cmp ecx, 9
je case.0x4148e5.157
cmp ecx, 0x20
je case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x1680
je case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x205f
ja 0x44f871
je case.0x4148e5.157
cmp ecx, 0x2000
jb case.0x44f741.13
cmp ecx, 0x200a
jbe case.0x4148e5.157
cmp ecx, 0x202f
je case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x3000
je case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x180e
ja 0x44f8c6
je case.0x44f741.13
cmp ecx, 0xa0
ja 0x44f8b5
je case.0x44f741.13
cmp ecx, 9
je case.0x44f741.13
cmp ecx, 0x20
jne case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x1680
jne case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x205f
ja 0x44f8fd
je case.0x44f741.13
cmp ecx, 0x2000
jb case.0x4148e5.157
cmp ecx, 0x200a
jbe case.0x44f741.13
cmp ecx, 0x202f
jne case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x3000
jne case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x85
ja 0x44f933
je case.0x4148e5.157
cmp ecx, 0xa
jb case.0x44f741.13
cmp ecx, 0xd
jbe case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x2028
jb case.0x44f741.13
cmp ecx, 0x2029
jbe case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0x85
ja 0x44f96f
je case.0x44f741.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4148e5.157
jmp case.0x44f741.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0xff
ja case.0x44f741.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0xff
ja case.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0xff
ja case.0x44f741.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0xff
ja case.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0xff
ja case.0x44f741.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4148e5.157
jmp case.0x44f741.13
cmp ecx, 0xff
ja case.0x4148e5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4148e5.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.00414860
add esp, 0x14
test eax, eax
je 0x44f6bc
jmp 0x4149db
mov dword [esi + 0x9c], 2
jmp 0x414eac
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x414ef5
cmp word [ebx], 0x77
je 0x44fa79
cmp word [eax], 0x77
jne 0x414ef5
xor edx, edx
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
je 0x414ea0
mov eax, dword [esi + 0xc]
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + ebx*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x34]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x38]
mov dword [eax + ecx*4], esi
jmp 0x414ef5
cmp edx, 0xfffffc1b
jne 0x44fb07
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x44faf9
cmp eax, 0x77
jne 0x44faf0
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44fae2
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 0x4149db
lea eax, [ebx + 4]
mov dword [esi + 0xb4], eax
mov dword [ebp - 0x14], eax
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a5470]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00414860
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x44fb62
cmp edi, 0xfffffc19
jne 0x44fb6f
cmp dword [esi + 0xb0], 0
je 0x44e003
cmp edi, 0xfffffc1f
jne 0x44e00c
mov edx, dword [esi + 0x80]
mov ecx, dword [ebp - 0x14]
call fcn.0048e6af
test eax, eax
jne 0x44e00c
jmp 0x44fca6
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, 0xfffffc1c
jmp 0x4149db
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov eax, 0xfffffc1d
jmp 0x4149db
lea edi, [ebx + 4]
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a5470]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00414860
add esp, 0x14
cmp eax, 1
je 0x44fc54
cmp eax, 0xfffffc19
jne 0x44fc63
cmp dword [esi + 0xb0], 0
jne 0x44fc63
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x4149db
mov eax, 0xfffffc1d
jmp 0x4149db
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00414860
add esp, 0x14
test eax, eax
jne 0x4149db
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x4149db
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a5470]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414860
add esp, 0x14
jmp 0x44fce5
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x4149db
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0x4149db
lea edi, [ebx + 4]
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a5470]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00414860
add esp, 0x14
cmp eax, 1
je 0x44fd49
cmp eax, 0xfffffc19
jne 0x44fce5
cmp dword [esi + 0xb0], 0
jne 0x44fce5
jmp 0x44fcdf
cmp edi, 0x9f
je 0x4149b9
cmp dword [esi + 0xa8], 0
jne 0x4149b9
cmp dword [esi + 0x60], 0
jne case.0x4148e5.157
cmp dword [esi + 0x64], 0
je 0x4149b9
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x4148e5.157
jmp 0x4149b9
inc dword [esi]
mov eax, 0xfffffff8
jmp 0x4149db