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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push ebx
mov ebx, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x30], ebx
push esi
push edi
test ebx, ebx
je 0x446401
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov eax, dword [esi]
mov ecx, dword [esi + 0x50]
mov dword [ebp - 0x28], ecx
cmp eax, dword [esi + 4]
jae 0x44e549
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x44e53f
cmp dword [esi + 0x9c], 2
je 0x446435
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x38], edi
cmp edi, 0xa1
ja case.0x4082d6.98
movzx eax, byte [edi + 0x408b50]
jmp dword [eax*4 + 0x408a04]
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
sub edi, eax
mov eax, 0x88
mov dword [ebp - 0x20], edi
movzx ecx, word [edi]
cmp cx, ax
jae 0x447190
mov eax, 0x81
cmp cx, ax
je 0x447190
mov dword [ebp - 0x2c], 0
cmp ecx, 0x7d
jb 0x408323
mov eax, 0x80
cmp cx, ax
jbe 0x44c924
mov eax, 0x82
cmp cx, ax
je 0x44c924
mov eax, 0x85
cmp cx, ax
je 0x4086e6
mov eax, 0x8a
cmp cx, ax
je 0x4086e6
mov eax, 0x86
cmp cx, ax
je 0x4086e6
mov eax, 0x8b
cmp cx, ax
je 0x4086e6
mov ecx, dword [ebp + 0xc]
movzx eax, word [ebx]
cmp eax, 0x78
jne 0x447208
mov eax, 0x81
cmp word [edi], ax
je 0x44c8cf
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4082ad
cmp edi, 0x88
jae 0x44c74d
cmp edi, 0x81
je 0x44c74d
cmp dword [esi + 0x70], 0
jne 0x44c757
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x44c757
movzx eax, word [ebx]
movzx eax, byte [eax + 0x4c2140]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x28], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x408291
jmp 0x44e549
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x44e4e5
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x44e52b
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], ecx
cmp eax, ecx
jae 0x44cc81
movzx edx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], eax
mov edi, eax
je 0x408458
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4480c8
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e2]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x4084f6
mov esi, dword [ebp - 8]
mov ebx, edi
jmp 0x408490
cmp dword [ebp - 0x28], 0
mov edx, 1
movzx ecx, word [esi]
je 0x4084b0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4480f4
mov esi, dword [ebp - 0x34]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
mov edi, ebx
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx ecx, byte [eax*8 + 0x4af3e2]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4c21f0], eax
mov eax, dword [ebp - 0x24]
jne 0x4085c1
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
jne 0x448118
mov edx, dword [ebp - 8]
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x4082ad
movzx edx, word [ebx + 0x22]
lea eax, [ebx + 2]
add ebx, 0x22
mov dword [ebp - 0xc], eax
mov ecx, edx
mov dword [ebp - 0x30], ebx
cmp ecx, 0x6d
jbe 0x44838c
mov edx, 1
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x28], 0
mov ecx, 1
mov dword [ebp - 0x24], ecx
je 0x44845a
cmp edx, ecx
jl 0x4085ad
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x448427
cmp edx, 0xff
ja 0x44844c
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je case.0x4082d6.157
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, edx
jle 0x408551
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x20]
jne 0x4484bc
mov edx, dword [ebp - 8]
jmp 0x4082ad
lea esi, [ebx + edx*2]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 8], esi
mov ebx, esi
mov edi, esi
cmp esi, eax
jb 0x408490
jmp 0x4084f0
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
cmp dword [ebp - 0x28], 0
je 0x448a27
movzx ecx, word [ebx + 2]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x34], 1
and eax, 0xfc00
mov edx, ecx
mov dword [ebp - 0x24], edx
cmp eax, 0xd800
je 0x448978
mov eax, dword [ebp - 8]
cmp edx, 0x80
jae 0x4489a3
movzx edx, word [eax]
mov eax, dword [esi + 0x3c]
cmp edx, 0xff
ja 0x408637
movzx edx, byte [eax + edx]
movzx eax, byte [eax + ecx]
cmp eax, edx
jne case.0x4082d6.157
add ebx, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x4082ad
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx edx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x20], ecx
je 0x40868a
mov eax, edx
mov dword [ebp - 0x20], ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x447e90
mov eax, ecx
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x4b1c40]
cmp eax, 9
jne 0x447eba
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4b0a60]
lea eax, [eax*4 + 0x4b0a60]
cmp dword [ebp - 0x20], ecx
jb 0x4480ba
lea eax, [eax + 4]
cmp edx, ecx
je 0x408761
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4086d0
jmp 0x4480ba
movzx eax, word [edi + 4]
mov dword [ebp - 0x24], eax
lea edi, [eax + eax]
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x34], edi
mov ecx, edi
test eax, eax
jne 0x4471a8
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, dword [ebp - 0x24]
mov dword [esi + 0x94], eax
cmp ecx, dword [esi + 0x14]
jge 0x4471d4
mov edx, dword [ebp + 0xc]
cmp ecx, edx
jg 0x4471e7
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x24]
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
mov ecx, dword [ebp + 0xc]
cmp ecx, edi
jg 0x408759
lea ecx, [edi + 2]
mov dword [ebp + 0xc], ecx
mov edi, dword [ebp - 0x20]
jmp 0x40836c
cmp edi, 0x10
jne case.0x4082d6.157
add ebx, 6
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x4082ad
cmp dword [ebp - 0x28], 0
je 0x448946
mov ax, word [ebx + 2]
add ebx, 2
mov ecx, 0xfc00
mov edi, 1
and ax, cx
mov dword [ebp - 0x34], edi
mov ecx, 0xd800
cmp ax, cx
je 0x448939
mov ecx, dword [esi + 0x7c]
mov eax, ecx
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x34], eax
jg 0x44cc49
lea esp, [esp]
movzx ecx, word [ebx]
dec edi
movzx eax, word [edx]
add ebx, 2
add edx, 2
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], edx
cmp cx, ax
jne case.0x4082d6.157
test edi, edi
jle 0x4085b9
jmp 0x4087c0
lea ecx, [edi - 0x55]
add ebx, 2
mov eax, ebx
test cl, 1
je 0x44979e
mov edx, 1
movsx edi, byte [ecx + 0x4b1c2c]
mov dword [ebp - 0xc], edi
movsx edi, byte [ecx + 0x4b1c20]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edi
test edi, edi
jne 0x408821
mov dword [ebp - 0x14], bind
movzx edi, word [ebx]
lea ebx, [eax + 2]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], ebx
cmp edi, 0x10
je 0x4497a5
cmp edi, 0xf
je 0x4497a5
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
test ecx, ecx
jg 0x4497cc
mov edi, dword [ebp - 8]
cmp ecx, dword [ebp - 0x14]
je 0x4085b9
test edx, edx
je 0x44ad09
test eax, eax
jns 0x44d06c
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.00408250
add esp, 0x14
cmp dword [ebp - 0x20], 0x16
je 0x44d93b
cmp dword [ebp - 0x28], 0
je 0x44de32
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44a891
cmp dword [ebp - 0x20], 0xc
jne 0x4088e2
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44dabb
push dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00406951
add esp, 0xc
test eax, eax
jne case.0x4082d6.157
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 0x24], edi
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
je 0x44daf4
cmp dword [ebp - 0x20], 0xc
jne 0x44db1c
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x24]
cmp dword [esi + 0x8c], 0
jne 0x44ddf0
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov esi, dword [ebp + 0x10]
inc eax
inc dword [ebp - 0xc]
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
jmp 0x4088a0
movzx edx, word [ebx + 4]
mov dword [ebp - 0x30], edx
lea eax, [edx + edx]
mov dword [ebp - 0x20], eax
cmp eax, dword [esi + 0x14]
jge case.0x4082d6.129
mov ecx, dword [esi + 0xc]
lea edi, [edx + edx]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + edi*4 + 4]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x10]
sub eax, edx
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
nop
cmp edi, 0x88
jae 0x44e215
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 + 0x4c2140]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00408250
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1b
je 0x44e269
cmp eax, 0xfffffc20
je 0x44e224
test eax, eax
jne 0x40841b
jmp 0x44e246
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
jne 0x446423
push 1
push 0
push 0
push 0
push 0
xor edx, edx
lea ecx, [ebp + 0x18]
call fcn.00408250
add esp, 0x14
jmp 0x40841b
lea eax, [ebp + 0x18]
sub eax, dword [ebp - 8]
cdq
xor eax, edx
sub eax, edx
neg eax
jmp 0x40841b
mov eax, dword [ebp - 8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
mov dword [ebp + 0x14], eax
mov dword [esi + 0x9c], 0
jmp 0x4085b9
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x44c831
movzx eax, word [ebx]
movzx ecx, byte [eax + 0x4c2140]
movzx eax, word [ebx + 2]
add ecx, eax
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x30], ebx
jmp 0x4082ad
mov eax, dword [ebp - 8]
mov edi, dword [esi + 0xb0]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], 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.00408250
add esp, 0x14
cmp eax, 1
je 0x4464fd
cmp eax, 0xfffffc20
jne 0x4464dd
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0x40841b
cmp word [ebx], 0x77
je 0x4464e5
cmp word [ecx], 0x77
jne 0x40841b
jmp 0x4464e5
test eax, eax
jne 0x40841b
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x44648f
mov ecx, dword [ebp + 8]
jmp 0x446506
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x44651c
cmp eax, 0x77
jne case.0x4082d6.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44651c
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 0x4470c0
cmp eax, dword [ebp - 0x1c]
je 0x4470c0
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 0x44c568
lea edx, [ebx + 4]
call fcn.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov ecx, dword [ebp - 0x20]
mov ebx, ecx
jmp 0x4083cf
mov dword [ebp - 0x24], 0
jmp 0x446f74
mov dword [ebp - 0x24], 0
mov eax, ebx
mov dword [ebp - 0x34], 0
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x20], eax
cmp edi, 0x88
jb 0x4465c3
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 + 0x4c2140]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00408250
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1a
jne 0x447063
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x34], 1
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x84]
cmp dword [ebp - 8], eax
je 0x4470b2
mov dword [ebp - 8], eax
jmp 0x4465b1
cmp word [ebx + 4], 0x76
lea ecx, [ebx + 4]
movzx eax, word [ebx + 2]
mov ebx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], ecx
jne 0x44671f
cmp dword [0x4d263c], 0
je 0x446711
mov dword [ebp - 0xa0], 2
movzx eax, word [ecx + 2]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 8]
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
movzx eax, word [ecx + 4]
mov dword [ebp - 0x78], eax
movzx eax, word [ecx + 6]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x84], eax
mov eax, dword [esi + 0x94]
and eax, 0xffff
mov dword [ebp - 0x80], eax
jne 0x4466d8
mov dword [ebp - 0x80], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0x7c], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0xa0]
push eax
call dword [0x4d263c]
add esp, 4
test eax, eax
jg case.0x4082d6.157
js 0x40841b
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
lea ebx, [ecx + 8]
add eax, 0xfffffffc
mov ecx, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov dword [ebp - 0x20], ecx
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
add eax, 0xffffff73
cmp eax, 0x10
ja case.0x446742.146
movzx eax, byte [eax + 0x44e571]
jmp dword [eax*4 + 0x44e559]
mov ecx, dword [esi + 0xa8]
mov ebx, dword [ebp - 0x2c]
test ecx, ecx
je 0x446953
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x44676e
cmp eax, dword [ecx + 4]
jne 0x446953
mov ecx, 1
jmp 0x44692a
cmp dword [esi + 0xa8], ecx
je case.0x446742.145
mov eax, dword [ebp - 0x2c]
movzx ecx, word [eax + 2]
imul ecx, dword [esi + 0x24]
movzx ebx, word [eax + 4]
mov eax, dword [esi + 0x30]
lea ecx, [eax + ecx*2]
test ebx, ebx
je 0x44694b
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x34], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
movzx eax, word [ecx]
dec ebx
cmp eax, dword [ebp - 0x1c]
je 0x44681b
mov ecx, dword [ebp - 0x34]
xor eax, eax
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x34], ecx
test ebx, ebx
jg 0x4467ac
xor ecx, ecx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
test ecx, ecx
jne 0x4467e4
cmp word [ebx - 4], 0x77
jne 0x4082ad
cmp edi, 0x8c
jne 0x4083d5
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.00408250
add esp, 0x14
jmp 0x40841b
mov ebx, dword [ebp - 0x2c]
mov ecx, 1
jmp 0x44692a
mov ebx, dword [ebp - 0x2c]
movzx eax, word [ebx + 2]
lea ecx, [eax + eax]
cmp ecx, dword [ebp + 0xc]
jge 0x446847
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x446847
mov ecx, 1
jmp 0x446849
xor ecx, ecx
test ecx, ecx
jne 0x44692a
jmp 0x4467cc
mov eax, dword [ebp - 0x2c]
movzx ecx, word [eax + 2]
imul ecx, dword [esi + 0x24]
movzx ebx, word [eax + 4]
mov eax, dword [esi + 0x30]
lea eax, [eax + ecx*2]
test ebx, ebx
je 0x44694b
mov dword [ebp - 0x34], eax
movzx eax, word [eax]
dec ebx
lea ecx, [eax + eax]
cmp ecx, dword [ebp + 0xc]
jge 0x44688b
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x44681b
mov ecx, dword [ebp - 0x34]
xor eax, eax
mov eax, dword [esi + 0x24]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x34], eax
test ebx, ebx
jg 0x446876
jmp 0x4467c7
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
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.00408250
add esp, 0x14
cmp eax, 1
jne 0x446939
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x4468db
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
mov ecx, 0x92
mov dword [ebp - 0x20], 1
cmp word [eax], cx
jne 0x4468f4
lea eax, [ebx + 2]
mov ebx, eax
movzx eax, word [eax + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
jne 0x446910
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x446902
mov eax, dword [ebp - 0x30]
mov ecx, 2
movzx eax, byte [eax + 0x4c2140]
sub ecx, eax
lea ebx, [edx + ecx*2]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax + 0x4c2140]
jmp 0x4467cf
test eax, eax
je 0x446948
cmp eax, 0xfffffc20
jne 0x40841b
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
jmp case.0x446742.145
mov ecx, dword [ebp - 0x20]
jmp 0x4467cc
movzx ecx, word [ebx + 2]
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
mov dword [ebp - 0x1c], ecx
or eax, ecx
lea edi, [ecx + ecx]
mov dword [esi + 0x94], eax
mov dword [ebp - 0x34], edi
cmp edi, dword [esi + 0x14]
jl 0x446990
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x408386
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x1c]
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
mov ecx, dword [ebp + 0xc]
cmp edi, ecx
jl 0x44910d
mov eax, dword [esi + 0xc]
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0x4469d7
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 - 0x34]
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
jmp 0x44910d
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x1c], eax
jne 0x446a05
mov dword [esi + 0x9c], 0
mov edi, 1
jmp 0x446a07
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.00408250
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 1
je 0x446a7e
cmp eax, 0xfffffc19
je 0x446a7e
mov ecx, dword [ebp - 0x1c]
mov dword [esi + 0xb0], ecx
cmp eax, 0xfffffc20
jne 0x446a66
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e28e
cmp word [ebx], 0x77
je 0x446a6e
cmp word [eax], 0x77
je 0x446a6e
jmp 0x44e28e
test eax, eax
jne 0x40841b
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446a07
jmp 0x446a87
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x4082d6.157
test edi, edi
jne 0x408416
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446a99
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0x4085b9
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x446add
mov dword [esi + 0x9c], 0
mov dword [ebp - 0x34], 1
jmp 0x446ae4
mov dword [ebp - 0x34], 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.00408250
add esp, 0x14
mov dword [ebp - 0x2c], eax
mov dword [esi + 0xb0], edi
cmp eax, 0xfffffc20
jg 0x446b3d
jne 0x446b52
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x446b6b
cmp word [ebx], 0x77
je 0x446b2d
cmp word [eax], 0x77
jne 0x446b6b
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446ae4
jmp 0x446b79
mov ecx, eax
sub ecx, 0
je 0x446b2d
sub ecx, 1
je case.0x4082d6.157
jmp 0x40841b
cmp eax, 0xfffffc19
je case.0x4082d6.157
add eax, 0x3e4
cmp eax, 3
ja 0x44e28e
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446b6b
cmp dword [ebp - 0x34], 0
jne 0x408416
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4085b9
cmp dword [ebp - 0x28], 0
je 0x446bd3
movzx ecx, word [ebx + 2]
test ecx, ecx
je 0x446bed
mov eax, dword [ebp - 8]
dec ecx
add eax, 0xfffffffe
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0x4082d6.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x446bcd
add eax, 0xfffffffe
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x446b9c
jmp 0x446bf0
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.0x4082d6.157
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x408386
mov dword [esi + 0x88], eax
jmp 0x408386
cmp dword [0x4d263c], 0
je 0x446cdf
mov dword [ebp - 0xd4], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 8]
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
movzx eax, word [ebx + 4]
mov dword [ebp - 0xac], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0x94]
and eax, 0xffff
mov dword [ebp - 0xb4], eax
jne 0x446ca6
mov dword [ebp - 0xb4], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xd4]
push eax
call dword [0x4d263c]
add esp, 4
test eax, eax
jg case.0x4082d6.157
js 0x40841b
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x30], ebx
jmp 0x4082ad
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x24], eax
cmp eax, ecx
jne 0x446cff
xor edx, edx
jmp 0x446d03
movzx edx, word [eax + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x446d2a
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x446d24
cmp eax, dword [ecx + 0x14]
jne 0x446d24
mov eax, 0xffffffe6
jmp 0x40841b
mov ecx, dword [ecx]
test ecx, ecx
jne 0x446d10
mov dword [ebp - 0x54], edx
add ebx, 4
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
mov dword [esi + 0xa8], eax
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x4c], ecx
cmp ecx, 0x1e
jg 0x446d6a
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x50], eax
jmp 0x446d88
lea eax, [ecx*4]
push eax
call fcn.00408bf2
add esp, 4
mov dword [ebp - 0x50], eax
test eax, eax
je 0x44c898
mov ecx, dword [ebp - 0x4c]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.00420f30
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, 0x88
cmp word [ecx], ax
sbb edi, edi
inc edi
test edi, edi
je 0x446db4
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ecx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4c2140]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ecx + eax*2]
mov ecx, dword [ebp - 8]
call fcn.00408250
add esp, 0x14
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x4c]
shl eax, 2
push eax
push dword [ebp - 0x50]
push dword [esi + 0xc]
call fcn.00420f30
mov eax, dword [ebp - 0x48]
add esp, 0xc
mov dword [esi + 0x94], eax
mov eax, dword [ebp - 0x58]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 1
je 0x446e73
cmp eax, 0xfffffc19
je 0x446e73
cmp eax, 0xfffffc1c
jl 0x446e22
cmp eax, 0xfffffc20
jle 0x446e54
test eax, eax
jne 0x44c879
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x58]
mov dword [esi + 0xa8], eax
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x77
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x24], ecx
je 0x446da6
mov eax, dword [ebp - 0x58]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je case.0x4082d6.157
push eax
call fcn.00408bfb
add esp, 4
jmp case.0x4082d6.157
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x446e89
push eax
call fcn.00408bfb
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x4085b9
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0x4082d6.119
mov dword [ebp - 0x30], ebx
jmp 0x4082ad
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446edd
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4085b9
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 0x446efe
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
jmp 0x4085b9
add ebx, 2
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446f39
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4082ad
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x24], 1
cmp edi, 0x86
je 0x446f74
cmp edi, 0x8b
jne 0x446597
movzx edx, word [ebx + 4]
mov dword [ebp - 0x20], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge 0x446597
mov ecx, ebx
shl eax, 2
sub ecx, dword [esi + 0x74]
sar ecx, 1
mov dword [ebp - 0x1c], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], 0
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x10]
mov edx, eax
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x20]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x446feb
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 + 0x4c2140]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00408250
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1a
jne 0x4470e6
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x34], eax
mov ecx, 1
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 8], eax
je 0x447165
mov dword [ebp - 8], eax
jmp 0x446fc6
cmp eax, 0xfffffc20
jne 0x44708e
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e28e
cmp word [ebx], 0x77
je 0x447096
cmp word [eax], 0x77
je 0x447096
jmp 0x44e28e
test eax, eax
jne 0x40841b
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x4470cb
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x94], eax
jmp 0x4465b1
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4470b2
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4085b9
cmp dword [ebp - 0x34], 0
jne 0x4470c0
cmp dword [ebp - 0x24], 0
je case.0x4082d6.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4085b9
cmp eax, 0xfffffc20
jne 0x447111
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e28e
cmp word [ebx], 0x77
je 0x447119
cmp word [eax], 0x77
je 0x447119
jmp 0x44e28e
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446fc3
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x447173
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x10]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x20]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0xc]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x30]
jmp 0x447173
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447165
cmp dword [ebp - 0x24], 0
jne 0x4470c0
test ecx, ecx
je case.0x4082d6.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4085b9
mov eax, dword [ebp + 0x14]
mov esi, eax
mov esi, dword [esi]
mov eax, dword [eax + 4]
mov dword [ebp + 0x14], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
jmp 0x408310
mov edx, dword [ebp - 0x24]
mov ecx, edi
cmp dword [eax + 4], edx
mov edx, dword [ebp - 8]
jne 0x408703
mov eax, edx
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0x40841b
mov edi, dword [ebp - 0x20]
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x408369
mov eax, dword [esi + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x447200
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
jmp 0x40872b
cmp eax, 0x7b
je 0x44c902
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 8], eax
jne 0x44c583
mov edx, dword [ebp - 8]
jmp 0x408378
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x44723c
cmp eax, dword [esi + 0x78]
je case.0x4082d6.157
jmp 0x44723c
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x78]
jne case.0x4082d6.157
jmp 0x408503
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x44725c
cmp eax, dword [esi + 0x78]
je case.0x4082d6.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x408503
cmp eax, dword [esi + 0x7c]
je case.0x4082d6.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4472a0
cmp eax, ecx
jbe case.0x4082d6.157
mov edi, dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push edi
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0049b6e7
add esp, 0xc
test eax, eax
je case.0x4082d6.157
jmp 0x408503
mov edi, dword [esi + 0x1c]
lea edx, [edi + edi]
lea eax, [ecx + edx]
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb case.0x4082d6.157
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0x4082d6.157
cmp edi, 1
je 0x408503
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x4082d6.157
jmp 0x408503
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp edx, eax
jne case.0x4082d6.157
jmp 0x408506
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x4085b9
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4473b1
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44737e
push dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00406951
add esp, 0xc
test eax, eax
jne 0x408503
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x4082d6.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0x4082d6.157
cmp dword [esi + 0x18], 0
jne case.0x4082d6.157
cmp dword [esi + 0x1c], 2
jne case.0x4082d6.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0x4082d6.157
jmp 0x44a8aa
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44733c
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x447339
cmp edx, 1
je 0x408503
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x447339
jmp 0x408503
cmp dword [esi + 0x4c], 0
jne case.0x4082d6.157
cmp dword [esi + 0x8c], 0
je 0x408503
cmp eax, dword [esi + 0x88]
jmp 0x4473d6
cmp edx, dword [esi + 0x88]
jbe 0x408503
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
jmp 0x408503
cmp dword [esi + 0x4c], 0
jne case.0x4082d6.157
cmp dword [esi + 0x5c], 0
je case.0x4082d6.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0x4082d6.157
jmp 0x4473bb
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4473bb
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x44743f
push dword [ebp - 0x28]
push edi
push ecx
mov ecx, eax
call fcn.00406951
add esp, 0xc
test eax, eax
jne 0x447474
jmp 0x447339
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44733c
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x447339
cmp edx, 1
je 0x447474
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x447339
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 0x44733c
jmp 0x4473bb
cmp dword [ebp - 0x28], 0
mov eax, dword [ebp - 8]
je 0x447603
cmp eax, dword [esi + 0x78]
je 0x447568
lea edx, [eax - 2]
mov edi, 0xfc00
mov ax, word [edx]
mov ecx, edx
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4474c3
lea ecx, [edx - 2]
mov edx, ecx
cmp ecx, dword [esi + 0x88]
jae 0x4474d1
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
mov edi, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447500
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov edi, ecx
cmp dword [esi + 0x58], 0
je 0x44754a
cmp edi, 0x5f
je 0x447540
mov eax, edi
and edi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x447540
cmp eax, 3
jne 0x447565
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44756a
cmp edi, 0x100
jae 0x447565
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 8]
je 0x447568
mov edi, 1
jmp 0x44756a
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x447725
movzx ecx, word [eax]
mov eax, ecx
mov edx, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4475a5
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
mov edx, ecx
cmp dword [esi + 0x58], 0
je 0x4475cd
cmp edx, 0x5f
je 0x447777
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
jmp 0x4476c2
cmp edx, 0x100
jae 0x4475e2
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x447777
xor ecx, ecx
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 5
jne 0x447781
cmp ecx, edi
je case.0x4082d6.157
jmp 0x4085b9
cmp eax, dword [esi + 0x78]
je 0x44767c
cmp eax, dword [esi + 0x88]
ja 0x44761c
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0x4476fd
cmp ecx, 0x5f
je 0x4476f6
mov eax, ecx
test eax, eax
jns 0x44763c
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
and ecx, 0x8000007f
jns 0x447656
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x4476f3
cmp eax, 3
mov eax, dword [ebp - 8]
je 0x4476f6
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x447725
cmp dword [esi + 0x58], 0
je 0x447757
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x447777
mov eax, ecx
test eax, eax
jns 0x4476a6
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
and ecx, 0x8000007f
jns 0x4476c0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x447777
cmp eax, 3
jne 0x4475e2
lea ecx, [eax - 2]
jmp 0x4475e4
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44767e
mov edx, 0xff
cmp cx, dx
ja 0x44767c
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 8]
je 0x44767c
mov edi, 1
jmp 0x44767e
cmp dword [esi + 0x8c], 0
je 0x4475e2
cmp eax, dword [esi + 0x88]
jbe 0x4475e2
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x4475e2
jmp 0x44e20b
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x4475e2
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4475e2
mov ecx, 1
jmp 0x4475e4
cmp ecx, edi
jne case.0x4082d6.157
jmp 0x4085b9
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x4477bd
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x28]
cmp eax, ecx
jae 0x4477f5
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00406951
add esp, 0xc
test eax, eax
jne case.0x4082d6.157
jmp 0x4477f2
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4477ef
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4477ef
cmp edx, 1
je case.0x4082d6.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0x4082d6.157
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x447839
add eax, 2
cmp eax, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
jb 0x447839
cmp dword [esi + 0x18], 0
jne 0x447839
cmp dword [esi + 0x1c], 2
jne 0x447839
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x447836
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x447836
jmp 0x44e20b
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x44cc81
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0x408503
cmp eax, ecx
jae 0x408503
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x408503
add dword [ebp - 8], 2
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
add eax, 2
add ebx, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x4085b9
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x4478e6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4478e6
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 edx, ecx
cmp edx, 0x100
jae 0x408503
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447951
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447951
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 edx, ecx
cmp edx, 0xff
ja case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x4479bc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4479bc
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 edx, ecx
cmp edx, 0x100
jae 0x408503
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447a27
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447a27
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 edx, ecx
cmp edx, 0xff
ja case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447a92
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447a92
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 edx, ecx
cmp edx, 0x100
jae 0x408503
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447afd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447afd
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 edx, ecx
cmp edx, 0xff
ja case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4082d6.157
jmp 0x408503
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, eax
mov dword [ebp - 8], eax
je 0x447b6d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, edx
jne 0x447b6d
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, edx
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
mov edx, eax
cmp ecx, 0xd
ja 0x447bb9
je 0x447b8e
cmp ecx, 0xa
je 0x408503
jbe case.0x4082d6.157
cmp ecx, 0xc
ja case.0x4082d6.157
jmp 0x447bd0
cmp edx, edi
jb 0x447ba4
cmp dword [esi + 0x8c], 0
je 0x408503
jmp 0x4473d0
cmp word [eax], 0xa
jne 0x408503
lea eax, [edx + 2]
mov dword [ebp - 8], eax
jmp 0x408503
cmp ecx, 0x85
je 0x447bd0
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4082d6.157
cmp dword [esi + 0x6c], 0
jne case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x447c28
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447c28
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 0x447c6c
je case.0x4082d6.157
cmp ecx, 0xa0
ja 0x447c5b
je case.0x4082d6.157
cmp ecx, 9
je case.0x4082d6.157
cmp ecx, 0x20
je case.0x4082d6.157
jmp 0x408503
cmp ecx, 0x1680
je case.0x4082d6.157
jmp 0x408503
cmp ecx, 0x205f
ja 0x447ca3
je case.0x4082d6.157
cmp ecx, 0x2000
jb 0x408503
cmp ecx, 0x200a
jbe case.0x4082d6.157
cmp ecx, 0x202f
je case.0x4082d6.157
jmp 0x408503
cmp ecx, 0x3000
je case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x447cfd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447cfd
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 0x447d41
je 0x408503
cmp ecx, 0xa0
ja 0x447d30
je 0x408503
cmp ecx, 9
je 0x408503
cmp ecx, 0x20
jne case.0x4082d6.157
jmp 0x408503
cmp ecx, 0x1680
jne case.0x4082d6.157
jmp 0x408503
cmp ecx, 0x205f
ja 0x447d78
je 0x408503
cmp ecx, 0x2000
jb case.0x4082d6.157
cmp ecx, 0x200a
jbe 0x408503
cmp ecx, 0x202f
jne case.0x4082d6.157
jmp 0x408503
cmp ecx, 0x3000
jne case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x447dd2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447dd2
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 0x447df7
je case.0x4082d6.157
cmp ecx, 0xa
jb 0x408503
cmp ecx, 0xd
jbe case.0x4082d6.157
jmp 0x408503
cmp ecx, 0x2028
jb 0x408503
cmp ecx, 0x2029
jbe case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x447e5d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447e5d
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 0x447e7c
je 0x408503
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4082d6.157
jmp 0x408503
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4082d6.157
jmp 0x408503
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 8], 2
mov ecx, edx
mov dword [ebp - 0x20], ecx
jmp 0x40868a
cmp eax, 0xa
ja case.default.0x447ec3
jmp dword [eax*4 + 0x44e585]
mov al, byte [ecx*8 + 0x4af3e1]
cmp al, 9
je 0x447eef
cmp al, 5
je 0x447eef
cmp al, 8
je 0x447eef
xor ecx, ecx
jmp 0x447f0b
cmp edi, 0xf
je case.0x4082d6.157
jmp 0x40876a
mov ecx, 1
jmp 0x447f0b
movzx eax, byte [ecx*8 + 0x4af3e1]
xor ecx, ecx
cmp dword [eax*4 + 0x4c5350], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x4082d6.157
jmp 0x40876a
movzx ecx, byte [ecx*8 + 0x4af3e1]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x4c5350]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0x4082d6.157
jmp 0x40876a
movzx eax, byte [ecx*8 + 0x4af3e1]
jmp 0x447f5f
movzx eax, byte [ecx*8 + 0x4af3e0]
xor ecx, ecx
cmp word [ebx + 4], ax
setne cl
xor eax, eax
cmp edi, 0x10
sete al
cmp ecx, eax
je case.0x4082d6.157
jmp 0x40876a
movzx eax, byte [ecx*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x447eef
cmp eax, 3
je 0x447eef
xor ecx, ecx
jmp 0x447f0b
cmp edx, 0x180e
ja 0x447ffe
je case.0x447ec3.0
cmp edx, 0x85
ja 0x447fe1
je case.0x447ec3.0
cmp edx, 9
jb case.0x448022.8203
cmp edx, 0xd
jbe case.0x447ec3.0
cmp edx, 0x20
je case.0x447ec3.0
jmp case.0x448022.8203
cmp edx, 0xa0
je case.0x447ec3.0
cmp edx, 0x1680
je case.0x447ec3.0
jmp case.0x448022.8203
cmp edx, 0x202f
ja 0x448029
je case.0x447ec3.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x448022.8203
movzx eax, byte [edx + 0x44e5b9]
jmp dword [eax*4 + 0x44e5b1]
cmp edx, 0x205f
je case.0x447ec3.0
cmp edx, 0x3000
je case.0x447ec3.0
jmp case.0x448022.8203
movzx eax, byte [ecx*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x447eef
cmp eax, 3
je 0x447eef
cmp dword [ebp - 0x20], 0x5f
je 0x447eef
xor ecx, ecx
jmp 0x447f0b
mov eax, dword [ebp - 0x20]
cmp eax, 0x24
je 0x447eef
cmp eax, 0x40
je 0x447eef
cmp eax, 0x60
je 0x447eef
cmp eax, 0xa0
jb 0x4480a8
cmp eax, 0xd7ff
jbe 0x447eef
cmp eax, 0xe000
jae 0x447eef
xor ecx, ecx
jmp 0x447f0b
cmp edi, 0x10
je case.0x4082d6.157
jmp 0x40876a
mov ecx, dword [ebp - 8]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
and eax, 0x3ff
mov edi, dword [ebp - 8]
mov ecx, edx
and ecx, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x408458
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
jmp 0x4084b0
cmp edi, eax
jb 0x408503
cmp edi, dword [esi + 0x88]
jbe 0x408503
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
jmp 0x408503
movzx ecx, word [ebx + 2]
xor eax, eax
cmp edi, 0x74
sete al
imul ecx, dword [esi + 0x24]
mov dword [ebp - 0x24], eax
movzx eax, word [ebx + 4]
add ebx, 6
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x30], ebx
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
xor edi, edi
neg ecx
mov dword [ebp - 0x18], edi
dec ecx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x2c], edi
jbe 0x4481fe
mov dword [ebp - 0x34], eax
movzx eax, word [eax]
dec dword [ebp - 0x2c]
lea edi, [eax + eax]
mov dword [ebp - 0x18], edi
cmp edi, dword [ebp + 0xc]
jge 0x4481a8
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x4481a8
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x4481fb
cmp dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x34]
mov eax, dword [esi + 0x24]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x34], eax
jg 0x448185
jmp 0x4481fe
xor eax, eax
cmp edi, 0x72
sete al
mov dword [ebp - 0x24], eax
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x30], ebx
lea edi, [eax + eax]
mov dword [ebp - 0x18], edi
cmp edi, dword [ebp + 0xc]
jge 0x4481f1
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x4481f1
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x4481fb
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x20], ecx
movzx eax, word [ebx]
mov dword [ebp - 0x1c], eax
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0x448217
movzx eax, byte [eax + 0x44e5ed]
jmp dword [eax*4 + 0x44e5e5]
mov eax, dword [ebp - 0x1c]
add ebx, 2
mov dword [ebp - 0x30], ebx
lea edi, [eax - 0x62]
and edi, 1
mov dword [ebp - 0x1c], edi
movsx edi, byte [eax + 0x4b1bca]
movsx eax, byte [eax + 0x4b1bbe]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x44827f
mov dword [ebp - 0x2c], bind
jmp 0x44827f
cmp word [ebx], 0x69
mov eax, 0
movzx edi, word [ebx + 2]
sete al
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x448279
mov dword [ebp - 0x2c], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
mov eax, edi
test ecx, ecx
je 0x4082ad
jns 0x448293
test edi, edi
je 0x4082ad
cmp eax, 1
mov dword [ebp - 0x34], 1
mov eax, dword [ebp - 8]
jl 0x4482d5
push dword [ebp - 0x24]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0049afae
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44ca15
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x34], ecx
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
jle 0x4482a2
mov edx, dword [ebp - 0x2c]
cmp edi, edx
je 0x4085b9
cmp dword [ebp - 0x1c], 0
je 0x44c967
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x14], eax
jge case.0x4082d6.157
push dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov edx, edi
push esi
push dword [ebp - 0x20]
call fcn.0049afae
add esp, 0xc
test eax, eax
js 0x44c944
inc dword [ebp - 0x14]
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.00408250
add esp, 0x14
test eax, eax
je 0x448310
jmp 0x40841b
push dword [ebp - 0x24]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.0049afae
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44ca15
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x4085b9
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x44839f
movzx eax, byte [eax + 0x44e5fd]
jmp dword [eax*4 + 0x44e5f5]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x4483be
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x4483c5
mov dword [ebp - 0x2c], 1
movsx edx, byte [eax + 0x4b1c2c]
movsx eax, byte [eax + 0x4b1c20]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x40853b
mov dword [ebp - 0x20], bind
jmp 0x40853b
xor eax, eax
cmp edx, 0x69
sete al
mov dword [ebp - 0x10], eax
xor eax, eax
cmp edx, 0x6d
movzx edx, word [ebx + 2]
mov dword [ebp - 0x18], edx
sete al
mov dword [ebp - 0x2c], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x44841c
mov dword [ebp - 0x20], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x40853b
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 8], 2
jmp 0x408578
cmp edi, 0x6e
je case.0x4082d6.157
jmp 0x4085a2
cmp edx, 1
jl 0x4085ad
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44848b
cmp edi, 0x6e
je case.0x4082d6.157
jmp 0x4484ac
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je case.0x4082d6.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, edx
jle 0x448466
jmp 0x4085b0
cmp dword [ebp - 0x10], 0
jne 0x44ca43
cmp dword [ebp - 0x28], 0
mov ecx, eax
mov dword [ebp - 0x14], ecx
je 0x44860c
cmp edx, dword [ebp - 0x20]
jl 0x4484e2
jmp 0x448592
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44856d
movzx edx, word [eax]
mov ecx, 1
mov eax, edx
mov dword [ebp - 0x34], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448529
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
mov ecx, 2
mov dword [ebp - 0x34], ecx
movzx eax, word [eax + 2]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
cmp edx, 0xff
jbe 0x448538
cmp edi, 0x6e
jne 0x448552
jmp 0x448592
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je 0x448592
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x20]
jl 0x4484df
jmp 0x448592
cmp dword [esi + 0x8c], 0
je 0x448592
cmp eax, dword [esi + 0x88]
jbe 0x448592
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, edi
add edi, 0xfffffffe
cmp eax, dword [ebp - 0x14]
je case.0x4082d6.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4485e8
add edi, 0xfffffffe
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.00408250
add esp, 0x14
test eax, eax
je 0x4485c2
jmp 0x40841b
cmp edx, dword [ebp - 0x20]
jge 0x448681
mov ecx, dword [ebp - 0x18]
cmp eax, dword [esi + 0x7c]
jae 0x448659
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x44862b
cmp edi, 0x6e
jne 0x448648
jmp 0x44867e
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
mov eax, dword [ebp - 8]
je 0x44867e
mov ecx, dword [ebp - 0x18]
inc ecx
add eax, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp - 0x20]
jl 0x448614
jmp 0x44867e
cmp dword [esi + 0x8c], 0
je 0x44867e
cmp eax, dword [esi + 0x88]
jbe 0x44867e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp eax, ecx
jb case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
sub edi, 2
cmp edi, dword [ebp - 0x14]
jae 0x448696
jmp case.0x4082d6.157
lea eax, [ebx + 4]
mov dword [ebp - 0x24], eax
movzx eax, word [ebx + 2]
movzx ecx, word [ebx + eax*2]
lea ebx, [ebx + eax*2]
mov edi, ecx
mov dword [ebp - 0x30], ebx
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x4486ef
movzx eax, byte [eax + 0x44e611]
jmp dword [eax*4 + 0x44e609]
lea eax, [edi - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x44870e
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x448715
mov dword [ebp - 0x2c], 1
movsx ecx, byte [eax + 0x4b1c20]
movsx edi, byte [eax + 0x4b1c2c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x448782
mov ecx, bind
jmp 0x44877f
movzx edi, word [ebx + 2]
xor eax, eax
cmp ecx, 0x69
mov dword [ebp - 0x18], edi
sete al
cmp ecx, 0x6d
mov ecx, 0
mov dword [ebp - 0x10], eax
sete cl
mov dword [ebp - 0x2c], ecx
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x44876a
mov ecx, bind
mov dword [ebp - 0x20], ecx
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x448782
mov eax, dword [ebp - 0x10]
mov ecx, 1
mov edi, ecx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x34], 1
cmp edi, 1
jl 0x448800
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x28]
mov dword [ebp - 8], eax
test edx, edx
je 0x4487d8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4487d8
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 - 0x24]
call fcn.0049b1a9
add esp, 4
test eax, eax
je case.0x4082d6.157
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, edi
jle 0x44878e
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp edi, ecx
je 0x4082ad
test eax, eax
jne 0x44cb98
mov eax, dword [ebp - 8]
mov dword [ebp - 0x38], eax
cmp edi, ecx
jl 0x448822
jmp 0x4488b9
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x448894
mov edx, dword [ebp - 0x28]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x34], 1
test edx, edx
je 0x44886a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44886a
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x34], 2
add ecx, 0x10000
push edx
mov edx, dword [ebp - 0x24]
call fcn.0049b1a9
add esp, 4
test eax, eax
je 0x4488bc
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x18], edi
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x20]
jl 0x44881f
jmp 0x4488b9
cmp dword [esi + 0x8c], 0
je 0x4488b9
cmp eax, dword [esi + 0x88]
jbe 0x4488b9
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov edi, dword [ebp - 8]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, edi
add edi, 0xfffffffe
cmp eax, dword [ebp - 0x38]
je case.0x4082d6.157
cmp dword [ebp - 0x28], 0
je 0x448915
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x448915
add edi, 0xfffffffe
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.00408250
add esp, 0x14
test eax, eax
je 0x4488e9
jmp 0x40841b
mov edi, 2
mov dword [ebp - 0x34], edi
jmp 0x4087a7
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x44cc69
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0x4082d6.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x4085b9
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x34], 2
add ecx, 0x10000
mov edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x408616
movzx edi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4489dc
mov ecx, dword [ebp - 8]
and edi, 0x3ff
shl edi, 0xa
movzx eax, word [ecx]
add ecx, 2
and eax, 0x3ff
mov dword [ebp - 8], ecx
or edi, eax
add edi, 0x10000
mov eax, dword [ebp - 0x34]
cmp edx, edi
mov edx, dword [ebp - 8]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
je 0x4082ad
mov edx, dword [ebp - 0x24]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c40]
mov eax, dword [eax*8 + 0x4af3e4]
add eax, edx
cmp edi, eax
jne case.0x4082d6.157
jmp 0x4085b9
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0x448a41
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x448a43
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0x448a5a
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x4082d6.157
add eax, 2
add ebx, 4
mov dword [ebp - 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x4085b9
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov ecx, ebx
jmp 0x448b35
mov dword [ebp - 0x2c], 1
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0x448aa9
mov dword [ebp - 0x10], edx
cmp ecx, 0x35
jne 0x448ab0
mov dword [ebp - 0x10], 1
add ebx, 4
mov ecx, ebx
jmp 0x448b35
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0x14], edx
mov ecx, ebx
jmp 0x448b2e
mov edx, 1
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0x14], edx
mov ecx, ebx
jmp 0x448b2e
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], 1
mov ecx, ebx
jmp 0x448b35
cmp edi, 0x2e
mov edx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
mov ecx, ebx
add eax, 0x2e
sub edx, eax
mov eax, edx
and edx, 1
mov dword [ebp - 0x10], edx
movsx edx, byte [eax + 0x4b1c2c]
movsx eax, byte [eax + 0x4b1c20]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x448b35
mov dword [ebp - 0x18], bind
cmp dword [ebp - 0x28], 0
movzx eax, word [ebx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
je 0x448dc1
and eax, 0xfc00
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x1c], 1
cmp eax, 0xd800
jne 0x448ba8
movzx eax, word [ebx + 2]
mov ebx, dword [ebp - 0x20]
and eax, 0x3ff
and ebx, 0x3ff
mov dword [ebp - 0xc], 2
shl ebx, 0xa
or ebx, eax
mov dword [ebp - 0x30], 2
add ebx, 0x10000
mov dword [ebp - 0x1c], 2
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], eax
jmp 0x448bab
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x1c], 1
mov ebx, dword [ebp - 0x30]
lea ebx, [ecx + ebx*2]
mov dword [ebp - 0x30], ebx
jbe 0x448dc7
cmp edi, 0x2e
jb 0x448bfe
mov edi, dword [ebp - 0x24]
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c40]
mov ecx, dword [eax*8 + 0x4af3e4]
add ecx, edi
cmp ecx, edi
je 0x448bfe
lea edx, [ebp - 0x6c]
call fcn.0049b634
mov edx, dword [ebp - 0x14]
mov edi, eax
jmp 0x448c00
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], 1
cmp edx, 1
jl 0x448c97
mov eax, dword [ebp - 0xc]
lea ecx, [eax + eax]
mov dword [ebp - 0x1c], ecx
mov eax, dword [esi + 0x7c]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x448c45
push ecx
push dword [ebp - 0x34]
push edi
call fcn.004214a4
add esp, 0xc
test eax, eax
jne 0x448c45
mov ecx, dword [ebp - 0x1c]
mov eax, edi
add eax, ecx
mov dword [ebp - 8], eax
jmp 0x448c84
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x44c94c
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44c94c
push ecx
lea eax, [ebp - 0x6c]
push eax
push edi
call fcn.004214a4
add esp, 0xc
test eax, eax
jne 0x44c94c
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
mov eax, edi
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, edx
jle 0x448c1c
mov edi, dword [ebp - 0x20]
jmp 0x448c9a
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x4085b9
cmp dword [ebp - 0x10], 0
jne 0x44cc99
mov ecx, eax
mov dword [ebp - 0x10], ecx
cmp edx, dword [ebp - 0x18]
jge 0x448d5d
mov eax, dword [ebp - 0xc]
lea edx, [eax + eax]
mov dword [ebp - 0x1c], edx
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, edx
cmp ecx, eax
ja 0x448cf2
push edx
push dword [ebp - 0x34]
push ecx
call fcn.004214a4
add esp, 0xc
test eax, eax
jne 0x448cef
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x448d19
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x448d2a
mov eax, dword [esi + 0x7c]
add edi, edi
sub eax, edi
cmp ecx, eax
ja 0x448d2a
push edi
lea eax, [ebp - 0x6c]
push eax
push ecx
call fcn.004214a4
add esp, 0xc
test eax, eax
jne 0x448d2a
add dword [ebp - 8], edi
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
inc edx
cmp edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x1c]
jl 0x448cc4
jmp 0x448d57
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x448d5a
cmp eax, dword [esi + 0x7c]
jb 0x448d57
cmp eax, dword [esi + 0x88]
jbe 0x448d57
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp eax, ecx
jbe 0x4083d2
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x448db7
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x448d72
jmp 0x4083d2
lea ebx, [ecx + 2]
mov dword [ebp - 0x30], ebx
cmp edi, 0x2e
jb 0x448f05
cmp dword [ebp - 0x28], 0
je 0x448e07
cmp eax, 0x7f
jbe 0x448e07
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, dword [ebp - 0x24]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c40]
mov eax, dword [eax*8 + 0x4af3e4]
add dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x24]
jmp 0x448e20
cmp eax, 0xff
ja 0x448e1a
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp - 0x20]
movzx edi, byte [eax + ecx]
jmp 0x448e1d
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp edx, 1
jl 0x448e59
cmp eax, dword [esi + 0x7c]
jae 0x44cf44
movzx ecx, word [eax]
cmp dword [ebp - 0x20], ecx
je 0x448e48
cmp edi, ecx
jne case.0x4082d6.157
mov ecx, dword [ebp - 0x1c]
add eax, 2
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], ecx
cmp ecx, edx
jle 0x448e2f
cmp edx, dword [ebp - 0x18]
je 0x4085b9
cmp dword [ebp - 0x10], 0
jne 0x44cd52
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp edx, dword [ebp - 0x18]
jge 0x448ebd
cmp eax, dword [esi + 0x7c]
jae 0x448e95
movzx ecx, word [eax]
cmp dword [ebp - 0x20], ecx
je 0x448e87
cmp edi, ecx
jne 0x448eba
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x448e76
jmp 0x448eba
cmp dword [esi + 0x8c], 0
je 0x448eba
cmp eax, dword [esi + 0x88]
jbe 0x448eba
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp eax, ecx
je 0x4083d2
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.00408250
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x40841b
cmp edi, dword [ebp - 0x14]
jne 0x448ed2
jmp 0x4083d2
mov ecx, 1
cmp edx, ecx
jge 0x448f13
mov edi, dword [ebp - 8]
jmp 0x448f39
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cf44
mov edi, dword [ebp - 8]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x20], eax
jne case.0x4082d6.157
inc ecx
cmp ecx, edx
jle 0x448f13
cmp edx, dword [ebp - 0x18]
je 0x4085b9
cmp dword [ebp - 0x10], 0
jne 0x44cdc9
mov eax, dword [ebp - 8]
mov ecx, eax
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
cmp edx, edi
jge 0x448f7c
mov ecx, dword [ebp - 0x20]
cmp eax, dword [esi + 0x7c]
jae 0x448fc4
movzx eax, word [eax]
cmp ecx, eax
jne 0x448f76
add dword [ebp - 8], 2
inc edx
mov eax, dword [ebp - 8]
cmp edx, edi
jl 0x448f5e
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp eax, ecx
je 0x4083d2
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.00408250
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x40841b
cmp edi, dword [ebp - 0x14]
jne 0x448f91
jmp 0x4083d2
cmp dword [esi + 0x8c], 0
je 0x448f79
cmp eax, dword [esi + 0x88]
jbe 0x448f79
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
jmp 0x448f79
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cf44
cmp dword [ebp - 0x28], 0
movzx ecx, word [ebx + 2]
je 0x4490e0
mov eax, ecx
mov dword [ebp - 0x1c], ecx
add ebx, 4
mov dword [ebp - 0x24], ecx
and eax, 0xfc00
mov dword [ebp - 0x30], ebx
cmp eax, 0xd800
jne 0x449044
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44907d
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add ecx, 2
or edx, eax
mov dword [ebp - 8], ecx
add edx, 0x10000
cmp edi, 0x1f
jne 0x449090
cmp dword [ebp - 0x24], edx
je case.0x4082d6.157
jmp 0x4085b9
mov edi, dword [ebp - 0x24]
cmp edi, 0x7f
jbe 0x4490c1
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c40]
mov eax, dword [eax*8 + 0x4af3e4]
add eax, edi
jmp 0x4490cb
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp - 0x1c]
movzx eax, byte [eax + ecx]
cmp edi, edx
je case.0x4082d6.157
cmp eax, edx
je case.0x4082d6.157
jmp 0x4085b9
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x4082d6.157
cmp edi, 0x20
jne 0x44910d
cmp ecx, 0xff
ja 0x449105
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x4082d6.157
mov edx, dword [ebp - 8]
jmp 0x408386
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], edx
mov ecx, ebx
jmp 0x4491ed
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x42
je 0x449144
mov dword [ebp - 0x10], edx
cmp ecx, 0x4f
jne 0x44914b
mov dword [ebp - 0x10], 1
add ebx, 4
mov ecx, ebx
jmp 0x4491ed
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov ecx, ebx
jmp 0x4491e6
mov edx, 1
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov ecx, ebx
jmp 0x4491e6
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], 1
mov ecx, ebx
jmp 0x4491ed
movzx eax, word [ebx + 2]
xor edx, edx
add ebx, 4
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0xc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x4491ed
cmp edi, 0x48
mov edx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
mov ecx, ebx
add eax, 0x48
sub edx, eax
mov eax, edx
and edx, 1
mov dword [ebp - 0x10], edx
movsx edx, byte [eax + 0x4b1c2c]
movsx eax, byte [eax + 0x4b1c20]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x4491ed
mov dword [ebp - 0x18], bind
cmp dword [ebp - 0x28], 0
movzx eax, word [ebx]
lea ebx, [ecx + 2]
mov dword [ebp - 0x14], eax
mov ecx, eax
mov dword [ebp - 0x30], ebx
je 0x449235
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449232
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or eax, ecx
add eax, 0x10000
add ebx, 2
mov dword [ebp - 0x14], eax
mov ecx, eax
mov dword [ebp - 0x30], ebx
jmp 0x449235
mov eax, dword [ebp - 0x14]
cmp edi, 0x48
jb 0x4494de
cmp dword [ebp - 0x28], 0
je 0x449274
cmp ecx, 0x7f
jbe 0x449274
mov eax, ecx
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, dword [ebp - 0x14]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c40]
mov eax, dword [eax*8 + 0x4af3e4]
add eax, dword [ebp - 0x14]
jmp 0x449286
cmp ecx, 0xff
ja 0x449286
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp - 0x14]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 0x28], 0
mov edi, 1
mov dword [ebp - 0x20], eax
je 0x4492fd
cmp edx, edi
jl 0x44932e
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cf44
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x4492e4
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], ecx
je case.0x4082d6.157
cmp dword [ebp - 0x20], ecx
je case.0x4082d6.157
inc edi
cmp edi, edx
jle 0x44929c
jmp 0x449331
mov eax, dword [ebp - 8]
cmp edx, 1
jl 0x449331
cmp eax, dword [esi + 0x7c]
jae 0x44cf44
movzx ecx, word [eax]
cmp dword [ebp - 0x14], ecx
je case.0x4082d6.157
cmp dword [ebp - 0x20], ecx
je case.0x4082d6.157
add eax, 2
inc edi
mov dword [ebp - 8], eax
cmp edi, edx
jle 0x449305
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
je 0x4085b9
cmp dword [ebp - 0x10], 0
jne 0x44ce38
cmp dword [ebp - 0x28], 0
mov edi, eax
mov dword [ebp - 0x10], edi
je 0x449448
cmp edx, ecx
jge 0x4493ba
cmp eax, dword [esi + 0x7c]
jae 0x44941e
movzx edi, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449397
movzx eax, word [ecx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, 2
add edi, 0x10000
jmp 0x44939c
mov eax, 1
cmp dword [ebp - 0x14], edi
je 0x4493b4
cmp dword [ebp - 0x20], edi
je 0x4493b4
lea ecx, [ecx + eax*2]
inc edx
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x18]
jl 0x449359
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp eax, edi
jbe 0x4083d2
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x449414
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x4493cf
jmp 0x4083d2
cmp dword [esi + 0x8c], 0
je 0x4493b7
cmp eax, dword [esi + 0x88]
jbe 0x4493b7
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
jmp 0x4493b7
cmp edx, ecx
jge 0x449496
mov edi, dword [ebp - 0x20]
cmp eax, dword [esi + 0x7c]
jae 0x44946e
movzx ecx, word [eax]
cmp dword [ebp - 0x14], ecx
je 0x449493
cmp edi, ecx
je 0x449493
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x44944f
jmp 0x449493
cmp dword [esi + 0x8c], 0
je 0x449493
cmp eax, dword [esi + 0x88]
jbe 0x449493
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp eax, edi
je 0x4083d2
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
jne 0x4494ab
jmp 0x4083d2
cmp dword [ebp - 0x28], 0
mov edi, 1
je 0x449550
cmp edx, edi
jge 0x4494f5
mov ecx, dword [ebp - 0x14]
jmp 0x449578
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cf44
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44953d
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], ecx
je case.0x4082d6.157
inc edi
cmp edi, edx
jle 0x4494f5
mov ecx, dword [ebp - 0x14]
jmp 0x44957b
mov ecx, dword [ebp - 0x14]
cmp edx, 1
jl 0x449578
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cf44
movzx eax, word [eax]
add dword [ebp - 8], 2
cmp ecx, eax
je case.0x4082d6.157
inc edi
cmp edi, edx
jle 0x449558
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x4085b9
cmp dword [ebp - 0x10], 0
jne 0x44cf76
cmp dword [ebp - 0x28], 0
mov edi, eax
mov dword [ebp - 0x20], edi
je 0x44968c
cmp edx, dword [ebp - 0x18]
jge 0x4495fe
cmp eax, dword [esi + 0x7c]
jae 0x449662
movzx edi, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4495e0
movzx eax, word [ecx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, 2
add edi, 0x10000
jmp 0x4495e5
mov eax, 1
cmp dword [ebp - 0x14], edi
je 0x4495f8
lea ecx, [ecx + eax*2]
inc edx
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x18]
jl 0x4495a2
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x20]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp eax, edi
jbe 0x4083d2
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x449658
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
ja 0x449613
jmp 0x4083d2
cmp dword [esi + 0x8c], 0
je 0x4495fb
cmp eax, dword [esi + 0x88]
jbe 0x4495fb
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
jmp 0x4495fb
cmp edx, dword [ebp - 0x18]
jge 0x4496ad
cmp eax, dword [esi + 0x7c]
jae 0x4496f5
movzx eax, word [eax]
cmp ecx, eax
je 0x4496aa
add dword [ebp - 8], 2
inc edx
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
jl 0x449691
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp eax, edi
je 0x4083d2
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
jne 0x4496c2
jmp 0x4083d2
cmp dword [esi + 0x8c], 0
je 0x4496ad
cmp eax, dword [esi + 0x88]
jbe 0x4496ad
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x4496ad
jmp 0x44e20b
movzx edi, word [ebx + 2]
mov edx, 1
mov ecx, edi
mov dword [ebp - 0x14], edi
add ebx, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], edx
mov eax, ebx
jmp 0x408821
movzx edi, word [ebx + 2]
xor edx, edx
cmp ecx, 0x5c
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], edi
sete dl
add ebx, 4
mov dword [ebp - 0x10], edx
mov eax, ebx
xor ecx, ecx
jmp 0x408821
xor ecx, ecx
jmp 0x449767
mov ecx, 1
mov dword [ebp - 0x14], bind
jmp 0x449779
xor ecx, ecx
mov dword [ebp - 0x14], 1
add ebx, 2
jmp 0x44978a
movzx edi, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x14], edi
add ebx, 4
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0xc], ecx
jmp 0x408821
xor edx, edx
jmp 0x4087fc
movzx ecx, word [ebx]
xor eax, eax
cmp edi, 0xf
sete al
mov dword [ebp - 0x3c], eax
lea eax, [ebx + 2]
movzx ebx, word [eax]
mov dword [ebp - 0x40], ebx
lea ebx, [eax + 2]
mov eax, ecx
mov dword [ebp - 0x30], ebx
mov ecx, dword [ebp - 0xc]
jmp 0x408842
test eax, eax
js 0x449efb
cmp eax, 0xa
ja case.default.0x447ec3
jmp dword [eax*4 + 0x44e61d]
cmp dword [ebp - 0x3c], 0
jne case.0x4082d6.157
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jge 0x449803
mov ecx, dword [ebp - 0xc]
jmp 0x408850
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], edi
je 0x44982d
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44982d
add edi, 2
mov dword [ebp - 8], edi
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x449803
mov ecx, dword [ebp - 0xc]
jmp 0x44a083
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408850
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x449896
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449896
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp eax, 9
je 0x4498cd
cmp eax, 5
je 0x4498cd
cmp eax, 8
je 0x4498cd
xor eax, eax
jmp 0x4498d2
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44984e
jmp 0x44a080
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408850
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x44994d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44994d
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov edx, dword [ebp - 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp dword [eax*4 + 0x4c5350], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449905
jmp 0x44a080
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408850
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x4499fb
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4499fb
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x4499b3
jmp 0x44a080
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408850
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x449aa2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449aa2
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449a5a
jmp 0x44a080
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408850
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x449b49
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449b49
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x449b82
cmp eax, 3
je 0x449b82
xor eax, eax
jmp 0x449b87
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449b01
jmp 0x44a080
mov edi, dword [ebp - 8]
mov eax, 1
mov dword [ebp - 0x24], eax
cmp ecx, eax
jl 0x44a083
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], edi
je 0x449c06
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449c03
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 edx, ecx
mov eax, dword [ebp - 0x24]
cmp ecx, 0x180e
ja 0x449c4c
je 0x449cc1
cmp ecx, 0x85
ja 0x449c3a
je 0x449cc1
cmp ecx, 9
jb case.0x449c68.8203
cmp ecx, 0xd
jbe 0x449cc1
cmp ecx, 0x20
jne case.0x449c68.8203
jmp 0x449cc1
cmp ecx, 0xa0
je 0x449cc1
cmp ecx, 0x1680
jne case.0x449c68.8203
jmp 0x449cc1
cmp ecx, 0x202f
ja 0x449c6f
je 0x449cc1
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x449c68.8203
movzx eax, byte [ecx + 0x44e651]
jmp dword [eax*4 + 0x44e649]
cmp ecx, 0x205f
je 0x449cc1
cmp ecx, 0x3000
je 0x449cc1
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp dword [eax*4 + 0x4c5350], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4082d6.157
mov eax, dword [ebp - 0x24]
jmp 0x449ccb
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x3c], 0
jne case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, ecx
jle 0x449bba
jmp 0x44a080
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408850
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], edi
je 0x449d3a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449d3a
movzx edx, word [edi]
and ecx, 0x3ff
and edx, 0x3ff
shl ecx, 0xa
add edi, 2
or edx, ecx
mov dword [ebp - 8], edi
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x449d7a
cmp eax, 3
je 0x449d7a
cmp edx, 0x5f
je 0x449d7a
xor eax, eax
jmp 0x449d7f
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449cf2
jmp 0x44a080
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408850
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], ecx
je 0x449e00
mov eax, ecx
mov dword [ebp - 0x24], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449e00
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 dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [eax*4 + 0x4b0a60]
lea eax, [eax*4 + 0x4b0a60]
cmp dword [ebp - 0x24], edx
jb 0x449e23
lea eax, [eax + 4]
cmp ecx, edx
je 0x449e44
mov edx, dword [eax]
cmp ecx, edx
jae 0x449e16
cmp dword [ebp - 0x3c], 0
je case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449db2
jmp 0x44a080
cmp dword [ebp - 0x3c], 0
jne case.0x4082d6.157
jmp 0x449e2d
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408850
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x449eab
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449eab
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x24
je 0x449ed6
cmp ecx, 0x40
je 0x449ed6
cmp ecx, 0x60
je 0x449ed6
cmp ecx, 0xa0
jb 0x449eca
cmp ecx, 0xd7ff
jbe 0x449ed6
cmp ecx, 0xe000
jae 0x449ed6
xor eax, eax
jmp 0x449edb
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449e63
jmp 0x44a080
cmp edi, 0x16
jne 0x44a08b
mov edi, dword [ebp - 8]
mov dword [ebp - 0x34], 1
cmp ecx, 1
jl 0x408850
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], eax
cmp edi, eax
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov eax, edi
mov dword [ebp - 8], edi
mov ecx, edx
mov dword [ebp - 0x24], eax
je 0x449f71
mov dword [ebp - 0x24], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449f71
movzx ecx, word [edi]
and edx, 0x3ff
add edi, 2
shl edx, 0xa
and ecx, 0x3ff
mov dword [ebp - 8], edi
mov eax, edi
or ecx, edx
mov dword [ebp - 0x24], eax
add ecx, 0x10000
mov edx, dword [ebp - 0x24]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx ecx, byte [eax*8 + 0x4af3e2]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x38], ecx
cmp edx, eax
jae 0x44a044
mov eax, edx
mov ebx, ecx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x28], 0
mov esi, 1
movzx ecx, word [edi]
je 0x449fe8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449fe8
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov edx, dword [ebp - 0x24]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx ecx, byte [eax*8 + 0x4af3e2]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4c21f0], eax
je 0x44a038
mov eax, edx
mov ebx, ecx
lea edi, [eax + esi*2]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
mov edx, edi
cmp edi, eax
jb 0x449fad
jmp 0x44a03b
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44a06d
cmp edx, eax
jb 0x44a06d
cmp edx, dword [esi + 0x88]
jbe 0x44a06d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x449f17
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
jmp 0x408850
cmp dword [ebp - 0x28], 0
lea eax, [edi - 6]
je 0x44a7b0
cmp eax, 0xf
ja case.default.0x447ec3
jmp dword [eax*4 + 0x44e67d]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a083
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44a891
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44a0e5
push dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00406951
add esp, 0xc
test eax, eax
jne case.0x4082d6.157
jmp 0x44a111
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44a111
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44a111
cmp edx, 1
je case.0x4082d6.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4082d6.157
cmp dword [esi + 0x8c], 0
je 0x44a14b
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44a14b
cmp dword [esi + 0x18], 0
jne 0x44a14b
cmp dword [esi + 0x1c], 2
jne 0x44a14b
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44a14b
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov ecx, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44a173
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x44a173
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0xc]
jle 0x44a0ba
jmp 0x44a07d
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44a891
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44a1d4
mov ax, word [edi]
mov dword [ebp - 0x38], 0xfc00
and ax, word [ebp - 0x38]
mov dword [ebp - 0x38], 0xdc00
cmp ax, word [ebp - 0x38]
mov eax, dword [ebp - 0xc]
jne 0x44a1d4
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jle 0x44a19e
jmp 0x44a07d
mov eax, dword [esi + 0x7c]
add ecx, ecx
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja case.0x4082d6.157
add edi, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], edi
jmp 0x44a083
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a083
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
mov edx, edi
cmp eax, 0xd800
jne 0x44a255
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 edx, edi
cmp ecx, 0xd
ja 0x44a284
je 0x44a26f
cmp ecx, 0xa
je 0x44a2a5
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x4082d6.157
jmp 0x44a29b
mov eax, dword [esi + 0x7c]
cmp edx, eax
jae 0x44a2a8
cmp word [edi], 0xa
jne 0x44a2a8
lea edi, [edx + 2]
mov dword [ebp - 8], edi
jmp 0x44a2a8
cmp ecx, 0x85
je 0x44a29b
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4082d6.157
cmp dword [esi + 0x6c], 0
jne case.0x4082d6.157
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44a213
jmp 0x44a07d
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a30c
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 0x44a34a
je case.0x4082d6.157
cmp ecx, 0xa0
ja 0x44a33c
je case.0x4082d6.157
cmp ecx, 9
je case.0x4082d6.157
cmp ecx, 0x20
je case.0x4082d6.157
jmp 0x44a386
cmp ecx, 0x1680
je case.0x4082d6.157
jmp 0x44a386
cmp ecx, 0x205f
ja 0x44a37a
je case.0x4082d6.157
cmp ecx, 0x2000
jb 0x44a386
cmp ecx, 0x200a
jbe case.0x4082d6.157
cmp ecx, 0x202f
je case.0x4082d6.157
jmp 0x44a386
cmp ecx, 0x3000
je case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44a2cd
jmp 0x44a080
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a3e6
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 0x44a418
je 0x44a450
cmp ecx, 0xa0
ja 0x44a40a
je 0x44a450
cmp ecx, 9
je 0x44a450
cmp ecx, 0x20
jne case.0x4082d6.157
jmp 0x44a450
cmp ecx, 0x1680
jne case.0x4082d6.157
jmp 0x44a450
cmp ecx, 0x205f
ja 0x44a444
je 0x44a450
cmp ecx, 0x2000
jb case.0x4082d6.157
cmp ecx, 0x200a
jbe 0x44a450
cmp ecx, 0x202f
jne case.0x4082d6.157
jmp 0x44a450
cmp ecx, 0x3000
jne case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44a3a7
jmp 0x44a080
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a4b0
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 0x44a4ce
je case.0x4082d6.157
cmp ecx, 0xa
jb 0x44a4e2
cmp ecx, 0xd
jbe case.0x4082d6.157
jmp 0x44a4e2
cmp ecx, 0x2028
jb 0x44a4e2
cmp ecx, 0x2029
jbe case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44a471
jmp 0x44a080
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a53e
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 0x44a556
je 0x44a565
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4082d6.157
jmp 0x44a565
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44a4ff
jmp 0x44a080
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a083
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44a5c8
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 edx, ecx
cmp edx, 0x80
jae 0x44a5dd
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44a585
jmp 0x44a080
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44a600
jmp 0x44a080
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a083
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44a891
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44a674
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4082d6.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44a69c
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44a69c
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
jle 0x44a651
jmp 0x44a07d
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44a6bc
jmp 0x44a080
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a083
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44a891
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44a730
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4082d6.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44a758
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44a758
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
jle 0x44a70d
jmp 0x44a07d
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44a778
jmp 0x44a080
cmp eax, 0xf
ja case.default.0x447ec3
jmp dword [eax*4 + 0x44e6bd]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a083
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44a891
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44a800
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00406951
add esp, 0xc
test eax, eax
jne case.0x4082d6.157
jmp 0x44a82c
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44a82c
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44a82c
cmp edx, 1
je case.0x4082d6.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4082d6.157
cmp dword [esi + 0x8c], 0
je 0x44a866
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44a866
cmp dword [esi + 0x18], 0
jne 0x44a866
cmp dword [esi + 0x1c], 2
jne 0x44a866
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44a866
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov eax, dword [ebp - 0x1c]
add edi, 2
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44a7d3
jmp 0x44a080
mov eax, dword [esi + 0x7c]
add ecx, ecx
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
jbe 0x44a8d1
cmp dword [esi + 0x8c], 0
je case.0x4082d6.157
cmp edi, dword [esi + 0x88]
jbe case.0x4082d6.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x4082d6.157
jmp 0x44e20b
mov eax, dword [esi + 0x7c]
add ecx, ecx
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x44a891
add edi, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], edi
jmp 0x44a083
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44a891
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
ja 0x44a92a
je 0x44a918
cmp eax, 0xa
je 0x44a949
add eax, 0xfffffff5
cmp eax, 1
ja case.0x4082d6.157
jmp 0x44a93f
cmp edi, ecx
jae 0x44a949
cmp word [edi], 0xa
jne 0x44a949
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44a949
cmp eax, 0x85
je 0x44a93f
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x4082d6.157
cmp dword [esi + 0x6c], 0
jne case.0x4082d6.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44a8f1
jmp 0x44a07d
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x449833
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x180e
ja 0x44a9b2
je case.0x4082d6.157
cmp eax, 0xa0
ja 0x44a9a5
je case.0x4082d6.157
cmp eax, 9
je case.0x4082d6.157
cmp eax, 0x20
je case.0x4082d6.157
jmp 0x44a9e9
cmp eax, 0x1680
je case.0x4082d6.157
jmp 0x44a9e9
cmp eax, 0x205f
ja 0x44a9de
je case.0x4082d6.157
cmp eax, 0x2000
jb 0x44a9e9
cmp eax, 0x200a
jbe case.0x4082d6.157
cmp eax, 0x202f
je case.0x4082d6.157
jmp 0x44a9e9
cmp eax, 0x3000
je case.0x4082d6.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44a965
mov ecx, dword [ebp - 0xc]
jmp 0x44a083
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x449833
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x180e
ja 0x44aa4d
je 0x44aa80
cmp eax, 0xa0
ja 0x44aa40
je 0x44aa80
cmp eax, 9
je 0x44aa80
cmp eax, 0x20
jne case.0x4082d6.157
jmp 0x44aa80
cmp eax, 0x1680
jne case.0x4082d6.157
jmp 0x44aa80
cmp eax, 0x205f
ja 0x44aa75
je 0x44aa80
cmp eax, 0x2000
jb case.0x4082d6.157
cmp eax, 0x200a
jbe 0x44aa80
cmp eax, 0x202f
jne case.0x4082d6.157
jmp 0x44aa80
cmp eax, 0x3000
jne case.0x4082d6.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44aa0c
mov ecx, dword [ebp - 0xc]
jmp 0x44a083
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x449833
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
ja 0x44aace
je case.0x4082d6.157
cmp eax, 0xa
jb 0x44aae0
cmp eax, 0xd
jbe case.0x4082d6.157
jmp 0x44aae0
cmp eax, 0x2028
jb 0x44aae0
cmp eax, 0x2029
jbe case.0x4082d6.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44aa9f
mov ecx, dword [ebp - 0xc]
jmp 0x44a083
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x449833
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
ja 0x44ab28
je 0x44ab36
add eax, 0xfffffff6
cmp eax, 3
ja case.0x4082d6.157
jmp 0x44ab36
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x4082d6.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44aaff
mov ecx, dword [ebp - 0xc]
jmp 0x44a083
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44ab7f
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44ab54
jmp 0x44a080
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x4082d6.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44ab9f
jmp 0x44a080
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44ac16
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44abeb
jmp 0x44a080
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x4082d6.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44ac36
jmp 0x44a080
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44acad
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44ac82
jmp 0x44a080
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a080
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x4082d6.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4082d6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44accd
jmp 0x44a080
mov edx, edi
mov dword [ebp - 0x10], edx
test eax, eax
js 0x44b580
cmp eax, 0xa
ja case.default.0x447ec3
jmp dword [eax*4 + 0x44e6fd]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
jge 0x44b51b
cmp edi, dword [esi + 0x7c]
jae 0x44ad84
cmp dword [ebp - 0x28], 0
mov ecx, 1
je 0x44ad64
mov ax, word [edi]
mov dword [ebp - 0x38], 0xfc00
and ax, word [ebp - 0x38]
mov dword [ebp - 0x38], 0xd800
cmp ax, word [ebp - 0x38]
mov eax, dword [ebp - 0x14]
jne 0x44ad64
mov ecx, 2
cmp dword [ebp - 0x3c], 0
jne 0x44b51b
lea edi, [edi + ecx*2]
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, eax
jl 0x44ad31
jmp 0x44b51b
cmp dword [esi + 0x8c], 0
je 0x44b51b
cmp edi, dword [esi + 0x88]
jbe 0x44b51b
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44b51b
jmp 0x44e20b
cmp ecx, dword [ebp - 0x14]
jge 0x44b51b
cmp edi, dword [esi + 0x7c]
jae 0x44ae74
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44ae0f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ae0a
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44ae14
mov edx, dword [ebp - 0x38]
jmp 0x44ae14
mov edx, 1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp eax, 9
je 0x44ae4b
cmp eax, 5
je 0x44ae4b
cmp eax, 8
je 0x44ae4b
xor eax, eax
jmp 0x44ae50
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44b518
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 - 0x14]
jl 0x44adbf
jmp 0x44b518
cmp dword [esi + 0x8c], 0
je 0x44b518
cmp edi, dword [esi + 0x88]
jbe 0x44b518
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44b518
jmp 0x44e20b
cmp ecx, dword [ebp - 0x14]
jge 0x44b51b
cmp edi, dword [esi + 0x7c]
jae 0x44ae74
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44aefb
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44aef6
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44af00
mov edx, dword [ebp - 0x38]
jmp 0x44af00
mov edx, 1
mov esi, dword [ebp - 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp dword [eax*4 + 0x4c5350], esi
mov esi, dword [ebp + 0x10]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44b518
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 - 0x14]
jl 0x44aeaf
jmp 0x44b518
cmp ecx, dword [ebp - 0x14]
jge 0x44b51b
cmp edi, dword [esi + 0x7c]
jae 0x44ae74
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44afb3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44afae
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44afb8
mov edx, dword [ebp - 0x38]
jmp 0x44afb8
mov edx, 1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44b518
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 - 0x14]
jl 0x44af63
jmp 0x44b518
cmp ecx, dword [ebp - 0x14]
jge 0x44b51b
cmp edi, dword [esi + 0x7c]
jae 0x44ae74
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44b061
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b05c
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44b066
mov edx, dword [ebp - 0x38]
jmp 0x44b066
mov edx, 1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44b518
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 - 0x14]
jl 0x44b011
jmp 0x44b518
cmp ecx, dword [ebp - 0x14]
jge 0x44b51b
cmp edi, dword [esi + 0x7c]
jae 0x44ae74
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44b10f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b10a
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44b114
mov edx, dword [ebp - 0x38]
jmp 0x44b114
mov edx, 1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x44b14d
cmp eax, 3
je 0x44b14d
xor eax, eax
jmp 0x44b152
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44b518
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 - 0x14]
jl 0x44b0bf
jmp 0x44b518
cmp ecx, dword [ebp - 0x14]
jge 0x44b51b
mov eax, 1
mov dword [ebp - 0x24], eax
cmp edi, dword [esi + 0x7c]
jae 0x44b2b2
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov edx, ecx
je 0x44b1d2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b1cf
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 - 0x24], eax
mov edx, ecx
jmp 0x44b1d2
mov eax, dword [ebp - 0x24]
cmp ecx, 0x180e
ja 0x44b218
je 0x44b28d
cmp ecx, 0x85
ja 0x44b206
je 0x44b28d
cmp ecx, 9
jb case.0x44b234.8203
cmp ecx, 0xd
jbe 0x44b28d
cmp ecx, 0x20
jne case.0x44b234.8203
jmp 0x44b28d
cmp ecx, 0xa0
je 0x44b28d
cmp ecx, 0x1680
jne case.0x44b234.8203
jmp 0x44b28d
cmp ecx, 0x202f
ja 0x44b23b
je 0x44b28d
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x44b234.8203
movzx eax, byte [ecx + 0x44e731]
jmp dword [eax*4 + 0x44e729]
cmp ecx, 0x205f
je 0x44b28d
cmp ecx, 0x3000
je 0x44b28d
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp dword [eax*4 + 0x4c5350], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44b518
mov eax, dword [ebp - 0x24]
jmp 0x44b297
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x3c], 0
jne 0x44b518
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 - 0x14]
jl 0x44b17f
jmp 0x44b518
cmp dword [esi + 0x8c], 0
je 0x44b518
cmp edi, dword [esi + 0x88]
jbe 0x44b518
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0x44b518
jmp 0x44e20b
cmp ecx, dword [ebp - 0x14]
jge 0x44b51b
cmp edi, dword [esi + 0x7c]
jae 0x44ae74
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov edx, ecx
mov dword [ebp - 0x1c], 1
je 0x44b333
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b333
movzx edx, word [edi + 2]
and ecx, 0x3ff
and edx, 0x3ff
shl ecx, 0xa
or edx, ecx
mov dword [ebp - 0x1c], 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x44b373
cmp eax, 3
je 0x44b373
cmp edx, 0x5f
je 0x44b373
xor eax, eax
jmp 0x44b378
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44b518
mov eax, dword [ebp - 0x1c]
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 - 0x14]
jl 0x44b2e8
jmp 0x44b518
cmp ecx, dword [ebp - 0x14]
jge 0x44b51b
mov dword [ebp - 0x1c], 1
cmp edi, dword [esi + 0x7c]
jae 0x44ae74
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov dword [ebp - 0x24], ecx
je 0x44b3f9
mov eax, ecx
mov dword [ebp - 0x24], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b3f9
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [eax*4 + 0x4b0a60]
lea eax, [eax*4 + 0x4b0a60]
cmp dword [ebp - 0x24], edx
jb 0x44b41c
lea eax, [eax + 4]
cmp ecx, edx
je 0x44b444
mov edx, dword [eax]
cmp ecx, edx
jae 0x44b40f
cmp dword [ebp - 0x3c], 0
je 0x44b518
mov eax, dword [ebp - 0x1c]
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 - 0x14]
jl 0x44b3a8
jmp 0x44b518
cmp dword [ebp - 0x3c], 0
je 0x44b426
jmp 0x44b518
cmp ecx, dword [ebp - 0x14]
jge 0x44b51b
mov dword [ebp - 0x1c], 1
cmp edi, dword [esi + 0x7c]
jae 0x44b4f3
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
je 0x44b4a3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b4a3
movzx ecx, word [edi + 2]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
cmp ecx, 0x24
je 0x44b4ce
cmp ecx, 0x40
je 0x44b4ce
cmp ecx, 0x60
je 0x44b4ce
cmp ecx, 0xa0
jb 0x44b4c2
cmp ecx, 0xd7ff
jbe 0x44b4ce
cmp ecx, 0xe000
jae 0x44b4ce
xor eax, eax
jmp 0x44b4d3
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44b518
mov eax, dword [ebp - 0x1c]
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 - 0x14]
jl 0x44b458
jmp 0x44b518
cmp dword [esi + 0x8c], 0
je 0x44b518
cmp edi, dword [esi + 0x88]
jbe 0x44b518
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp edi, edx
jbe 0x4083d2
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp dword [ebp - 0x28], eax
je 0x44b576
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44b576
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x44b52d
jmp 0x4083d2
mov eax, dword [ebp - 0x20]
cmp eax, 0x16
jne 0x44b76d
cmp ecx, dword [ebp - 0x14]
jge 0x44b721
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], eax
cmp edi, eax
jae 0x44b6f9
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], edi
je 0x44b5eb
mov eax, edx
mov dword [ebp - 0x24], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b5eb
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov dword [ebp - 0x24], edi
mov edx, dword [ebp - 0x24]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx ecx, byte [eax*8 + 0x4af3e2]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x38], ecx
cmp edx, eax
jae 0x44b6be
mov eax, edx
mov ebx, ecx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x28], 0
mov esi, 1
movzx ecx, word [edi]
je 0x44b662
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b662
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov edx, dword [ebp - 0x24]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx ecx, byte [eax*8 + 0x4af3e2]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4c21f0], eax
je 0x44b6b2
mov eax, edx
mov ebx, ecx
lea edi, [eax + esi*2]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
mov edx, edi
cmp edi, eax
jb 0x44b627
jmp 0x44b6b5
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44b6e7
cmp edx, eax
jb 0x44b6e7
cmp edx, dword [esi + 0x88]
jbe 0x44b6e7
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44b595
jmp 0x44b71e
cmp dword [esi + 0x8c], 0
je 0x44b71e
cmp edi, dword [esi + 0x88]
jbe 0x44b71e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp edi, edx
jbe 0x4083d2
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp dword [ebp - 0x28], eax
jne 0x44c638
movzx ecx, word [edi]
jmp 0x44c67e
add eax, 0xfffffffa
cmp dword [ebp - 0x28], 0
je 0x44bf91
cmp eax, 0xf
ja case.default.0x447ec3
jmp dword [eax*4 + 0x44e75d]
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x24], eax
cmp edi, eax
jae 0x44b86c
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44b7c3
push dword [ebp - 0x28]
lea ecx, [esi + 0x1c]
push ecx
push eax
mov ecx, edi
call fcn.00406951
add esp, 0xc
test eax, eax
je 0x44b7f2
jmp 0x44b891
mov ecx, dword [esi + 0x1c]
mov edx, dword [ebp - 0x24]
lea eax, [ecx + ecx]
sub edx, eax
cmp edi, edx
ja 0x44b7f2
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44b7f2
cmp ecx, 1
je 0x44b891
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44b891
cmp dword [esi + 0x8c], 0
je 0x44b82c
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44b82c
cmp dword [esi + 0x18], 0
jne 0x44b82c
cmp dword [esi + 0x1c], 2
jne 0x44b82c
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44b82c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], eax
cmp edi, eax
jae 0x44b85a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0x24]
jne 0x44b85a
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x44b799
jmp 0x44b891
cmp dword [esi + 0x8c], 0
je 0x44b891
cmp edi, dword [esi + 0x88]
jbe 0x44b891
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp edi, edx
jbe 0x4083d2
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov edx, 0xfc00
mov dword [ebp - 8], edi
and ax, dx
mov ecx, edi
mov edx, 0xdc00
cmp ax, dx
jne 0x44b8ef
add edi, 0xfffffffe
mov dword [ebp - 8], edi
mov ecx, edi
cmp dword [ebp - 0x20], 0x11
mov eax, dword [ebp - 0x10]
jne 0x44b90f
cmp ecx, eax
jbe 0x44b90f
cmp word [edi], 0xa
jne 0x44b90f
cmp word [edi - 2], 0xd
jne 0x44b90f
lea edi, [ecx - 2]
mov dword [ebp - 8], edi
cmp edi, eax
ja 0x44b8a6
jmp 0x4083d2
mov eax, dword [ebp - 0x14]
cmp eax, 0x7fffffff
jge 0x44b970
cmp ecx, eax
jge 0x44b894
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44b976
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44b962
mov ax, word [edi]
mov dword [ebp - 0x38], 0xfc00
and ax, word [ebp - 0x38]
mov dword [ebp - 0x38], 0xdc00
cmp ax, word [ebp - 0x38]
mov eax, dword [ebp - 0xc]
jne 0x44b962
add edi, 2
mov dword [ebp - 8], edi
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44b930
jmp 0x44b894
mov edi, dword [esi + 0x7c]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44b894
cmp edi, dword [esi + 0x88]
jbe 0x44b894
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44b894
jmp 0x44e20b
sub dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub eax, edi
sar eax, 1
cmp dword [ebp - 0x14], eax
jbe 0x44b9f0
cmp dword [esi + 0x8c], 0
mov edi, ecx
mov dword [ebp - 8], edi
je 0x44b894
cmp ecx, dword [esi + 0x88]
jbe 0x44b894
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44b894
jmp 0x44e20b
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
jmp 0x44b894
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x44b86c
movzx ecx, word [edi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ba47
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 0x44ba68
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x44b891
cmp word [edi], 0xa
jne 0x44baa6
add edi, 2
jmp 0x44baa3
cmp ecx, 0xa
je 0x44ba9d
cmp dword [esi + 0x6c], 0
jne 0x44b891
cmp ecx, 0xb
je 0x44ba9d
cmp ecx, 0xc
je 0x44ba9d
cmp ecx, 0x85
je 0x44ba9d
cmp ecx, 0x2028
je 0x44ba9d
cmp ecx, 0x2029
jne 0x44b891
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 - 0x14]
jl 0x44ba0a
jmp 0x44b891
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44bb8e
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bb02
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 0x44bb5e
je 0x44bb20
cmp ecx, 0xa0
ja 0x44bb54
je 0x44bb20
cmp ecx, 9
je 0x44bb20
cmp ecx, 0x20
jne 0x44bb8a
mov ecx, 1
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [ebp - 0x20], 0x12
sete al
cmp ecx, eax
je 0x44b891
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 - 0x14]
jl 0x44bac4
jmp 0x44b891
cmp ecx, 0x1680
jne 0x44bb8a
jmp 0x44bb20
cmp ecx, 0x205f
ja 0x44bb82
je 0x44bb20
cmp ecx, 0x2000
jb 0x44bb8a
cmp ecx, 0x200a
jbe 0x44bb20
cmp ecx, 0x202f
jne 0x44bb8a
jmp 0x44bb20
cmp ecx, 0x3000
je 0x44bb20
xor ecx, ecx
jmp 0x44bb25
cmp dword [esi + 0x8c], 0
je 0x44b891
cmp edi, dword [esi + 0x88]
jbe 0x44b891
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jmp 0x44b88b
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44bb8e
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bbf8
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 0x44bc39
je 0x44bc44
cmp ecx, 0xa
jb 0x44bc0c
cmp ecx, 0xd
jbe 0x44bc44
xor ecx, ecx
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [ebp - 0x20], 0x14
sete al
cmp ecx, eax
je 0x44b891
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 - 0x14]
jl 0x44bbbe
jmp 0x44b891
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x44bc0c
mov ecx, 1
jmp 0x44bc0e
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
cmp edi, dword [esi + 0x7c]
jae 0x44b86c
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44bc9d
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 - 0x1c], eax
mov edx, ecx
jmp 0x44bca2
mov eax, 1
cmp edx, 0x100
jae 0x44bcba
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44b891
mov eax, dword [ebp - 0x1c]
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 - 0x14]
jl 0x44bc54
jmp 0x44b891
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
cmp edi, dword [esi + 0x7c]
jae 0x44b86c
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44bd20
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
mov edx, ecx
cmp edx, 0x100
jae 0x44b891
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44b891
mov eax, dword [ebp - 0x1c]
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 - 0x14]
jl 0x44bcda
jmp 0x44b891
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
cmp edi, dword [esi + 0x7c]
jae 0x44b86c
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44bda5
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 - 0x1c], eax
mov edx, ecx
jmp 0x44bdaa
mov eax, 1
cmp edx, 0x100
jae 0x44bdc2
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44b891
mov eax, dword [ebp - 0x1c]
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 - 0x14]
jl 0x44bd5c
jmp 0x44b891
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
cmp edi, dword [esi + 0x7c]
jae 0x44b86c
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44be28
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
mov edx, ecx
cmp edx, 0x100
jae 0x44b891
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44b891
mov eax, dword [ebp - 0x1c]
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 - 0x14]
jl 0x44bde2
jmp 0x44b891
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
cmp edi, dword [esi + 0x7c]
jae 0x44b86c
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44bead
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 - 0x1c], eax
mov edx, ecx
jmp 0x44beb2
mov eax, 1
cmp edx, 0x100
jae 0x44beca
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44b891
mov eax, dword [ebp - 0x1c]
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 - 0x14]
jl 0x44be64
jmp 0x44b891
cmp ecx, dword [ebp - 0x14]
jge 0x44b894
cmp edi, dword [esi + 0x7c]
jae 0x44bf5f
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44bf2c
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
mov edx, ecx
cmp edx, 0x100
jae 0x44b891
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44b891
mov eax, dword [ebp - 0x1c]
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 - 0x14]
jl 0x44beea
jmp 0x44b891
cmp dword [esi + 0x8c], 0
je 0x44b891
cmp edi, dword [esi + 0x88]
jbe 0x44b891
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
jmp 0x44b891
cmp eax, 0xf
ja case.default.0x447ec3
jmp dword [eax*4 + 0x44e79d]
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44c050
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44bfd6
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00406951
add esp, 0xc
test eax, eax
je 0x44bffe
jmp 0x44c075
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44bffe
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44bffe
cmp edx, 1
je 0x44c075
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44c075
cmp dword [esi + 0x8c], 0
je 0x44c038
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44c038
cmp dword [esi + 0x18], 0
jne 0x44c038
cmp dword [esi + 0x1c], 2
jne 0x44c038
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c038
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44bfaa
jmp 0x44c075
cmp dword [esi + 0x8c], 0
je 0x44c075
cmp edi, dword [esi + 0x88]
jbe 0x44c075
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov edx, dword [ebp - 0x10]
jmp 0x44c504
sub dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub eax, edi
sar eax, 1
cmp dword [ebp - 0x14], eax
jbe 0x44c0c5
cmp dword [esi + 0x8c], 0
mov edi, ecx
mov dword [ebp - 8], edi
je 0x44c504
cmp ecx, dword [esi + 0x88]
jbe 0x44c504
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c504
jmp 0x44e20b
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44c15c
movzx eax, word [edi]
cmp eax, 0xd
jne 0x44c101
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44c504
cmp word [edi], 0xa
je 0x44c145
jmp 0x44c14b
cmp eax, 0xa
je 0x44c145
cmp dword [esi + 0x6c], 0
jne 0x44c504
cmp eax, 0xb
je 0x44c145
cmp eax, 0xc
je 0x44c145
mov dword [ebp - 0x38], 0x85
cmp ax, word [ebp - 0x38]
je 0x44c145
mov dword [ebp - 0x38], 0x2028
cmp ax, word [ebp - 0x38]
je 0x44c145
mov dword [ebp - 0x38], 0x2029
cmp ax, word [ebp - 0x38]
jne 0x44c504
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c0df
jmp 0x44c504
cmp dword [esi + 0x8c], 0
je 0x44c504
cmp edi, dword [esi + 0x88]
jbe 0x44c504
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c504
jmp 0x44e20b
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c15c
movzx eax, word [edi]
cmp eax, 0x180e
ja 0x44c1d8
je 0x44c504
cmp eax, 0xa0
ja 0x44c1cc
je 0x44c504
cmp eax, 9
je 0x44c504
cmp eax, 0x20
jne 0x44c20e
jmp 0x44c504
cmp eax, 0x1680
jne 0x44c20e
jmp 0x44c504
cmp eax, 0x205f
ja 0x44c203
je 0x44c504
cmp eax, 0x2000
jb 0x44c20e
cmp eax, 0x200a
jbe 0x44c504
cmp eax, 0x202f
jne 0x44c20e
jmp 0x44c504
cmp eax, 0x3000
je 0x44c504
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44c197
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c15c
movzx eax, word [edi]
cmp eax, 0x180e
ja 0x44c265
je 0x44c297
cmp eax, 0xa0
ja 0x44c259
je 0x44c297
cmp eax, 9
je 0x44c297
cmp eax, 0x20
je 0x44c297
jmp 0x44c504
cmp eax, 0x1680
je 0x44c297
jmp 0x44c504
cmp eax, 0x205f
ja 0x44c28c
je 0x44c297
cmp eax, 0x2000
jb 0x44c504
cmp eax, 0x200a
jbe 0x44c297
cmp eax, 0x202f
je 0x44c297
jmp 0x44c504
cmp eax, 0x3000
jne 0x44c504
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44c22c
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c15c
movzx eax, word [edi]
cmp eax, 0x85
ja 0x44c2d9
je 0x44c504
cmp eax, 0xa
jb 0x44c2eb
cmp eax, 0xd
ja 0x44c2eb
jmp 0x44c504
cmp eax, 0x2028
jb 0x44c2eb
cmp eax, 0x2029
jbe 0x44c504
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44c2b1
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c15c
movzx eax, word [edi]
cmp eax, 0x85
ja 0x44c327
je 0x44c335
add eax, 0xfffffff6
cmp eax, 3
jbe 0x44c335
jmp 0x44c504
add eax, 0xffffdfd8
cmp eax, 1
ja 0x44c504
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44c305
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c15c
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44c37a
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44c504
mov ecx, dword [ebp - 0xc]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x44c34f
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c15c
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c504
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44c504
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c397
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c15c
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44c40b
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44c504
mov ecx, dword [ebp - 0xc]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x44c3e0
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c15c
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c504
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44c504
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c428
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c15c
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44c498
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44c504
mov ecx, dword [ebp - 0xc]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x44c471
jmp 0x44c504
cmp ecx, dword [ebp - 0x14]
jge 0x44c504
cmp edi, dword [esi + 0x7c]
jae 0x44c4df
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c504
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44c504
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c4ae
jmp 0x44c504
cmp dword [esi + 0x8c], 0
je 0x44c504
cmp edi, dword [esi + 0x88]
jbe 0x44c504
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
cmp dword [ebp - 0x2c], 0
jne 0x4085b9
cmp edi, edx
je 0x4083d2
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x10]
add edi, 0xfffffffe
cmp dword [ebp - 0x20], 0x11
mov dword [ebp - 8], edi
jne 0x44c55f
cmp edi, eax
jbe 0x44c561
cmp word [edi], 0xa
jne 0x44c55f
cmp word [edi - 2], 0xd
jne 0x44c55f
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, eax
jne 0x44c516
jmp 0x4083d2
mov edx, dword [ebp - 0x20]
call fcn.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
add ebx, 4
jmp 0x4083cf
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push ecx
push dword [ebp + 8]
jne 0x44c5f0
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov ecx, dword [ebp - 0x20]
mov edx, 0x81
movzx eax, word [ecx]
cmp ax, dx
je 0x44c8a2
mov edx, 0x88
cmp ax, dx
jb 0x44657d
mov eax, dword [ebp + 0x18]
mov edx, ecx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408250
add esp, 0x14
jmp 0x40841b
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00408250
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x44c617
mov ecx, dword [ebp - 0x20]
cmp dword [esi + 0xb8], ecx
jne 0x40841b
jmp 0x44c622
test eax, eax
jne 0x40841b
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x44c8a6
add ebx, 4
jmp 0x4083cf
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44c653
add edi, 0xfffffffe
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c67e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e2]
mov dword [ebp - 0x1c], eax
cmp edi, dword [ebp - 0x10]
jbe 0x4083d2
cmp dword [ebp - 0x28], 0
lea edx, [edi - 2]
jne 0x44c6bc
movzx ecx, word [edx]
jmp 0x44c6ff
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44c6d4
add edx, 0xfffffffe
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c6ff
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
mov ecx, dword [ebp - 0x1c]
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e2]
mov dword [ebp - 0x38], eax
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test dword [ecx*4 + 0x4c21f0], eax
je 0x44b733
mov edi, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], edi
jmp 0x44c6a5
mov dword [esi + 0x9c], 2
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], 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 + 0x4c2140]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00408250
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc20
jne 0x44c7e5
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e28e
cmp word [ebx], 0x77
je 0x44c7bd
cmp word [eax], 0x77
jne 0x44e28e
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x38]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
jne case.0x4082d6.157
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp case.0x4082d6.129
test eax, eax
je 0x44c7bd
cmp eax, 0xfffffc1b
jne 0x40841b
movzx ecx, word [ebx]
mov edx, 0x81
cmp cx, dx
je 0x44c820
cmp ecx, 0x77
jne 0x44c814
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44c806
movzx eax, word [ebx + 2]
neg eax
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x2c]
cmp dword [esi + 0xb8], ebx
jne 0x40841b
jmp case.0x4082d6.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4c2140]
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x40841b
mov ecx, dword [ebp - 0x50]
lea edx, [ebp - 0x14c]
cmp ecx, edx
je 0x40841b
push ecx
call fcn.00408bfb
add esp, 4
jmp 0x44e28e
mov eax, 0xfffffffa
jmp 0x40841b
mov edx, ecx
jmp 0x44c8a9
lea edx, [ebx + 4]
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov edi, dword [ebp - 0x20]
jmp 0x44c8f2
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push ecx
push dword [ebp + 8]
mov ecx, dword [ebp - 8]
call fcn.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x40841b
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, 0xfffffc1a
mov dword [esi + 0x90], ecx
jmp 0x40841b
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 0x408416
cmp eax, 0xfffffffe
jne 0x44c94c
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jb case.0x4082d6.157
jmp 0x44a89e
mov dword [ebp - 0x1c], eax
cmp edi, edx
jl 0x44c975
mov edi, eax
jmp 0x44c9da
mov eax, dword [ebp - 8]
push dword [ebp - 0x24]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0049afae
add esp, 0xc
test eax, eax
js 0x44c99f
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 0x20]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edi, dword [ebp - 0x2c]
jl 0x44c972
jmp 0x44c9cf
cmp eax, 0xfffffffe
jne 0x44c9cc
cmp dword [esi + 0x8c], 0
je 0x44c9cc
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x44c9cc
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x1c]
cmp edx, edi
jb case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 8]
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, edi
jae 0x44c9da
jmp case.0x4082d6.157
cmp ecx, 0xfffffffe
jne 0x44ca1f
mov eax, dword [esi + 0x7c]
jmp 0x44ca22
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x4082d6.157
cmp eax, dword [esi + 0x7c]
jb case.0x4082d6.157
cmp eax, dword [esi + 0x88]
jmp 0x44a8a4
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.00408250
add esp, 0x14
cmp dword [ebp - 0x28], 0
je 0x44cb19
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge case.0x4082d6.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44cc69
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cabf
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 0x44cad2
cmp edi, 0x6e
je case.0x4082d6.157
jmp 0x44caf0
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je case.0x4082d6.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408250
add esp, 0x14
test eax, eax
je 0x44ca71
jmp 0x40841b
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge case.0x4082d6.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cc81
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44cb55
cmp edi, 0x6e
je case.0x4082d6.157
jmp 0x44cb70
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je case.0x4082d6.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
inc dword [ebp - 0x18]
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408250
add esp, 0x14
test eax, eax
je 0x44cb21
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x44cc0a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cc0a
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 - 0x24]
call fcn.0049b1a9
add esp, 4
test eax, eax
je case.0x4082d6.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408250
add esp, 0x14
test eax, eax
je 0x44cbbe
jmp 0x40841b
cmp dword [esi + 0x8c], 0
je case.0x4082d6.157
cmp edx, ecx
jb case.0x4082d6.157
cmp edx, dword [esi + 0x88]
jmp 0x44a8a4
cmp dword [esi + 0x8c], 0
je case.0x4082d6.157
cmp ecx, dword [esi + 0x88]
jmp 0x44a8a4
cmp dword [esi + 0x8c], 0
je case.0x4082d6.157
cmp eax, dword [esi + 0x88]
jmp 0x44a8a4
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jge case.0x4082d6.157
mov eax, dword [ebp - 0xc]
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44ccf0
push ecx
push dword [ebp - 0x34]
push edi
call fcn.004214a4
add esp, 0xc
test eax, eax
jne 0x44ccf0
mov eax, dword [ebp - 0xc]
jmp 0x44cd24
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x44c94c
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44c94c
push ecx
lea eax, [ebp - 0x6c]
push eax
push edi
call fcn.004214a4
add esp, 0xc
test eax, eax
jne 0x44c94c
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x14]
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.00408250
add esp, 0x14
test eax, eax
je 0x44ccbf
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
cmp dword [ebp - 0x20], ecx
je 0x44cd9e
cmp dword [ebp - 0x24], ecx
jne case.0x4082d6.157
inc eax
add edi, 2
mov dword [ebp - 0x14], 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.00408250
add esp, 0x14
test eax, eax
je 0x44cd78
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x18]
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x20], eax
jne case.0x4082d6.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x14], 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.00408250
add esp, 0x14
test eax, eax
je 0x44cdec
jmp 0x40841b
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.00408250
add esp, 0x14
cmp dword [ebp - 0x28], 0
je 0x44cee7
test eax, eax
jne 0x40841b
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cead
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 - 0x14], ecx
je case.0x4082d6.157
cmp dword [ebp - 0x20], ecx
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44ce68
jmp 0x40841b
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
cmp dword [ebp - 0x14], ecx
je case.0x4082d6.157
cmp dword [ebp - 0x20], ecx
je case.0x4082d6.157
inc eax
add edi, 2
mov dword [ebp - 0xc], 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.00408250
add esp, 0x14
test eax, eax
je 0x44ceef
jmp 0x40841b
cmp dword [esi + 0x8c], 0
je case.0x4082d6.157
cmp eax, dword [esi + 0x88]
jbe case.0x4082d6.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x4082d6.157
jmp 0x44e20b
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.00408250
add esp, 0x14
cmp dword [ebp - 0x28], 0
je 0x44d018
test eax, eax
jne 0x40841b
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cfe7
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 - 0x14], ecx
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44cfa2
jmp 0x40841b
test eax, eax
jne 0x40841b
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x14], eax
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d020
jmp 0x40841b
cmp eax, 0xa
ja case.default.0x447ec3
jmp dword [eax*4 + 0x44e7dd]
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x14]
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
je 0x44d0cf
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d0cf
add edi, 2
cmp dword [ebp - 0x3c], 0
jne case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d09f
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d171
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d171
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp eax, 9
je 0x44d1a8
cmp eax, 5
je 0x44d1a8
cmp eax, 8
je 0x44d1a8
xor eax, eax
jmp 0x44d1ad
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d124
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d252
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d252
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add edi, 2
add ecx, 0x10000
mov edx, dword [ebp - 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp dword [eax*4 + 0x4c5350], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d204
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d329
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d329
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d2dc
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d3f9
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d3f9
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d3ac
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d4ca
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d4ca
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x44d503
cmp eax, 3
je 0x44d503
xor eax, eax
jmp 0x44d508
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d47c
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x14]
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
je 0x44d5b1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d5ae
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov edx, ecx
mov eax, dword [ebp - 0xc]
cmp ecx, 0x180e
ja 0x44d5f7
je 0x44d66c
cmp ecx, 0x85
ja 0x44d5e5
je 0x44d66c
cmp ecx, 9
jb case.0x44d613.8203
cmp ecx, 0xd
jbe 0x44d66c
cmp ecx, 0x20
jne case.0x44d613.8203
jmp 0x44d66c
cmp ecx, 0xa0
je 0x44d66c
cmp ecx, 0x1680
jne case.0x44d613.8203
jmp 0x44d66c
cmp ecx, 0x202f
ja 0x44d61a
je 0x44d66c
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x44d613.8203
movzx eax, byte [ecx + 0x44e811]
jmp dword [eax*4 + 0x44e809]
cmp ecx, 0x205f
je 0x44d66c
cmp ecx, 0x3000
je 0x44d66c
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
cmp dword [eax*4 + 0x4c5350], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4082d6.157
mov eax, dword [ebp - 0xc]
jmp 0x44d676
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x3c], 0
jne case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d55f
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
je 0x44d712
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d712
movzx eax, word [edi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4bff40]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3e1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x44d752
cmp eax, 3
je 0x44d752
cmp edx, 0x5f
je 0x44d752
xor eax, eax
jmp 0x44d757
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d6c5
jmp 0x40841b
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x34], ecx
je 0x44d802
mov eax, ecx
mov dword [ebp - 0x34], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d802
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 - 0x34], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [eax*4 + 0x4b0a60]
lea eax, [eax*4 + 0x4b0a60]
cmp dword [ebp - 0x34], edx
jb 0x44d825
lea eax, [eax + 4]
cmp ecx, edx
je 0x44d85a
mov edx, dword [eax]
cmp ecx, edx
jae 0x44d818
cmp dword [ebp - 0x3c], 0
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d7ae
jmp 0x40841b
cmp dword [ebp - 0x3c], 0
jne case.0x4082d6.157
jmp 0x44d82f
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.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d8d7
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d8d7
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add ecx, 0x10000
add edi, 2
cmp ecx, 0x24
je 0x44d902
cmp ecx, 0x40
je 0x44d902
cmp ecx, 0x60
je 0x44d902
cmp ecx, 0xa0
jb 0x44d8f6
cmp ecx, 0xd7ff
jbe 0x44d902
cmp ecx, 0xe000
jae 0x44d902
xor eax, eax
jmp 0x44d907
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44d889
jmp 0x40841b
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
cmp edi, dword [esi + 0x7c]
jae 0x44a891
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, eax
mov dword [ebp - 0x38], eax
mov edx, edi
je 0x44d995
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d995
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add edi, 2
or ecx, eax
add ecx, 0x10000
mov edx, edi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx ecx, byte [eax*8 + 0x4af3e2]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], ecx
cmp edx, eax
jae 0x44da67
mov dword [ebp - 0x38], edx
mov ebx, edx
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov dword [ebp - 0x34], 1
je 0x44da0b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44da0b
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x34], 2
add ecx, 0x10000
mov esi, dword [ebp - 0x1c]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
mov edx, ebx
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx ecx, byte [eax*8 + 0x4af3e2]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4c21f0], eax
mov esi, dword [ebp + 0x10]
je 0x44da61
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], ecx
lea edi, [ebx + eax*2]
mov eax, dword [esi + 0x7c]
mov ebx, edi
mov edx, edi
cmp edi, eax
jb 0x44d9cc
jmp 0x44da64
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
je 0x44da90
cmp edx, eax
jb 0x44da90
cmp edx, dword [esi + 0x88]
jbe 0x44da90
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
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.00408250
add esp, 0x14
test eax, eax
je 0x44d943
jmp 0x40841b
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x4088e2
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x4088e2
cmp edx, 1
je case.0x4082d6.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4082d6.157
jmp 0x4088e2
movzx eax, word [edi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, edi
mov edx, ecx
mov dword [ebp - 0x24], eax
jmp 0x4088ff
mov esi, dword [ebp - 0x20]
add esi, 0xfffffffa
cmp esi, 0xf
ja case.default.0x447ec3
mov esi, dword [ebp - 0x20]
add esi, 0xfffffffa
jmp dword [esi*4 + 0x44e83d]
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x24]
cmp ecx, 0xd
ja 0x44db77
je 0x44db5c
cmp ecx, 0xa
je case.0x44db31.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x4082d6.157
jmp 0x44db8e
cmp edi, dword [esi + 0x7c]
jae case.0x44db31.13
cmp word [edi], 0xa
jne case.0x44db31.13
lea edi, [eax + 2]
jmp case.0x44db31.13
cmp ecx, 0x85
je 0x44db8e
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4082d6.157
cmp dword [esi + 0x6c], 0
jne case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x180e
ja 0x44dbe1
je case.0x4082d6.157
cmp ecx, 0xa0
ja 0x44dbd0
je case.0x4082d6.157
cmp ecx, 9
je case.0x4082d6.157
cmp ecx, 0x20
je case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x1680
je case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x205f
ja 0x44dc18
je case.0x4082d6.157
cmp ecx, 0x2000
jb case.0x44db31.13
cmp ecx, 0x200a
jbe case.0x4082d6.157
cmp ecx, 0x202f
je case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x3000
je case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x180e
ja 0x44dc6d
je case.0x44db31.13
cmp ecx, 0xa0
ja 0x44dc5c
je case.0x44db31.13
cmp ecx, 9
je case.0x44db31.13
cmp ecx, 0x20
jne case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x1680
jne case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x205f
ja 0x44dca4
je case.0x44db31.13
cmp ecx, 0x2000
jb case.0x4082d6.157
cmp ecx, 0x200a
jbe case.0x44db31.13
cmp ecx, 0x202f
jne case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x3000
jne case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x85
ja 0x44dcda
je case.0x4082d6.157
cmp ecx, 0xa
jb case.0x44db31.13
cmp ecx, 0xd
jbe case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x2028
jb case.0x44db31.13
cmp ecx, 0x2029
jbe case.0x4082d6.157
jmp case.0x44db31.13
cmp ecx, 0x85
ja 0x44dd16
je case.0x44db31.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4082d6.157
jmp case.0x44db31.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4082d6.157
jmp case.0x44db31.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x44db31.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4082d6.157
jmp case.0x44db31.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4082d6.157
jmp case.0x44db31.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x44db31.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4082d6.157
jmp case.0x44db31.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4082d6.157
jmp case.0x44db31.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x44db31.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4082d6.157
jmp case.0x44db31.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4082d6.157
jmp case.0x44db31.13
cmp eax, dword [esi + 0x7c]
jb case.0x44db31.13
cmp dword [esi + 0x18], 0
jne case.0x44db31.13
cmp dword [esi + 0x1c], 2
jne case.0x44db31.13
movzx eax, word [esi + 0x34]
cmp edx, eax
jne case.0x44db31.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e20b
jmp case.0x44db31.13
test eax, eax
jne 0x40841b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4082d6.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e1de
cmp dword [ebp - 0x20], 0xc
jne 0x44dea5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44de79
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00406951
add esp, 0xc
test eax, eax
jne case.0x4082d6.157
jmp 0x44dea5
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44dea5
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44dea5
cmp edx, 1
je case.0x4082d6.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4082d6.157
movzx eax, word [edi]
add edi, 2
mov ecx, eax
mov edx, eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffffa
mov dword [ebp - 0x38], ecx
cmp eax, 0xf
ja case.default.0x447ec3
jmp dword [eax*4 + 0x44e87d]
cmp dword [esi + 0x8c], 0
je case.0x44dec1.13
cmp edi, dword [esi + 0x7c]
jb case.0x44dec1.13
cmp dword [esi + 0x18], 0
jne case.0x44dec1.13
cmp dword [esi + 0x1c], 2
jne case.0x44dec1.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44dec1.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x44dec1.13
jmp 0x44e20b
cmp ecx, 0xd
ja 0x44df50
je 0x44df35
cmp ecx, 0xa
je case.0x44dec1.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x4082d6.157
jmp 0x44df67
cmp edi, dword [esi + 0x7c]
jae case.0x44dec1.13
cmp word [edi], 0xa
jne case.0x44dec1.13
add edi, 2
jmp case.0x44dec1.13
cmp ecx, 0x85
je 0x44df67
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4082d6.157
cmp dword [esi + 0x6c], 0
jne case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x180e
ja 0x44dfba
je case.0x4082d6.157
cmp ecx, 0xa0
ja 0x44dfa9
je case.0x4082d6.157
cmp ecx, 9
je case.0x4082d6.157
cmp ecx, 0x20
je case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x1680
je case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x205f
ja 0x44dff1
je case.0x4082d6.157
cmp ecx, 0x2000
jb case.0x44dec1.13
cmp ecx, 0x200a
jbe case.0x4082d6.157
cmp ecx, 0x202f
je case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x3000
je case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x180e
ja 0x44e046
je case.0x44dec1.13
cmp ecx, 0xa0
ja 0x44e035
je case.0x44dec1.13
cmp ecx, 9
je case.0x44dec1.13
cmp ecx, 0x20
jne case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x1680
jne case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x205f
ja 0x44e07d
je case.0x44dec1.13
cmp ecx, 0x2000
jb case.0x4082d6.157
cmp ecx, 0x200a
jbe case.0x44dec1.13
cmp ecx, 0x202f
jne case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x3000
jne case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x85
ja 0x44e0b3
je case.0x4082d6.157
cmp ecx, 0xa
jb case.0x44dec1.13
cmp ecx, 0xd
jbe case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x2028
jb case.0x44dec1.13
cmp ecx, 0x2029
jbe case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0x85
ja 0x44e0ef
je case.0x44dec1.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4082d6.157
jmp case.0x44dec1.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4082d6.157
jmp case.0x44dec1.13
cmp ecx, 0xff
ja case.0x44dec1.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4082d6.157
jmp case.0x44dec1.13
mov eax, 0xff
cmp word [ebp - 0x38], ax
ja case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4082d6.157
jmp case.0x44dec1.13
mov eax, 0xff
cmp dx, ax
ja case.0x44dec1.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4082d6.157
jmp case.0x44dec1.13
mov eax, 0xff
cmp dx, ax
ja case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4082d6.157
jmp case.0x44dec1.13
mov eax, 0xff
cmp dx, ax
ja case.0x44dec1.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4082d6.157
jmp case.0x44dec1.13
mov eax, 0xff
cmp dx, ax
ja case.0x4082d6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4082d6.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.00408250
add esp, 0x14
test eax, eax
je 0x44de3a
jmp 0x40841b
mov eax, 0xfffffff2
jmp 0x40841b
cmp dword [esi + 0x8c], 0
je case.0x4082d6.157
cmp edi, dword [esi + 0x88]
jbe case.0x4082d6.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x4082d6.157
mov eax, 0xfffffff4
jmp 0x40841b
mov dword [esi + 0x9c], 2
jmp 0x4089ac
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e28e
cmp word [ebx], 0x77
je 0x44e23f
cmp word [eax], 0x77
jne 0x44e28e
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x34]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
je 0x4089a0
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov dword [eax + edx*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x40]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x30]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x3c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x2c]
jmp 0x40841b
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 + 0x4c2140]
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.00408250
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 1
je 0x44e2e7
cmp eax, 0xfffffc19
jne 0x44e2fb
cmp dword [esi + 0xb0], 0
jne 0x44e2fb
mov dword [esi + 0xb0], edi
jmp 0x40841b
cmp eax, 0xfffffc1f
jne 0x40841b
mov edx, dword [esi + 0x80]
mov ecx, edi
call fcn.0049b5d9
test eax, eax
jne 0x44e28e
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x40841b
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 + 0x4c2140]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov eax, 0xfffffc1c
jmp 0x40841b
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 + 0x4c2140]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00408250
add esp, 0x14
test eax, eax
je 0x44e3f7
jmp 0x40841b
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 + 0x4c2140]
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.00408250
add esp, 0x14
cmp eax, 1
je 0x44e3e0
cmp eax, 0xfffffc19
jne 0x44e3ef
cmp dword [esi + 0xb0], 0
jne 0x44e3ef
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x40841b
mov eax, 0xfffffc1d
jmp 0x40841b
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4c2140]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00408250
add esp, 0x14
test eax, eax
jne 0x40841b
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x40841b
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 + 0x4c2140]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00408250
add esp, 0x14
test eax, eax
je 0x44e4d5
jmp 0x40841b
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 + 0x4c2140]
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.00408250
add esp, 0x14
cmp eax, 1
je 0x44e4be
cmp eax, 0xfffffc19
jne 0x44e4cd
cmp dword [esi + 0xb0], 0
jne 0x44e4cd
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x40841b
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0x40841b
cmp edi, 0x9f
je 0x4083f9
cmp dword [esi + 0xa8], 0
jne 0x4083f9
cmp dword [esi + 0x60], 0
jne case.0x4082d6.157
cmp dword [esi + 0x64], 0
je 0x4083f9
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x4082d6.157
jmp 0x4083f9
mov eax, 0xfffffc19
jmp 0x40841b
mov eax, 0xfffffffb
jmp 0x40841b
mov eax, 0xffffffeb
jmp 0x40841b
inc eax
mov dword [esi], eax
mov eax, 0xfffffff8
jmp 0x40841b