Function at 0x408820
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 0x4465d3
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 0x44e71d
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x44e713
cmp dword [esi + 0x9c], 2
je 0x446607
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.0x4088a6.98
movzx eax, byte [edi + 0x409120]
jmp dword [eax*4 + 0x408fd4]
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 0x447362
mov eax, 0x81
cmp cx, ax
je 0x447362
mov dword [ebp - 0x2c], 0
cmp ecx, 0x7d
jb 0x4088f3
mov eax, 0x80
cmp cx, ax
jbe 0x44caf8
mov eax, 0x82
cmp cx, ax
je 0x44caf8
mov eax, 0x85
cmp cx, ax
je 0x408cb6
mov eax, 0x8a
cmp cx, ax
je 0x408cb6
mov eax, 0x86
cmp cx, ax
je 0x408cb6
mov eax, 0x8b
cmp cx, ax
je 0x408cb6
mov ecx, dword [ebp + 0xc]
movzx eax, word [ebx]
cmp eax, 0x78
jne 0x4473da
mov eax, 0x81
cmp word [edi], ax
je 0x44caa3
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40887d
cmp edi, 0x88
jae 0x44c921
cmp edi, 0x81
je 0x44c921
cmp dword [esi + 0x70], 0
jne 0x44c92b
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x44c92b
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 0x408861
jmp 0x44e71d
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x44e6b9
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x44e6ff
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 0x44ce55
movzx edx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], eax
mov edi, eax
je 0x408a28
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44829c
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 + 0x4af3f2]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x408ac6
mov esi, dword [ebp - 8]
mov ebx, edi
jmp 0x408a60
cmp dword [ebp - 0x28], 0
mov edx, 1
movzx ecx, word [esi]
je 0x408a80
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4482c8
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 + 0x4af3f2]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4c21f0], eax
mov eax, dword [ebp - 0x24]
jne 0x408b91
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
jne 0x4482ec
mov edx, dword [ebp - 8]
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x40887d
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 0x448560
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 0x44862e
cmp edx, ecx
jl 0x408b7d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4485fb
cmp edx, 0xff
ja 0x448620
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.0x4088a6.157
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, edx
jle 0x408b21
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x20]
jne 0x448690
mov edx, dword [ebp - 8]
jmp 0x40887d
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 0x408a60
jmp 0x408ac0
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
cmp dword [ebp - 0x28], 0
je 0x448bfb
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 0x448b4c
mov eax, dword [ebp - 8]
cmp edx, 0x80
jae 0x448b77
movzx edx, word [eax]
mov eax, dword [esi + 0x3c]
cmp edx, 0xff
ja 0x408c07
movzx edx, byte [eax + edx]
movzx eax, byte [eax + ecx]
cmp eax, edx
jne case.0x4088a6.157
add ebx, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x40887d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
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 0x408c5a
mov eax, edx
mov dword [ebp - 0x20], ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x448064
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 0x44808e
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4b0a70]
lea eax, [eax*4 + 0x4b0a70]
cmp dword [ebp - 0x20], ecx
jb 0x44828e
lea eax, [eax + 4]
cmp edx, ecx
je 0x408d31
mov ecx, dword [eax]
cmp edx, ecx
jae 0x408ca0
jmp 0x44828e
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 0x44737a
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, dword [ebp - 0x24]
mov dword [esi + 0x94], eax
cmp ecx, dword [esi + 0x14]
jge 0x4473a6
mov edx, dword [ebp + 0xc]
cmp ecx, edx
jg 0x4473b9
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 0x408d29
lea ecx, [edi + 2]
mov dword [ebp + 0xc], ecx
mov edi, dword [ebp - 0x20]
jmp 0x40893c
cmp edi, 0x10
jne case.0x4088a6.157
add ebx, 6
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x40887d
cmp dword [ebp - 0x28], 0
je 0x448b1a
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 0x448b0d
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 0x44ce1d
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.0x4088a6.157
test edi, edi
jle 0x408b89
jmp 0x408d90
lea ecx, [edi - 0x55]
add ebx, 2
mov eax, ebx
test cl, 1
je 0x449972
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 0x408df1
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 0x449979
cmp edi, 0xf
je 0x449979
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
test ecx, ecx
jg 0x4499a0
mov edi, dword [ebp - 8]
cmp ecx, dword [ebp - 0x14]
je 0x408b89
test edx, edx
je 0x44aedd
test eax, eax
jns 0x44d240
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.00408820
add esp, 0x14
cmp dword [ebp - 0x20], 0x16
je 0x44db0f
cmp dword [ebp - 0x28], 0
je 0x44e006
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44aa65
cmp dword [ebp - 0x20], 0xc
jne 0x408eb2
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44dc8f
push dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00406cee
add esp, 0xc
test eax, eax
jne case.0x4088a6.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 0x44dcc8
cmp dword [ebp - 0x20], 0xc
jne 0x44dcf0
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x24]
cmp dword [esi + 0x8c], 0
jne 0x44dfc4
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
jmp 0x408e70
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.0x4088a6.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 0x44e3e9
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.00408820
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1b
je 0x44e43d
cmp eax, 0xfffffc20
je 0x44e3f8
test eax, eax
jne 0x4089eb
jmp 0x44e41a
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
jne 0x4465f5
push 1
push 0
push 0
push 0
push 0
xor edx, edx
lea ecx, [ebp + 0x18]
call fcn.00408820
add esp, 0x14
jmp 0x4089eb
lea eax, [ebp + 0x18]
sub eax, dword [ebp - 8]
cdq
xor eax, edx
sub eax, edx
neg eax
jmp 0x4089eb
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 0x408b89
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x44ca05
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 0x40887d
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.00408820
add esp, 0x14
cmp eax, 1
je 0x4466cf
cmp eax, 0xfffffc20
jne 0x4466af
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0x4089eb
cmp word [ebx], 0x77
je 0x4466b7
cmp word [ecx], 0x77
jne 0x4089eb
jmp 0x4466b7
test eax, eax
jne 0x4089eb
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x446661
mov ecx, dword [ebp + 8]
jmp 0x4466d8
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x4466ee
cmp eax, 0x77
jne case.0x4088a6.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4466ee
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 0x447292
cmp eax, dword [ebp - 0x1c]
je 0x447292
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 0x44c73c
lea edx, [ebx + 4]
call fcn.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov ecx, dword [ebp - 0x20]
mov ebx, ecx
jmp 0x40899f
mov dword [ebp - 0x24], 0
jmp 0x447146
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 0x446795
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.00408820
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1a
jne 0x447235
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 0x447284
mov dword [ebp - 8], eax
jmp 0x446783
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 0x4468f1
cmp dword [0x4d2620], 0
je 0x4468e3
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 0x4468aa
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 [0x4d2620]
add esp, 4
test eax, eax
jg case.0x4088a6.157
js 0x4089eb
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.0x446914.146
movzx eax, byte [eax + 0x44e743]
jmp dword [eax*4 + 0x44e72b]
mov ecx, dword [esi + 0xa8]
mov ebx, dword [ebp - 0x2c]
test ecx, ecx
je 0x446b25
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x446940
cmp eax, dword [ecx + 4]
jne 0x446b25
mov ecx, 1
jmp 0x446afc
cmp dword [esi + 0xa8], ecx
je case.0x446914.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 0x446b1d
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 0x4469ed
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 0x44697e
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 0x4469b6
cmp word [ebx - 4], 0x77
jne 0x40887d
cmp edi, 0x8c
jne 0x4089a5
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.00408820
add esp, 0x14
jmp 0x4089eb
mov ebx, dword [ebp - 0x2c]
mov ecx, 1
jmp 0x446afc
mov ebx, dword [ebp - 0x2c]
movzx eax, word [ebx + 2]
lea ecx, [eax + eax]
cmp ecx, dword [ebp + 0xc]
jge 0x446a19
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x446a19
mov ecx, 1
jmp 0x446a1b
xor ecx, ecx
test ecx, ecx
jne 0x446afc
jmp 0x44699e
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 0x446b1d
mov dword [ebp - 0x34], eax
movzx eax, word [eax]
dec ebx
lea ecx, [eax + eax]
cmp ecx, dword [ebp + 0xc]
jge 0x446a5d
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4469ed
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 0x446a48
jmp 0x446999
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.00408820
add esp, 0x14
cmp eax, 1
jne 0x446b0b
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x446aad
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
mov ecx, 0x92
mov dword [ebp - 0x20], 1
cmp word [eax], cx
jne 0x446ac6
lea eax, [ebx + 2]
mov ebx, eax
movzx eax, word [eax + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
jne 0x446ae2
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x446ad4
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 0x4469a1
test eax, eax
je 0x446b1a
cmp eax, 0xfffffc20
jne 0x4089eb
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
jmp case.0x446914.145
mov ecx, dword [ebp - 0x20]
jmp 0x44699e
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 0x446b62
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x408956
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 0x4492e1
mov eax, dword [esi + 0xc]
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0x446ba9
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 0x4492e1
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x1c], eax
jne 0x446bd7
mov dword [esi + 0x9c], 0
mov edi, 1
jmp 0x446bd9
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.00408820
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 1
je 0x446c50
cmp eax, 0xfffffc19
je 0x446c50
mov ecx, dword [ebp - 0x1c]
mov dword [esi + 0xb0], ecx
cmp eax, 0xfffffc20
jne 0x446c38
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e462
cmp word [ebx], 0x77
je 0x446c40
cmp word [eax], 0x77
je 0x446c40
jmp 0x44e462
test eax, eax
jne 0x4089eb
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446bd9
jmp 0x446c59
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x4088a6.157
test edi, edi
jne 0x4089e6
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446c6b
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0x408b89
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x446caf
mov dword [esi + 0x9c], 0
mov dword [ebp - 0x34], 1
jmp 0x446cb6
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.00408820
add esp, 0x14
mov dword [ebp - 0x2c], eax
mov dword [esi + 0xb0], edi
cmp eax, 0xfffffc20
jg 0x446d0f
jne 0x446d24
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x446d3d
cmp word [ebx], 0x77
je 0x446cff
cmp word [eax], 0x77
jne 0x446d3d
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446cb6
jmp 0x446d4b
mov ecx, eax
sub ecx, 0
je 0x446cff
sub ecx, 1
je case.0x4088a6.157
jmp 0x4089eb
cmp eax, 0xfffffc19
je case.0x4088a6.157
add eax, 0x3e4
cmp eax, 3
ja 0x44e462
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x446d3d
cmp dword [ebp - 0x34], 0
jne 0x4089e6
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x408b89
cmp dword [ebp - 0x28], 0
je 0x446da5
movzx ecx, word [ebx + 2]
test ecx, ecx
je 0x446dbf
mov eax, dword [ebp - 8]
dec ecx
add eax, 0xfffffffe
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0x4088a6.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x446d9f
add eax, 0xfffffffe
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x446d6e
jmp 0x446dc2
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.0x4088a6.157
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x408956
mov dword [esi + 0x88], eax
jmp 0x408956
cmp dword [0x4d2620], 0
je 0x446eb1
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 0x446e78
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 [0x4d2620]
add esp, 4
test eax, eax
jg case.0x4088a6.157
js 0x4089eb
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x30], ebx
jmp 0x40887d
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x24], eax
cmp eax, ecx
jne 0x446ed1
xor edx, edx
jmp 0x446ed5
movzx edx, word [eax + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x446efc
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x446ef6
cmp eax, dword [ecx + 0x14]
jne 0x446ef6
mov eax, 0xffffffe6
jmp 0x4089eb
mov ecx, dword [ecx]
test ecx, ecx
jne 0x446ee2
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 0x446f3c
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x50], eax
jmp 0x446f5a
lea eax, [ecx*4]
push eax
call fcn.004091c2
add esp, 4
mov dword [ebp - 0x50], eax
test eax, eax
je 0x44ca6c
mov ecx, dword [ebp - 0x4c]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.00420e70
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, 0x88
cmp word [ecx], ax
sbb edi, edi
inc edi
test edi, edi
je 0x446f86
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.00408820
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.00420e70
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 0x447045
cmp eax, 0xfffffc19
je 0x447045
cmp eax, 0xfffffc1c
jl 0x446ff4
cmp eax, 0xfffffc20
jle 0x447026
test eax, eax
jne 0x44ca4d
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 0x446f78
mov eax, dword [ebp - 0x58]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je case.0x4088a6.157
push eax
call fcn.004091cb
add esp, 4
jmp case.0x4088a6.157
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44705b
push eax
call fcn.004091cb
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x408b89
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0x4088a6.119
mov dword [ebp - 0x30], ebx
jmp 0x40887d
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4470af
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x408b89
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 0x4470d0
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
jmp 0x408b89
add ebx, 2
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44710b
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40887d
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x24], 1
cmp edi, 0x86
je 0x447146
cmp edi, 0x8b
jne 0x446769
movzx edx, word [ebx + 4]
mov dword [ebp - 0x20], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge 0x446769
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 0x4471bd
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.00408820
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1a
jne 0x4472b8
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 0x447337
mov dword [ebp - 8], eax
jmp 0x447198
cmp eax, 0xfffffc20
jne 0x447260
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e462
cmp word [ebx], 0x77
je 0x447268
cmp word [eax], 0x77
je 0x447268
jmp 0x44e462
test eax, eax
jne 0x4089eb
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x44729d
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x94], eax
jmp 0x446783
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447284
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x408b89
cmp dword [ebp - 0x34], 0
jne 0x447292
cmp dword [ebp - 0x24], 0
je case.0x4088a6.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x408b89
cmp eax, 0xfffffc20
jne 0x4472e3
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e462
cmp word [ebx], 0x77
je 0x4472eb
cmp word [eax], 0x77
je 0x4472eb
jmp 0x44e462
test eax, eax
jne 0x4089eb
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 0x447195
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x447345
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 0x447345
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447337
cmp dword [ebp - 0x24], 0
jne 0x447292
test ecx, ecx
je case.0x4088a6.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x408b89
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 0x4088e0
mov edx, dword [ebp - 0x24]
mov ecx, edi
cmp dword [eax + 4], edx
mov edx, dword [ebp - 8]
jne 0x408cd3
mov eax, edx
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0x4089eb
mov edi, dword [ebp - 0x20]
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x408939
mov eax, dword [esi + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x4473d2
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 0x408cfb
cmp eax, 0x7b
je 0x44cad6
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 8], eax
jne 0x44c757
mov edx, dword [ebp - 8]
jmp 0x408948
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x44740e
cmp eax, dword [esi + 0x78]
je case.0x4088a6.157
jmp 0x44740e
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x78]
jne case.0x4088a6.157
jmp 0x408ad3
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x44742e
cmp eax, dword [esi + 0x78]
je case.0x4088a6.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x408ad3
cmp eax, dword [esi + 0x7c]
je case.0x4088a6.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x447472
cmp eax, ecx
jbe case.0x4088a6.157
mov edi, dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push edi
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0049bb21
add esp, 0xc
test eax, eax
je case.0x4088a6.157
jmp 0x408ad3
mov edi, dword [esi + 0x1c]
lea edx, [edi + edi]
lea eax, [ecx + edx]
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb case.0x4088a6.157
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0x4088a6.157
cmp edi, 1
je 0x408ad3
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x4088a6.157
jmp 0x408ad3
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp edx, eax
jne case.0x4088a6.157
jmp 0x408ad6
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x408b89
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x447583
mov edx, dword [esi + 0x18]
test edx, edx
je 0x447550
push dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00406cee
add esp, 0xc
test eax, eax
jne 0x408ad3
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x4088a6.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0x4088a6.157
cmp dword [esi + 0x18], 0
jne case.0x4088a6.157
cmp dword [esi + 0x1c], 2
jne case.0x4088a6.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0x4088a6.157
jmp 0x44aa7e
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44750e
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44750b
cmp edx, 1
je 0x408ad3
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x44750b
jmp 0x408ad3
cmp dword [esi + 0x4c], 0
jne case.0x4088a6.157
cmp dword [esi + 0x8c], 0
je 0x408ad3
cmp eax, dword [esi + 0x88]
jmp 0x4475a8
cmp edx, dword [esi + 0x88]
jbe 0x408ad3
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
jmp 0x408ad3
cmp dword [esi + 0x4c], 0
jne case.0x4088a6.157
cmp dword [esi + 0x5c], 0
je case.0x4088a6.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0x4088a6.157
jmp 0x44758d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44758d
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x447611
push dword [ebp - 0x28]
push edi
push ecx
mov ecx, eax
call fcn.00406cee
add esp, 0xc
test eax, eax
jne 0x447646
jmp 0x44750b
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44750e
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44750b
cmp edx, 1
je 0x447646
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x44750b
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 0x44750e
jmp 0x44758d
cmp dword [ebp - 0x28], 0
mov eax, dword [ebp - 8]
je 0x4477d5
cmp eax, dword [esi + 0x78]
je 0x44773a
lea edx, [eax - 2]
mov edi, 0xfc00
mov ax, word [edx]
mov ecx, edx
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x447695
lea ecx, [edx - 2]
mov edx, ecx
cmp ecx, dword [esi + 0x88]
jae 0x4476a3
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
mov edi, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4476d2
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 0x44771c
cmp edi, 0x5f
je 0x447712
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 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x447712
cmp eax, 3
jne 0x447737
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x44773c
cmp edi, 0x100
jae 0x447737
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 8]
je 0x44773a
mov edi, 1
jmp 0x44773c
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x4478f7
movzx ecx, word [eax]
mov eax, ecx
mov edx, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447777
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 0x44779f
cmp edx, 0x5f
je 0x447949
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
jmp 0x447894
cmp edx, 0x100
jae 0x4477b4
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x447949
xor ecx, ecx
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 5
jne 0x447953
cmp ecx, edi
je case.0x4088a6.157
jmp 0x408b89
cmp eax, dword [esi + 0x78]
je 0x44784e
cmp eax, dword [esi + 0x88]
ja 0x4477ee
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0x4478cf
cmp ecx, 0x5f
je 0x4478c8
mov eax, ecx
test eax, eax
jns 0x44780e
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
and ecx, 0x8000007f
jns 0x447828
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x4478c5
cmp eax, 3
mov eax, dword [ebp - 8]
je 0x4478c8
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x4478f7
cmp dword [esi + 0x58], 0
je 0x447929
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x447949
mov eax, ecx
test eax, eax
jns 0x447878
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
and ecx, 0x8000007f
jns 0x447892
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x447949
cmp eax, 3
jne 0x4477b4
lea ecx, [eax - 2]
jmp 0x4477b6
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x447850
mov edx, 0xff
cmp cx, dx
ja 0x44784e
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 8]
je 0x44784e
mov edi, 1
jmp 0x447850
cmp dword [esi + 0x8c], 0
je 0x4477b4
cmp eax, dword [esi + 0x88]
jbe 0x4477b4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x4477b4
jmp 0x44e3df
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x4477b4
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4477b4
mov ecx, 1
jmp 0x4477b6
cmp ecx, edi
jne case.0x4088a6.157
jmp 0x408b89
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x44798f
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x28]
cmp eax, ecx
jae 0x4479c7
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00406cee
add esp, 0xc
test eax, eax
jne case.0x4088a6.157
jmp 0x4479c4
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4479c1
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4479c1
cmp edx, 1
je case.0x4088a6.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0x4088a6.157
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x447a0d
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, 2
cmp ecx, eax
jne 0x447a0a
cmp dword [esi + 0x18], 0
jne 0x447a0a
cmp dword [esi + 0x1c], 2
jne 0x447a0a
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne 0x447a0a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x447a0a
jmp 0x44e3df
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x44ce55
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0x408ad3
cmp eax, ecx
jae 0x408ad3
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x408ad3
add dword [ebp - 8], 2
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
add eax, 2
add ebx, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x408b89
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447aba
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447aba
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 0x408ad3
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4088a6.157
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447b25
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447b25
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.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4088a6.157
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447b90
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447b90
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 0x408ad3
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4088a6.157
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447bfb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447bfb
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.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4088a6.157
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447c66
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447c66
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 0x408ad3
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4088a6.157
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x447cd1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447cd1
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.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4088a6.157
jmp 0x408ad3
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, eax
mov dword [ebp - 8], eax
je 0x447d41
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, edx
jne 0x447d41
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 0x447d8d
je 0x447d62
cmp ecx, 0xa
je 0x408ad3
jbe case.0x4088a6.157
cmp ecx, 0xc
ja case.0x4088a6.157
jmp 0x447da4
cmp edx, edi
jb 0x447d78
cmp dword [esi + 0x8c], 0
je 0x408ad3
jmp 0x4475a2
cmp word [eax], 0xa
jne 0x408ad3
lea eax, [edx + 2]
mov dword [ebp - 8], eax
jmp 0x408ad3
cmp ecx, 0x85
je 0x447da4
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4088a6.157
cmp dword [esi + 0x6c], 0
jne case.0x4088a6.157
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x447dfc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447dfc
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 0x447e40
je case.0x4088a6.157
cmp ecx, 0xa0
ja 0x447e2f
je case.0x4088a6.157
cmp ecx, 9
je case.0x4088a6.157
cmp ecx, 0x20
je case.0x4088a6.157
jmp 0x408ad3
cmp ecx, 0x1680
je case.0x4088a6.157
jmp 0x408ad3
cmp ecx, 0x205f
ja 0x447e77
je case.0x4088a6.157
cmp ecx, 0x2000
jb 0x408ad3
cmp ecx, 0x200a
jbe case.0x4088a6.157
cmp ecx, 0x202f
je case.0x4088a6.157
jmp 0x408ad3
cmp ecx, 0x3000
je case.0x4088a6.157
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x447ed1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447ed1
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 0x447f15
je 0x408ad3
cmp ecx, 0xa0
ja 0x447f04
je 0x408ad3
cmp ecx, 9
je 0x408ad3
cmp ecx, 0x20
jne case.0x4088a6.157
jmp 0x408ad3
cmp ecx, 0x1680
jne case.0x4088a6.157
jmp 0x408ad3
cmp ecx, 0x205f
ja 0x447f4c
je 0x408ad3
cmp ecx, 0x2000
jb case.0x4088a6.157
cmp ecx, 0x200a
jbe 0x408ad3
cmp ecx, 0x202f
jne case.0x4088a6.157
jmp 0x408ad3
cmp ecx, 0x3000
jne case.0x4088a6.157
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x447fa6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x447fa6
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 0x447fcb
je case.0x4088a6.157
cmp ecx, 0xa
jb 0x408ad3
cmp ecx, 0xd
jbe case.0x4088a6.157
jmp 0x408ad3
cmp ecx, 0x2028
jb 0x408ad3
cmp ecx, 0x2029
jbe case.0x4088a6.157
jmp 0x408ad3
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x448031
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448031
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 0x448050
je 0x408ad3
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4088a6.157
jmp 0x408ad3
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4088a6.157
jmp 0x408ad3
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 0x408c5a
cmp eax, 0xa
ja case.default.0x448097
jmp dword [eax*4 + 0x44e757]
mov al, byte [ecx*8 + 0x4af3f1]
cmp al, 9
je 0x4480c3
cmp al, 5
je 0x4480c3
cmp al, 8
je 0x4480c3
xor ecx, ecx
jmp 0x4480df
cmp edi, 0xf
je case.0x4088a6.157
jmp 0x408d3a
mov ecx, 1
jmp 0x4480df
movzx eax, byte [ecx*8 + 0x4af3f1]
xor ecx, ecx
cmp dword [eax*4 + 0x4c5350], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x4088a6.157
jmp 0x408d3a
movzx ecx, byte [ecx*8 + 0x4af3f1]
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.0x4088a6.157
jmp 0x408d3a
movzx eax, byte [ecx*8 + 0x4af3f1]
jmp 0x448133
movzx eax, byte [ecx*8 + 0x4af3f0]
xor ecx, ecx
cmp word [ebx + 4], ax
setne cl
xor eax, eax
cmp edi, 0x10
sete al
cmp ecx, eax
je case.0x4088a6.157
jmp 0x408d3a
movzx eax, byte [ecx*8 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x4480c3
cmp eax, 3
je 0x4480c3
xor ecx, ecx
jmp 0x4480df
cmp edx, 0x180e
ja 0x4481d2
je case.0x448097.0
cmp edx, 0x85
ja 0x4481b5
je case.0x448097.0
cmp edx, 9
jb case.0x4481f6.8203
cmp edx, 0xd
jbe case.0x448097.0
cmp edx, 0x20
je case.0x448097.0
jmp case.0x4481f6.8203
cmp edx, 0xa0
je case.0x448097.0
cmp edx, 0x1680
je case.0x448097.0
jmp case.0x4481f6.8203
cmp edx, 0x202f
ja 0x4481fd
je case.0x448097.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4481f6.8203
movzx eax, byte [edx + 0x44e78b]
jmp dword [eax*4 + 0x44e783]
cmp edx, 0x205f
je case.0x448097.0
cmp edx, 0x3000
je case.0x448097.0
jmp case.0x4481f6.8203
movzx eax, byte [ecx*8 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x4480c3
cmp eax, 3
je 0x4480c3
cmp dword [ebp - 0x20], 0x5f
je 0x4480c3
xor ecx, ecx
jmp 0x4480df
mov eax, dword [ebp - 0x20]
cmp eax, 0x24
je 0x4480c3
cmp eax, 0x40
je 0x4480c3
cmp eax, 0x60
je 0x4480c3
cmp eax, 0xa0
jb 0x44827c
cmp eax, 0xd7ff
jbe 0x4480c3
cmp eax, 0xe000
jae 0x4480c3
xor ecx, ecx
jmp 0x4480df
cmp edi, 0x10
je case.0x4088a6.157
jmp 0x408d3a
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 0x408a28
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
jmp 0x408a80
cmp edi, eax
jb 0x408ad3
cmp edi, dword [esi + 0x88]
jbe 0x408ad3
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
jmp 0x408ad3
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 0x4483d2
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 0x44837c
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x44837c
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x4483cf
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 0x448359
jmp 0x4483d2
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 0x4483c5
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x4483c5
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x4483cf
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.0x4483eb
movzx eax, byte [eax + 0x44e7bf]
jmp dword [eax*4 + 0x44e7b7]
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 0x448453
mov dword [ebp - 0x2c], bind
jmp 0x448453
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 0x44844d
mov dword [ebp - 0x2c], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
mov eax, edi
test ecx, ecx
je 0x40887d
jns 0x448467
test edi, edi
je 0x40887d
cmp eax, 1
mov dword [ebp - 0x34], 1
mov eax, dword [ebp - 8]
jl 0x4484a9
push dword [ebp - 0x24]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0049b3e8
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44cbe9
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 0x448476
mov edx, dword [ebp - 0x2c]
cmp edi, edx
je 0x408b89
cmp dword [ebp - 0x1c], 0
je 0x44cb3b
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x14], eax
jge case.0x4088a6.157
push dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov edx, edi
push esi
push dword [ebp - 0x20]
call fcn.0049b3e8
add esp, 0xc
test eax, eax
js 0x44cb18
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.00408820
add esp, 0x14
test eax, eax
je 0x4484e4
jmp 0x4089eb
push dword [ebp - 0x24]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.0049b3e8
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44cbe9
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x408b89
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x448573
movzx eax, byte [eax + 0x44e7cf]
jmp dword [eax*4 + 0x44e7c7]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x448592
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x448599
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 0x408b0b
mov dword [ebp - 0x20], bind
jmp 0x408b0b
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 0x4485f0
mov dword [ebp - 0x20], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x408b0b
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 0x408b48
cmp edi, 0x6e
je case.0x4088a6.157
jmp 0x408b72
cmp edx, 1
jl 0x408b7d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44865f
cmp edi, 0x6e
je case.0x4088a6.157
jmp 0x448680
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.0x4088a6.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 0x44863a
jmp 0x408b80
cmp dword [ebp - 0x10], 0
jne 0x44cc17
cmp dword [ebp - 0x28], 0
mov ecx, eax
mov dword [ebp - 0x14], ecx
je 0x4487e0
cmp edx, dword [ebp - 0x20]
jl 0x4486b6
jmp 0x448766
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x448741
movzx edx, word [eax]
mov ecx, 1
mov eax, edx
mov dword [ebp - 0x34], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4486fd
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 0x44870c
cmp edi, 0x6e
jne 0x448726
jmp 0x448766
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 0x448766
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 0x4486b3
jmp 0x448766
cmp dword [esi + 0x8c], 0
je 0x448766
cmp eax, dword [esi + 0x88]
jbe 0x448766
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
cmp dword [ebp - 0x2c], 0
jne 0x408b89
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, edi
add edi, 0xfffffffe
cmp eax, dword [ebp - 0x14]
jbe case.0x4088a6.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4487bc
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.00408820
add esp, 0x14
test eax, eax
je 0x448796
jmp 0x4089eb
cmp edx, dword [ebp - 0x20]
jge 0x448855
mov ecx, dword [ebp - 0x18]
cmp eax, dword [esi + 0x7c]
jae 0x44882d
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x4487ff
cmp edi, 0x6e
jne 0x44881c
jmp 0x448852
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 0x448852
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 0x4487e8
jmp 0x448852
cmp dword [esi + 0x8c], 0
je 0x448852
cmp eax, dword [esi + 0x88]
jbe 0x448852
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp eax, ecx
jb case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
sub edi, 2
cmp edi, dword [ebp - 0x14]
jae 0x44886a
jmp case.0x4088a6.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.0x4488c3
movzx eax, byte [eax + 0x44e7e3]
jmp dword [eax*4 + 0x44e7db]
lea eax, [edi - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x4488e2
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x4488e9
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 0x448956
mov ecx, bind
jmp 0x448953
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 0x44893e
mov ecx, bind
mov dword [ebp - 0x20], ecx
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x448956
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 0x4489d4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x28]
mov dword [ebp - 8], eax
test edx, edx
je 0x4489ac
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4489ac
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.0049b5e3
add esp, 4
test eax, eax
je case.0x4088a6.157
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, edi
jle 0x448962
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp edi, ecx
je 0x40887d
test eax, eax
jne 0x44cd6c
mov eax, dword [ebp - 8]
mov dword [ebp - 0x38], eax
cmp edi, ecx
jl 0x4489f6
jmp 0x448a8d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x448a68
mov edx, dword [ebp - 0x28]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x34], 1
test edx, edx
je 0x448a3e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448a3e
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.0049b5e3
add esp, 4
test eax, eax
je 0x448a90
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 0x4489f3
jmp 0x448a8d
cmp dword [esi + 0x8c], 0
je 0x448a8d
cmp eax, dword [esi + 0x88]
jbe 0x448a8d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov edi, dword [ebp - 8]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, edi
add edi, 0xfffffffe
cmp eax, dword [ebp - 0x38]
jbe case.0x4088a6.157
cmp dword [ebp - 0x28], 0
je 0x448ae9
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x448ae9
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.00408820
add esp, 0x14
test eax, eax
je 0x448abd
jmp 0x4089eb
mov edi, 2
mov dword [ebp - 0x34], edi
jmp 0x408d77
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x44ce3d
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0x4088a6.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x408b89
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 0x408be6
movzx edi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448bb0
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 0x40887d
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 + 0x4af3f4]
add eax, edx
cmp edi, eax
jne case.0x4088a6.157
jmp 0x408b89
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0x448c15
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x448c17
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0x448c2e
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x4088a6.157
add eax, 2
add ebx, 4
mov dword [ebp - 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x408b89
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 0x448d09
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 0x448c7d
mov dword [ebp - 0x10], edx
cmp ecx, 0x35
jne 0x448c84
mov dword [ebp - 0x10], 1
add ebx, 4
mov ecx, ebx
jmp 0x448d09
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0x14], edx
mov ecx, ebx
jmp 0x448d02
mov edx, 1
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0x14], edx
mov ecx, ebx
jmp 0x448d02
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 0x448d09
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 0x448d09
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 0x448f95
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 0x448d7c
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 0x448d7f
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 0x448f9b
cmp edi, 0x2e
jb 0x448dd2
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 + 0x4af3f4]
add ecx, edi
cmp ecx, edi
je 0x448dd2
lea edx, [ebp - 0x6c]
call fcn.0049ba6e
mov edx, dword [ebp - 0x14]
mov edi, eax
jmp 0x448dd4
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], 1
cmp edx, 1
jl 0x448e6b
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 0x448e19
push ecx
push dword [ebp - 0x34]
push edi
call fcn.004213e4
add esp, 0xc
test eax, eax
jne 0x448e19
mov ecx, dword [ebp - 0x1c]
mov eax, edi
add eax, ecx
mov dword [ebp - 8], eax
jmp 0x448e58
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x44cb20
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44cb20
push ecx
lea eax, [ebp - 0x6c]
push eax
push edi
call fcn.004213e4
add esp, 0xc
test eax, eax
jne 0x44cb20
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 0x448df0
mov edi, dword [ebp - 0x20]
jmp 0x448e6e
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x408b89
cmp dword [ebp - 0x10], 0
jne 0x44ce6d
mov ecx, eax
mov dword [ebp - 0x10], ecx
cmp edx, dword [ebp - 0x18]
jge 0x448f31
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 0x448ec6
push edx
push dword [ebp - 0x34]
push ecx
call fcn.004213e4
add esp, 0xc
test eax, eax
jne 0x448ec3
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x448eed
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x448efe
mov eax, dword [esi + 0x7c]
add edi, edi
sub eax, edi
cmp ecx, eax
ja 0x448efe
push edi
lea eax, [ebp - 0x6c]
push eax
push ecx
call fcn.004213e4
add esp, 0xc
test eax, eax
jne 0x448efe
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 0x448e98
jmp 0x448f2b
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x448f2e
cmp eax, dword [esi + 0x7c]
jb 0x448f2b
cmp eax, dword [esi + 0x88]
jbe 0x448f2b
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp eax, ecx
jbe 0x4089a2
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
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 0x448f8b
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x448f46
jmp 0x4089a2
lea ebx, [ecx + 2]
mov dword [ebp - 0x30], ebx
cmp edi, 0x2e
jb 0x4490d9
cmp dword [ebp - 0x28], 0
je 0x448fdb
cmp eax, 0x7f
jbe 0x448fdb
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 + 0x4af3f4]
add dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x24]
jmp 0x448ff4
cmp eax, 0xff
ja 0x448fee
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp - 0x20]
movzx edi, byte [eax + ecx]
jmp 0x448ff1
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp edx, 1
jl 0x44902d
cmp eax, dword [esi + 0x7c]
jae 0x44d118
movzx ecx, word [eax]
cmp dword [ebp - 0x20], ecx
je 0x44901c
cmp edi, ecx
jne case.0x4088a6.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 0x449003
cmp edx, dword [ebp - 0x18]
je 0x408b89
cmp dword [ebp - 0x10], 0
jne 0x44cf26
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp edx, dword [ebp - 0x18]
jge 0x449091
cmp eax, dword [esi + 0x7c]
jae 0x449069
movzx ecx, word [eax]
cmp dword [ebp - 0x20], ecx
je 0x44905b
cmp edi, ecx
jne 0x44908e
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x44904a
jmp 0x44908e
cmp dword [esi + 0x8c], 0
je 0x44908e
cmp eax, dword [esi + 0x88]
jbe 0x44908e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp eax, ecx
je 0x4089a2
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.00408820
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x4089eb
cmp edi, dword [ebp - 0x14]
jne 0x4490a6
jmp 0x4089a2
mov ecx, 1
cmp edx, ecx
jge 0x4490e7
mov edi, dword [ebp - 8]
jmp 0x44910d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d118
mov edi, dword [ebp - 8]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x20], eax
jne case.0x4088a6.157
inc ecx
cmp ecx, edx
jle 0x4490e7
cmp edx, dword [ebp - 0x18]
je 0x408b89
cmp dword [ebp - 0x10], 0
jne 0x44cf9d
mov eax, dword [ebp - 8]
mov ecx, eax
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
cmp edx, edi
jge 0x449150
mov ecx, dword [ebp - 0x20]
cmp eax, dword [esi + 0x7c]
jae 0x449198
movzx eax, word [eax]
cmp ecx, eax
jne 0x44914a
add dword [ebp - 8], 2
inc edx
mov eax, dword [ebp - 8]
cmp edx, edi
jl 0x449132
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp eax, ecx
je 0x4089a2
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.00408820
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x4089eb
cmp edi, dword [ebp - 0x14]
jne 0x449165
jmp 0x4089a2
cmp dword [esi + 0x8c], 0
je 0x44914d
cmp eax, dword [esi + 0x88]
jbe 0x44914d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
jmp 0x44914d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d118
cmp dword [ebp - 0x28], 0
movzx ecx, word [ebx + 2]
je 0x4492b4
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 0x449218
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 0x449251
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 0x449264
cmp dword [ebp - 0x24], edx
je case.0x4088a6.157
jmp 0x408b89
mov edi, dword [ebp - 0x24]
cmp edi, 0x7f
jbe 0x449295
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 + 0x4af3f4]
add eax, edi
jmp 0x44929f
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp - 0x1c]
movzx eax, byte [eax + ecx]
cmp edi, edx
je case.0x4088a6.157
cmp eax, edx
je case.0x4088a6.157
jmp 0x408b89
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x4088a6.157
cmp edi, 0x20
jne 0x4492e1
cmp ecx, 0xff
ja 0x4492d9
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x4088a6.157
mov edx, dword [ebp - 8]
jmp 0x408956
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 0x4493c1
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x42
je 0x449318
mov dword [ebp - 0x10], edx
cmp ecx, 0x4f
jne 0x44931f
mov dword [ebp - 0x10], 1
add ebx, 4
mov ecx, ebx
jmp 0x4493c1
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov ecx, ebx
jmp 0x4493ba
mov edx, 1
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov ecx, ebx
jmp 0x4493ba
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 0x4493c1
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 0x4493c1
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 0x4493c1
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 0x449409
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449406
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 0x449409
mov eax, dword [ebp - 0x14]
cmp edi, 0x48
jb 0x4496b2
cmp dword [ebp - 0x28], 0
je 0x449448
cmp ecx, 0x7f
jbe 0x449448
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 + 0x4af3f4]
add eax, dword [ebp - 0x14]
jmp 0x44945a
cmp ecx, 0xff
ja 0x44945a
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 0x4494d1
cmp edx, edi
jl 0x449502
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d118
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 0x4494b8
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.0x4088a6.157
cmp dword [ebp - 0x20], ecx
je case.0x4088a6.157
inc edi
cmp edi, edx
jle 0x449470
jmp 0x449505
mov eax, dword [ebp - 8]
cmp edx, 1
jl 0x449505
cmp eax, dword [esi + 0x7c]
jae 0x44d118
movzx ecx, word [eax]
cmp dword [ebp - 0x14], ecx
je case.0x4088a6.157
cmp dword [ebp - 0x20], ecx
je case.0x4088a6.157
add eax, 2
inc edi
mov dword [ebp - 8], eax
cmp edi, edx
jle 0x4494d9
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
je 0x408b89
cmp dword [ebp - 0x10], 0
jne 0x44d00c
cmp dword [ebp - 0x28], 0
mov edi, eax
mov dword [ebp - 0x10], edi
je 0x44961c
cmp edx, ecx
jge 0x44958e
cmp eax, dword [esi + 0x7c]
jae 0x4495f2
movzx edi, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44956b
movzx eax, word [ecx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, 2
add edi, 0x10000
jmp 0x449570
mov eax, 1
cmp dword [ebp - 0x14], edi
je 0x449588
cmp dword [ebp - 0x20], edi
je 0x449588
lea ecx, [ecx + eax*2]
inc edx
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x18]
jl 0x44952d
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp eax, edi
jbe 0x4089a2
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
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 0x4495e8
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x4495a3
jmp 0x4089a2
cmp dword [esi + 0x8c], 0
je 0x44958b
cmp eax, dword [esi + 0x88]
jbe 0x44958b
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
jmp 0x44958b
cmp edx, ecx
jge 0x44966a
mov edi, dword [ebp - 0x20]
cmp eax, dword [esi + 0x7c]
jae 0x449642
movzx ecx, word [eax]
cmp dword [ebp - 0x14], ecx
je 0x449667
cmp edi, ecx
je 0x449667
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x449623
jmp 0x449667
cmp dword [esi + 0x8c], 0
je 0x449667
cmp eax, dword [esi + 0x88]
jbe 0x449667
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp eax, edi
je 0x4089a2
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
jne 0x44967f
jmp 0x4089a2
cmp dword [ebp - 0x28], 0
mov edi, 1
je 0x449724
cmp edx, edi
jge 0x4496c9
mov ecx, dword [ebp - 0x14]
jmp 0x44974c
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d118
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 0x449711
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.0x4088a6.157
inc edi
cmp edi, edx
jle 0x4496c9
mov ecx, dword [ebp - 0x14]
jmp 0x44974f
mov ecx, dword [ebp - 0x14]
cmp edx, 1
jl 0x44974c
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d118
movzx eax, word [eax]
add dword [ebp - 8], 2
cmp ecx, eax
je case.0x4088a6.157
inc edi
cmp edi, edx
jle 0x44972c
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x408b89
cmp dword [ebp - 0x10], 0
jne 0x44d14a
cmp dword [ebp - 0x28], 0
mov edi, eax
mov dword [ebp - 0x20], edi
je 0x449860
cmp edx, dword [ebp - 0x18]
jge 0x4497d2
cmp eax, dword [esi + 0x7c]
jae 0x449836
movzx edi, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4497b4
movzx eax, word [ecx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, 2
add edi, 0x10000
jmp 0x4497b9
mov eax, 1
cmp dword [ebp - 0x14], edi
je 0x4497cc
lea ecx, [ecx + eax*2]
inc edx
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x18]
jl 0x449776
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x20]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp eax, edi
jbe 0x4089a2
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
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 0x44982c
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
ja 0x4497e7
jmp 0x4089a2
cmp dword [esi + 0x8c], 0
je 0x4497cf
cmp eax, dword [esi + 0x88]
jbe 0x4497cf
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
jmp 0x4497cf
cmp edx, dword [ebp - 0x18]
jge 0x449881
cmp eax, dword [esi + 0x7c]
jae 0x4498c9
movzx eax, word [eax]
cmp ecx, eax
je 0x44987e
add dword [ebp - 8], 2
inc edx
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
jl 0x449865
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp eax, edi
je 0x4089a2
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
jne 0x449896
jmp 0x4089a2
cmp dword [esi + 0x8c], 0
je 0x449881
cmp eax, dword [esi + 0x88]
jbe 0x449881
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x449881
jmp 0x44e3df
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 0x408df1
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 0x408df1
xor ecx, ecx
jmp 0x44993b
mov ecx, 1
mov dword [ebp - 0x14], bind
jmp 0x44994d
xor ecx, ecx
mov dword [ebp - 0x14], 1
add ebx, 2
jmp 0x44995e
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 0x408df1
xor edx, edx
jmp 0x408dcc
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 0x408e12
test eax, eax
js 0x44a0cf
cmp eax, 0xa
ja case.default.0x448097
jmp dword [eax*4 + 0x44e7ef]
cmp dword [ebp - 0x3c], 0
jne case.0x4088a6.157
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jge 0x4499d7
mov ecx, dword [ebp - 0xc]
jmp 0x408e20
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], edi
je 0x449a01
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449a01
add edi, 2
mov dword [ebp - 8], edi
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x4499d7
mov ecx, dword [ebp - 0xc]
jmp 0x44a257
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408e20
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x449a6a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449a6a
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 + 0x4af3f1]
cmp eax, 9
je 0x449aa1
cmp eax, 5
je 0x449aa1
cmp eax, 8
je 0x449aa1
xor eax, eax
jmp 0x449aa6
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449a22
jmp 0x44a254
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408e20
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x449b21
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449b21
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 + 0x4af3f1]
cmp dword [eax*4 + 0x4c5350], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449ad9
jmp 0x44a254
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408e20
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x449bcf
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449bcf
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 + 0x4af3f1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449b87
jmp 0x44a254
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408e20
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x449c76
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449c76
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 + 0x4af3f0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449c2e
jmp 0x44a254
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408e20
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x449d1d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449d1d
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 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x449d56
cmp eax, 3
je 0x449d56
xor eax, eax
jmp 0x449d5b
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449cd5
jmp 0x44a254
mov edi, dword [ebp - 8]
mov eax, 1
mov dword [ebp - 0x24], eax
cmp ecx, eax
jl 0x44a257
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], edi
je 0x449dda
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449dd7
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 0x449e20
je 0x449e95
cmp ecx, 0x85
ja 0x449e0e
je 0x449e95
cmp ecx, 9
jb case.0x449e3c.8203
cmp ecx, 0xd
jbe 0x449e95
cmp ecx, 0x20
jne case.0x449e3c.8203
jmp 0x449e95
cmp ecx, 0xa0
je 0x449e95
cmp ecx, 0x1680
jne case.0x449e3c.8203
jmp 0x449e95
cmp ecx, 0x202f
ja 0x449e43
je 0x449e95
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x449e3c.8203
movzx eax, byte [ecx + 0x44e823]
jmp dword [eax*4 + 0x44e81b]
cmp ecx, 0x205f
je 0x449e95
cmp ecx, 0x3000
je 0x449e95
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 + 0x4af3f1]
cmp dword [eax*4 + 0x4c5350], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4088a6.157
mov eax, dword [ebp - 0x24]
jmp 0x449e9f
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x3c], 0
jne case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, ecx
jle 0x449d8e
jmp 0x44a254
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408e20
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], edi
je 0x449f0e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449f0e
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 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x449f4e
cmp eax, 3
je 0x449f4e
cmp edx, 0x5f
je 0x449f4e
xor eax, eax
jmp 0x449f53
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449ec6
jmp 0x44a254
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408e20
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], ecx
je 0x449fd4
mov eax, ecx
mov dword [ebp - 0x24], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449fd4
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 + 0x4b0a70]
lea eax, [eax*4 + 0x4b0a70]
cmp dword [ebp - 0x24], edx
jb 0x449ff7
lea eax, [eax + 4]
cmp ecx, edx
je 0x44a018
mov edx, dword [eax]
cmp ecx, edx
jae 0x449fea
cmp dword [ebp - 0x3c], 0
je case.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x449f86
jmp 0x44a254
cmp dword [ebp - 0x3c], 0
jne case.0x4088a6.157
jmp 0x44a001
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x408e20
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x44a07f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a07f
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 0x44a0aa
cmp ecx, 0x40
je 0x44a0aa
cmp ecx, 0x60
je 0x44a0aa
cmp ecx, 0xa0
jb 0x44a09e
cmp ecx, 0xd7ff
jbe 0x44a0aa
cmp ecx, 0xe000
jae 0x44a0aa
xor eax, eax
jmp 0x44a0af
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44a037
jmp 0x44a254
cmp edi, 0x16
jne 0x44a25f
mov edi, dword [ebp - 8]
mov dword [ebp - 0x34], 1
cmp ecx, 1
jl 0x408e20
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], eax
cmp edi, eax
jae 0x44aa65
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 0x44a145
mov dword [ebp - 0x24], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a145
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 + 0x4af3f2]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x38], ecx
cmp edx, eax
jae 0x44a218
mov eax, edx
mov ebx, ecx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x28], 0
mov esi, 1
movzx ecx, word [edi]
je 0x44a1bc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a1bc
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 + 0x4af3f2]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4c21f0], eax
je 0x44a20c
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 0x44a181
jmp 0x44a20f
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 0x44a241
cmp edx, eax
jb 0x44a241
cmp edx, dword [esi + 0x88]
jbe 0x44a241
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44a0eb
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
jmp 0x408e20
cmp dword [ebp - 0x28], 0
lea eax, [edi - 6]
je 0x44a984
cmp eax, 0xf
ja case.default.0x448097
jmp dword [eax*4 + 0x44e84f]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a257
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44aa65
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44a2b9
push dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00406cee
add esp, 0xc
test eax, eax
jne case.0x4088a6.157
jmp 0x44a2e5
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44a2e5
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44a2e5
cmp edx, 1
je case.0x4088a6.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4088a6.157
cmp dword [esi + 0x8c], 0
je 0x44a31f
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44a31f
cmp dword [esi + 0x18], 0
jne 0x44a31f
cmp dword [esi + 0x1c], 2
jne 0x44a31f
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44a31f
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov ecx, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44a347
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x44a347
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 0x44a28e
jmp 0x44a251
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44aa65
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44a3a8
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 0x44a3a8
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jle 0x44a372
jmp 0x44a251
mov eax, dword [esi + 0x7c]
add ecx, ecx
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja case.0x4088a6.157
add edi, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], edi
jmp 0x44a257
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a257
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x44aa65
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 0x44a429
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 0x44a458
je 0x44a443
cmp ecx, 0xa
je 0x44a479
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x4088a6.157
jmp 0x44a46f
mov eax, dword [esi + 0x7c]
cmp edx, eax
jae 0x44a47c
cmp word [edi], 0xa
jne 0x44a47c
lea edi, [edx + 2]
mov dword [ebp - 8], edi
jmp 0x44a47c
cmp ecx, 0x85
je 0x44a46f
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4088a6.157
cmp dword [esi + 0x6c], 0
jne case.0x4088a6.157
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44a3e7
jmp 0x44a251
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a4e0
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 0x44a51e
je case.0x4088a6.157
cmp ecx, 0xa0
ja 0x44a510
je case.0x4088a6.157
cmp ecx, 9
je case.0x4088a6.157
cmp ecx, 0x20
je case.0x4088a6.157
jmp 0x44a55a
cmp ecx, 0x1680
je case.0x4088a6.157
jmp 0x44a55a
cmp ecx, 0x205f
ja 0x44a54e
je case.0x4088a6.157
cmp ecx, 0x2000
jb 0x44a55a
cmp ecx, 0x200a
jbe case.0x4088a6.157
cmp ecx, 0x202f
je case.0x4088a6.157
jmp 0x44a55a
cmp ecx, 0x3000
je case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44a4a1
jmp 0x44a254
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a5ba
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 0x44a5ec
je 0x44a624
cmp ecx, 0xa0
ja 0x44a5de
je 0x44a624
cmp ecx, 9
je 0x44a624
cmp ecx, 0x20
jne case.0x4088a6.157
jmp 0x44a624
cmp ecx, 0x1680
jne case.0x4088a6.157
jmp 0x44a624
cmp ecx, 0x205f
ja 0x44a618
je 0x44a624
cmp ecx, 0x2000
jb case.0x4088a6.157
cmp ecx, 0x200a
jbe 0x44a624
cmp ecx, 0x202f
jne case.0x4088a6.157
jmp 0x44a624
cmp ecx, 0x3000
jne case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44a57b
jmp 0x44a254
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a684
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 0x44a6a2
je case.0x4088a6.157
cmp ecx, 0xa
jb 0x44a6b6
cmp ecx, 0xd
jbe case.0x4088a6.157
jmp 0x44a6b6
cmp ecx, 0x2028
jb 0x44a6b6
cmp ecx, 0x2029
jbe case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44a645
jmp 0x44a254
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a712
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 0x44a72a
je 0x44a739
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4088a6.157
jmp 0x44a739
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44a6d3
jmp 0x44a254
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a257
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
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 0x44a79c
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 0x44a7b1
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44a759
jmp 0x44a254
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44a7d4
jmp 0x44a254
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a257
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44aa65
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44a848
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4088a6.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44a870
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44a870
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
jle 0x44a825
jmp 0x44a251
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44a890
jmp 0x44a254
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a257
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44aa65
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44a904
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4088a6.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44a92c
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44a92c
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
jle 0x44a8e1
jmp 0x44a251
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44a94c
jmp 0x44a254
cmp eax, 0xf
ja case.default.0x448097
jmp dword [eax*4 + 0x44e88f]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44a257
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44aa65
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44a9d4
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00406cee
add esp, 0xc
test eax, eax
jne case.0x4088a6.157
jmp 0x44aa00
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44aa00
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44aa00
cmp edx, 1
je case.0x4088a6.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4088a6.157
cmp dword [esi + 0x8c], 0
je 0x44aa3a
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44aa3a
cmp dword [esi + 0x18], 0
jne 0x44aa3a
cmp dword [esi + 0x1c], 2
jne 0x44aa3a
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44aa3a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
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 0x44a9a7
jmp 0x44a254
mov eax, dword [esi + 0x7c]
add ecx, ecx
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
jbe 0x44aaa5
cmp dword [esi + 0x8c], 0
je case.0x4088a6.157
cmp edi, dword [esi + 0x88]
jbe case.0x4088a6.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x4088a6.157
jmp 0x44e3df
mov eax, dword [esi + 0x7c]
add ecx, ecx
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x44aa65
add edi, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], edi
jmp 0x44a257
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
ja 0x44aafe
je 0x44aaec
cmp eax, 0xa
je 0x44ab1d
add eax, 0xfffffff5
cmp eax, 1
ja case.0x4088a6.157
jmp 0x44ab13
cmp edi, ecx
jae 0x44ab1d
cmp word [edi], 0xa
jne 0x44ab1d
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44ab1d
cmp eax, 0x85
je 0x44ab13
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x4088a6.157
cmp dword [esi + 0x6c], 0
jne case.0x4088a6.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44aac5
jmp 0x44a251
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x449a07
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x180e
ja 0x44ab86
je case.0x4088a6.157
cmp eax, 0xa0
ja 0x44ab79
je case.0x4088a6.157
cmp eax, 9
je case.0x4088a6.157
cmp eax, 0x20
je case.0x4088a6.157
jmp 0x44abbd
cmp eax, 0x1680
je case.0x4088a6.157
jmp 0x44abbd
cmp eax, 0x205f
ja 0x44abb2
je case.0x4088a6.157
cmp eax, 0x2000
jb 0x44abbd
cmp eax, 0x200a
jbe case.0x4088a6.157
cmp eax, 0x202f
je case.0x4088a6.157
jmp 0x44abbd
cmp eax, 0x3000
je case.0x4088a6.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44ab39
mov ecx, dword [ebp - 0xc]
jmp 0x44a257
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x449a07
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x180e
ja 0x44ac21
je 0x44ac54
cmp eax, 0xa0
ja 0x44ac14
je 0x44ac54
cmp eax, 9
je 0x44ac54
cmp eax, 0x20
jne case.0x4088a6.157
jmp 0x44ac54
cmp eax, 0x1680
jne case.0x4088a6.157
jmp 0x44ac54
cmp eax, 0x205f
ja 0x44ac49
je 0x44ac54
cmp eax, 0x2000
jb case.0x4088a6.157
cmp eax, 0x200a
jbe 0x44ac54
cmp eax, 0x202f
jne case.0x4088a6.157
jmp 0x44ac54
cmp eax, 0x3000
jne case.0x4088a6.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44abe0
mov ecx, dword [ebp - 0xc]
jmp 0x44a257
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x449a07
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
ja 0x44aca2
je case.0x4088a6.157
cmp eax, 0xa
jb 0x44acb4
cmp eax, 0xd
jbe case.0x4088a6.157
jmp 0x44acb4
cmp eax, 0x2028
jb 0x44acb4
cmp eax, 0x2029
jbe case.0x4088a6.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44ac73
mov ecx, dword [ebp - 0xc]
jmp 0x44a257
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x449a07
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
ja 0x44acfc
je 0x44ad0a
add eax, 0xfffffff6
cmp eax, 3
ja case.0x4088a6.157
jmp 0x44ad0a
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x4088a6.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44acd3
mov ecx, dword [ebp - 0xc]
jmp 0x44a257
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44ad53
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44ad28
jmp 0x44a254
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x4088a6.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44ad73
jmp 0x44a254
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44adea
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44adbf
jmp 0x44a254
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x4088a6.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44ae0a
jmp 0x44a254
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44ae81
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44ae56
jmp 0x44a254
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44a254
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x4088a6.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4088a6.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44aea1
jmp 0x44a254
mov edx, edi
mov dword [ebp - 0x10], edx
test eax, eax
js 0x44b754
cmp eax, 0xa
ja case.default.0x448097
jmp dword [eax*4 + 0x44e8cf]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
jge 0x44b6ef
cmp edi, dword [esi + 0x7c]
jae 0x44af58
cmp dword [ebp - 0x28], 0
mov ecx, 1
je 0x44af38
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 0x44af38
mov ecx, 2
cmp dword [ebp - 0x3c], 0
jne 0x44b6ef
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 0x44af05
jmp 0x44b6ef
cmp dword [esi + 0x8c], 0
je 0x44b6ef
cmp edi, dword [esi + 0x88]
jbe 0x44b6ef
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44b6ef
jmp 0x44e3df
cmp ecx, dword [ebp - 0x14]
jge 0x44b6ef
cmp edi, dword [esi + 0x7c]
jae 0x44b048
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44afe3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44afde
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44afe8
mov edx, dword [ebp - 0x38]
jmp 0x44afe8
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 + 0x4af3f1]
cmp eax, 9
je 0x44b01f
cmp eax, 5
je 0x44b01f
cmp eax, 8
je 0x44b01f
xor eax, eax
jmp 0x44b024
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44b6ec
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 0x44af93
jmp 0x44b6ec
cmp dword [esi + 0x8c], 0
je 0x44b6ec
cmp edi, dword [esi + 0x88]
jbe 0x44b6ec
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44b6ec
jmp 0x44e3df
cmp ecx, dword [ebp - 0x14]
jge 0x44b6ef
cmp edi, dword [esi + 0x7c]
jae 0x44b048
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44b0cf
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b0ca
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44b0d4
mov edx, dword [ebp - 0x38]
jmp 0x44b0d4
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 + 0x4af3f1]
cmp dword [eax*4 + 0x4c5350], esi
mov esi, dword [ebp + 0x10]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44b6ec
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 0x44b083
jmp 0x44b6ec
cmp ecx, dword [ebp - 0x14]
jge 0x44b6ef
cmp edi, dword [esi + 0x7c]
jae 0x44b048
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44b187
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b182
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44b18c
mov edx, dword [ebp - 0x38]
jmp 0x44b18c
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 + 0x4af3f1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44b6ec
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 0x44b137
jmp 0x44b6ec
cmp ecx, dword [ebp - 0x14]
jge 0x44b6ef
cmp edi, dword [esi + 0x7c]
jae 0x44b048
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44b235
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b230
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44b23a
mov edx, dword [ebp - 0x38]
jmp 0x44b23a
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 + 0x4af3f0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44b6ec
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 0x44b1e5
jmp 0x44b6ec
cmp ecx, dword [ebp - 0x14]
jge 0x44b6ef
cmp edi, dword [esi + 0x7c]
jae 0x44b048
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44b2e3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b2de
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44b2e8
mov edx, dword [ebp - 0x38]
jmp 0x44b2e8
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 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x44b321
cmp eax, 3
je 0x44b321
xor eax, eax
jmp 0x44b326
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44b6ec
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 0x44b293
jmp 0x44b6ec
cmp ecx, dword [ebp - 0x14]
jge 0x44b6ef
mov eax, 1
mov dword [ebp - 0x24], eax
cmp edi, dword [esi + 0x7c]
jae 0x44b486
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov edx, ecx
je 0x44b3a6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b3a3
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 0x44b3a6
mov eax, dword [ebp - 0x24]
cmp ecx, 0x180e
ja 0x44b3ec
je 0x44b461
cmp ecx, 0x85
ja 0x44b3da
je 0x44b461
cmp ecx, 9
jb case.0x44b408.8203
cmp ecx, 0xd
jbe 0x44b461
cmp ecx, 0x20
jne case.0x44b408.8203
jmp 0x44b461
cmp ecx, 0xa0
je 0x44b461
cmp ecx, 0x1680
jne case.0x44b408.8203
jmp 0x44b461
cmp ecx, 0x202f
ja 0x44b40f
je 0x44b461
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x44b408.8203
movzx eax, byte [ecx + 0x44e903]
jmp dword [eax*4 + 0x44e8fb]
cmp ecx, 0x205f
je 0x44b461
cmp ecx, 0x3000
je 0x44b461
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 + 0x4af3f1]
cmp dword [eax*4 + 0x4c5350], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44b6ec
mov eax, dword [ebp - 0x24]
jmp 0x44b46b
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x3c], 0
jne 0x44b6ec
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 0x44b353
jmp 0x44b6ec
cmp dword [esi + 0x8c], 0
je 0x44b6ec
cmp edi, dword [esi + 0x88]
jbe 0x44b6ec
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0x44b6ec
jmp 0x44e3df
cmp ecx, dword [ebp - 0x14]
jge 0x44b6ef
cmp edi, dword [esi + 0x7c]
jae 0x44b048
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov edx, ecx
mov dword [ebp - 0x1c], 1
je 0x44b507
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b507
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 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x44b547
cmp eax, 3
je 0x44b547
cmp edx, 0x5f
je 0x44b547
xor eax, eax
jmp 0x44b54c
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44b6ec
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 0x44b4bc
jmp 0x44b6ec
cmp ecx, dword [ebp - 0x14]
jge 0x44b6ef
mov dword [ebp - 0x1c], 1
cmp edi, dword [esi + 0x7c]
jae 0x44b048
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov dword [ebp - 0x24], ecx
je 0x44b5cd
mov eax, ecx
mov dword [ebp - 0x24], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b5cd
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 + 0x4b0a70]
lea eax, [eax*4 + 0x4b0a70]
cmp dword [ebp - 0x24], edx
jb 0x44b5f0
lea eax, [eax + 4]
cmp ecx, edx
je 0x44b618
mov edx, dword [eax]
cmp ecx, edx
jae 0x44b5e3
cmp dword [ebp - 0x3c], 0
je 0x44b6ec
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 0x44b57c
jmp 0x44b6ec
cmp dword [ebp - 0x3c], 0
je 0x44b5fa
jmp 0x44b6ec
cmp ecx, dword [ebp - 0x14]
jge 0x44b6ef
mov dword [ebp - 0x1c], 1
cmp edi, dword [esi + 0x7c]
jae 0x44b6c7
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
je 0x44b677
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b677
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 0x44b6a2
cmp ecx, 0x40
je 0x44b6a2
cmp ecx, 0x60
je 0x44b6a2
cmp ecx, 0xa0
jb 0x44b696
cmp ecx, 0xd7ff
jbe 0x44b6a2
cmp ecx, 0xe000
jae 0x44b6a2
xor eax, eax
jmp 0x44b6a7
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44b6ec
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 0x44b62c
jmp 0x44b6ec
cmp dword [esi + 0x8c], 0
je 0x44b6ec
cmp edi, dword [esi + 0x88]
jbe 0x44b6ec
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp edi, edx
jbe 0x4089a2
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp dword [ebp - 0x28], eax
je 0x44b74a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44b74a
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x44b701
jmp 0x4089a2
mov eax, dword [ebp - 0x20]
cmp eax, 0x16
jne 0x44b941
cmp ecx, dword [ebp - 0x14]
jge 0x44b8f5
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], eax
cmp edi, eax
jae 0x44b8cd
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 0x44b7bf
mov eax, edx
mov dword [ebp - 0x24], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b7bf
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 + 0x4af3f2]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x38], ecx
cmp edx, eax
jae 0x44b892
mov eax, edx
mov ebx, ecx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x28], 0
mov esi, 1
movzx ecx, word [edi]
je 0x44b836
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b836
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 + 0x4af3f2]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4c21f0], eax
je 0x44b886
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 0x44b7fb
jmp 0x44b889
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 0x44b8bb
cmp edx, eax
jb 0x44b8bb
cmp edx, dword [esi + 0x88]
jbe 0x44b8bb
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44b769
jmp 0x44b8f2
cmp dword [esi + 0x8c], 0
je 0x44b8f2
cmp edi, dword [esi + 0x88]
jbe 0x44b8f2
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp edi, edx
jbe 0x4089a2
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp dword [ebp - 0x28], eax
jne 0x44c80c
movzx ecx, word [edi]
jmp 0x44c852
add eax, 0xfffffffa
cmp dword [ebp - 0x28], 0
je 0x44c165
cmp eax, 0xf
ja case.default.0x448097
jmp dword [eax*4 + 0x44e92f]
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x24], eax
cmp edi, eax
jae 0x44ba40
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44b997
push dword [ebp - 0x28]
lea ecx, [esi + 0x1c]
push ecx
push eax
mov ecx, edi
call fcn.00406cee
add esp, 0xc
test eax, eax
je 0x44b9c6
jmp 0x44ba65
mov ecx, dword [esi + 0x1c]
mov edx, dword [ebp - 0x24]
lea eax, [ecx + ecx]
sub edx, eax
cmp edi, edx
ja 0x44b9c6
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44b9c6
cmp ecx, 1
je 0x44ba65
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44ba65
cmp dword [esi + 0x8c], 0
je 0x44ba00
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44ba00
cmp dword [esi + 0x18], 0
jne 0x44ba00
cmp dword [esi + 0x1c], 2
jne 0x44ba00
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44ba00
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], eax
cmp edi, eax
jae 0x44ba2e
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0x24]
jne 0x44ba2e
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 0x44b96d
jmp 0x44ba65
cmp dword [esi + 0x8c], 0
je 0x44ba65
cmp edi, dword [esi + 0x88]
jbe 0x44ba65
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp edi, edx
jbe 0x4089a2
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
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 0x44bac3
add edi, 0xfffffffe
mov dword [ebp - 8], edi
mov ecx, edi
cmp dword [ebp - 0x20], 0x11
mov eax, dword [ebp - 0x10]
jne 0x44bae3
cmp ecx, eax
jbe 0x44bae3
cmp word [edi], 0xa
jne 0x44bae3
cmp word [edi - 2], 0xd
jne 0x44bae3
lea edi, [ecx - 2]
mov dword [ebp - 8], edi
cmp edi, eax
ja 0x44ba7a
jmp 0x4089a2
mov eax, dword [ebp - 0x14]
cmp eax, 0x7fffffff
jge 0x44bb44
cmp ecx, eax
jge 0x44ba68
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44bb4a
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44bb36
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 0x44bb36
add edi, 2
mov dword [ebp - 8], edi
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44bb04
jmp 0x44ba68
mov edi, dword [esi + 0x7c]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44ba68
cmp edi, dword [esi + 0x88]
jbe 0x44ba68
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44ba68
jmp 0x44e3df
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 0x44bbc4
cmp dword [esi + 0x8c], 0
mov edi, ecx
mov dword [ebp - 8], edi
je 0x44ba68
cmp ecx, dword [esi + 0x88]
jbe 0x44ba68
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44ba68
jmp 0x44e3df
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
jmp 0x44ba68
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x44ba40
movzx ecx, word [edi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bc1b
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 0x44bc3c
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x44ba65
cmp word [edi], 0xa
jne 0x44bc7a
add edi, 2
jmp 0x44bc77
cmp ecx, 0xa
je 0x44bc71
cmp dword [esi + 0x6c], 0
jne 0x44ba65
cmp ecx, 0xb
je 0x44bc71
cmp ecx, 0xc
je 0x44bc71
cmp ecx, 0x85
je 0x44bc71
cmp ecx, 0x2028
je 0x44bc71
cmp ecx, 0x2029
jne 0x44ba65
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 0x44bbde
jmp 0x44ba65
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44bd62
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bcd6
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 0x44bd32
je 0x44bcf4
cmp ecx, 0xa0
ja 0x44bd28
je 0x44bcf4
cmp ecx, 9
je 0x44bcf4
cmp ecx, 0x20
jne 0x44bd5e
mov ecx, 1
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [ebp - 0x20], 0x12
sete al
cmp ecx, eax
je 0x44ba65
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 0x44bc98
jmp 0x44ba65
cmp ecx, 0x1680
jne 0x44bd5e
jmp 0x44bcf4
cmp ecx, 0x205f
ja 0x44bd56
je 0x44bcf4
cmp ecx, 0x2000
jb 0x44bd5e
cmp ecx, 0x200a
jbe 0x44bcf4
cmp ecx, 0x202f
jne 0x44bd5e
jmp 0x44bcf4
cmp ecx, 0x3000
je 0x44bcf4
xor ecx, ecx
jmp 0x44bcf9
cmp dword [esi + 0x8c], 0
je 0x44ba65
cmp edi, dword [esi + 0x88]
jbe 0x44ba65
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jmp 0x44ba5f
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44bd62
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bdcc
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 0x44be0d
je 0x44be18
cmp ecx, 0xa
jb 0x44bde0
cmp ecx, 0xd
jbe 0x44be18
xor ecx, ecx
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [ebp - 0x20], 0x14
sete al
cmp ecx, eax
je 0x44ba65
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 0x44bd92
jmp 0x44ba65
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x44bde0
mov ecx, 1
jmp 0x44bde2
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
cmp edi, dword [esi + 0x7c]
jae 0x44ba40
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44be71
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 0x44be76
mov eax, 1
cmp edx, 0x100
jae 0x44be8e
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44ba65
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 0x44be28
jmp 0x44ba65
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
cmp edi, dword [esi + 0x7c]
jae 0x44ba40
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44bef4
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 0x44ba65
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44ba65
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 0x44beae
jmp 0x44ba65
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
cmp edi, dword [esi + 0x7c]
jae 0x44ba40
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44bf79
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 0x44bf7e
mov eax, 1
cmp edx, 0x100
jae 0x44bf96
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44ba65
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 0x44bf30
jmp 0x44ba65
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
cmp edi, dword [esi + 0x7c]
jae 0x44ba40
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44bffc
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 0x44ba65
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44ba65
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 0x44bfb6
jmp 0x44ba65
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
cmp edi, dword [esi + 0x7c]
jae 0x44ba40
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44c081
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 0x44c086
mov eax, 1
cmp edx, 0x100
jae 0x44c09e
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44ba65
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 0x44c038
jmp 0x44ba65
cmp ecx, dword [ebp - 0x14]
jge 0x44ba68
cmp edi, dword [esi + 0x7c]
jae 0x44c133
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44c100
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 0x44ba65
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44ba65
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 0x44c0be
jmp 0x44ba65
cmp dword [esi + 0x8c], 0
je 0x44ba65
cmp edi, dword [esi + 0x88]
jbe 0x44ba65
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
jmp 0x44ba65
cmp eax, 0xf
ja case.default.0x448097
jmp dword [eax*4 + 0x44e96f]
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44c224
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44c1aa
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00406cee
add esp, 0xc
test eax, eax
je 0x44c1d2
jmp 0x44c249
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44c1d2
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c1d2
cmp edx, 1
je 0x44c249
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44c249
cmp dword [esi + 0x8c], 0
je 0x44c20c
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44c20c
cmp dword [esi + 0x18], 0
jne 0x44c20c
cmp dword [esi + 0x1c], 2
jne 0x44c20c
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c20c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
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 0x44c17e
jmp 0x44c249
cmp dword [esi + 0x8c], 0
je 0x44c249
cmp edi, dword [esi + 0x88]
jbe 0x44c249
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov edx, dword [ebp - 0x10]
jmp 0x44c6d8
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 0x44c299
cmp dword [esi + 0x8c], 0
mov edi, ecx
mov dword [ebp - 8], edi
je 0x44c6d8
cmp ecx, dword [esi + 0x88]
jbe 0x44c6d8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c6d8
jmp 0x44e3df
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44c330
movzx eax, word [edi]
cmp eax, 0xd
jne 0x44c2d5
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44c6d8
cmp word [edi], 0xa
je 0x44c319
jmp 0x44c31f
cmp eax, 0xa
je 0x44c319
cmp dword [esi + 0x6c], 0
jne 0x44c6d8
cmp eax, 0xb
je 0x44c319
cmp eax, 0xc
je 0x44c319
mov dword [ebp - 0x38], 0x85
cmp ax, word [ebp - 0x38]
je 0x44c319
mov dword [ebp - 0x38], 0x2028
cmp ax, word [ebp - 0x38]
je 0x44c319
mov dword [ebp - 0x38], 0x2029
cmp ax, word [ebp - 0x38]
jne 0x44c6d8
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 0x44c2b3
jmp 0x44c6d8
cmp dword [esi + 0x8c], 0
je 0x44c6d8
cmp edi, dword [esi + 0x88]
jbe 0x44c6d8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c6d8
jmp 0x44e3df
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c330
movzx eax, word [edi]
cmp eax, 0x180e
ja 0x44c3ac
je 0x44c6d8
cmp eax, 0xa0
ja 0x44c3a0
je 0x44c6d8
cmp eax, 9
je 0x44c6d8
cmp eax, 0x20
jne 0x44c3e2
jmp 0x44c6d8
cmp eax, 0x1680
jne 0x44c3e2
jmp 0x44c6d8
cmp eax, 0x205f
ja 0x44c3d7
je 0x44c6d8
cmp eax, 0x2000
jb 0x44c3e2
cmp eax, 0x200a
jbe 0x44c6d8
cmp eax, 0x202f
jne 0x44c3e2
jmp 0x44c6d8
cmp eax, 0x3000
je 0x44c6d8
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44c36b
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c330
movzx eax, word [edi]
cmp eax, 0x180e
ja 0x44c439
je 0x44c46b
cmp eax, 0xa0
ja 0x44c42d
je 0x44c46b
cmp eax, 9
je 0x44c46b
cmp eax, 0x20
je 0x44c46b
jmp 0x44c6d8
cmp eax, 0x1680
je 0x44c46b
jmp 0x44c6d8
cmp eax, 0x205f
ja 0x44c460
je 0x44c46b
cmp eax, 0x2000
jb 0x44c6d8
cmp eax, 0x200a
jbe 0x44c46b
cmp eax, 0x202f
je 0x44c46b
jmp 0x44c6d8
cmp eax, 0x3000
jne 0x44c6d8
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44c400
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c330
movzx eax, word [edi]
cmp eax, 0x85
ja 0x44c4ad
je 0x44c6d8
cmp eax, 0xa
jb 0x44c4bf
cmp eax, 0xd
ja 0x44c4bf
jmp 0x44c6d8
cmp eax, 0x2028
jb 0x44c4bf
cmp eax, 0x2029
jbe 0x44c6d8
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44c485
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c330
movzx eax, word [edi]
cmp eax, 0x85
ja 0x44c4fb
je 0x44c509
add eax, 0xfffffff6
cmp eax, 3
jbe 0x44c509
jmp 0x44c6d8
add eax, 0xffffdfd8
cmp eax, 1
ja 0x44c6d8
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44c4d9
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c330
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44c54e
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44c6d8
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 0x44c523
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c330
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c6d8
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44c6d8
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 0x44c56b
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c330
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44c5df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44c6d8
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 0x44c5b4
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c330
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c6d8
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44c6d8
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 0x44c5fc
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c330
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44c66c
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44c6d8
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 0x44c645
jmp 0x44c6d8
cmp ecx, dword [ebp - 0x14]
jge 0x44c6d8
cmp edi, dword [esi + 0x7c]
jae 0x44c6b3
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44c6d8
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44c6d8
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 0x44c682
jmp 0x44c6d8
cmp dword [esi + 0x8c], 0
je 0x44c6d8
cmp edi, dword [esi + 0x88]
jbe 0x44c6d8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
cmp dword [ebp - 0x2c], 0
jne 0x408b89
cmp edi, edx
je 0x4089a2
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x10]
add edi, 0xfffffffe
cmp dword [ebp - 0x20], 0x11
mov dword [ebp - 8], edi
jne 0x44c733
cmp edi, eax
jbe 0x44c735
cmp word [edi], 0xa
jne 0x44c733
cmp word [edi - 2], 0xd
jne 0x44c733
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, eax
jne 0x44c6ea
jmp 0x4089a2
mov edx, dword [ebp - 0x20]
call fcn.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
add ebx, 4
jmp 0x40899f
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 0x44c7c4
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov ecx, dword [ebp - 0x20]
mov edx, 0x81
movzx eax, word [ecx]
cmp ax, dx
je 0x44ca76
mov edx, 0x88
cmp ax, dx
jb 0x44674f
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.00408820
add esp, 0x14
jmp 0x4089eb
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00408820
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x44c7eb
mov ecx, dword [ebp - 0x20]
cmp dword [esi + 0xb8], ecx
jne 0x4089eb
jmp 0x44c7f6
test eax, eax
jne 0x4089eb
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x44ca7a
add ebx, 4
jmp 0x40899f
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44c827
add edi, 0xfffffffe
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c852
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 + 0x4af3f2]
mov dword [ebp - 0x1c], eax
cmp edi, dword [ebp - 0x10]
jbe 0x4089a2
cmp dword [ebp - 0x28], 0
lea edx, [edi - 2]
jne 0x44c890
movzx ecx, word [edx]
jmp 0x44c8d3
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44c8a8
add edx, 0xfffffffe
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c8d3
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 + 0x4af3f2]
mov dword [ebp - 0x38], eax
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test dword [ecx*4 + 0x4c21f0], eax
je 0x44b907
mov edi, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], edi
jmp 0x44c879
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.00408820
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc20
jne 0x44c9b9
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e462
cmp word [ebx], 0x77
je 0x44c991
cmp word [eax], 0x77
jne 0x44e462
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.0x4088a6.157
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp case.0x4088a6.129
test eax, eax
je 0x44c991
cmp eax, 0xfffffc1b
jne 0x4089eb
movzx ecx, word [ebx]
mov edx, 0x81
cmp cx, dx
je 0x44c9f4
cmp ecx, 0x77
jne 0x44c9e8
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44c9da
movzx eax, word [ebx + 2]
neg eax
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x2c]
cmp dword [esi + 0xb8], ebx
jne 0x4089eb
jmp case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x4089eb
mov ecx, dword [ebp - 0x50]
lea edx, [ebp - 0x14c]
cmp ecx, edx
je 0x4089eb
push ecx
call fcn.004091cb
add esp, 4
jmp 0x44e462
mov eax, 0xfffffffa
jmp 0x4089eb
mov edx, ecx
jmp 0x44ca7d
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov edi, dword [ebp - 0x20]
jmp 0x44cac6
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x4089eb
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 0x4089eb
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 0x4089e6
cmp eax, 0xfffffffe
jne 0x44cb20
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jb case.0x4088a6.157
jmp 0x44aa72
mov dword [ebp - 0x1c], eax
cmp edi, edx
jl 0x44cb49
mov edi, eax
jmp 0x44cbae
mov eax, dword [ebp - 8]
push dword [ebp - 0x24]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0049b3e8
add esp, 0xc
test eax, eax
js 0x44cb73
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 0x44cb46
jmp 0x44cba3
cmp eax, 0xfffffffe
jne 0x44cba0
cmp dword [esi + 0x8c], 0
je 0x44cba0
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x44cba0
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x1c]
cmp edx, edi
jb case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
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 0x44cbae
jmp case.0x4088a6.157
cmp ecx, 0xfffffffe
jne 0x44cbf3
mov eax, dword [esi + 0x7c]
jmp 0x44cbf6
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x4088a6.157
cmp eax, dword [esi + 0x7c]
jb case.0x4088a6.157
cmp eax, dword [esi + 0x88]
jmp 0x44aa78
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.00408820
add esp, 0x14
cmp dword [ebp - 0x28], 0
je 0x44cced
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge case.0x4088a6.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44ce3d
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cc93
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 0x44cca6
cmp edi, 0x6e
je case.0x4088a6.157
jmp 0x44ccc4
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.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44cc45
jmp 0x4089eb
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge case.0x4088a6.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44ce55
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44cd29
cmp edi, 0x6e
je case.0x4088a6.157
jmp 0x44cd44
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.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44ccf5
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x44cdde
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44cdde
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.0049b5e3
add esp, 4
test eax, eax
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44cd92
jmp 0x4089eb
cmp dword [esi + 0x8c], 0
je case.0x4088a6.157
cmp edx, ecx
jb case.0x4088a6.157
cmp edx, dword [esi + 0x88]
jmp 0x44aa78
cmp dword [esi + 0x8c], 0
je case.0x4088a6.157
cmp ecx, dword [esi + 0x88]
jmp 0x44aa78
cmp dword [esi + 0x8c], 0
je case.0x4088a6.157
cmp eax, dword [esi + 0x88]
jmp 0x44aa78
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jge case.0x4088a6.157
mov eax, dword [ebp - 0xc]
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44cec4
push ecx
push dword [ebp - 0x34]
push edi
call fcn.004213e4
add esp, 0xc
test eax, eax
jne 0x44cec4
mov eax, dword [ebp - 0xc]
jmp 0x44cef8
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x44cb20
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44cb20
push ecx
lea eax, [ebp - 0x6c]
push eax
push edi
call fcn.004213e4
add esp, 0xc
test eax, eax
jne 0x44cb20
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.00408820
add esp, 0x14
test eax, eax
je 0x44ce93
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
cmp dword [ebp - 0x20], ecx
je 0x44cf72
cmp dword [ebp - 0x24], ecx
jne case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44cf4c
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x18]
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x20], eax
jne case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44cfc0
jmp 0x4089eb
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.00408820
add esp, 0x14
cmp dword [ebp - 0x28], 0
je 0x44d0bb
test eax, eax
jne 0x4089eb
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d081
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.0x4088a6.157
cmp dword [ebp - 0x20], ecx
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d03c
jmp 0x4089eb
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
cmp dword [ebp - 0x14], ecx
je case.0x4088a6.157
cmp dword [ebp - 0x20], ecx
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d0c3
jmp 0x4089eb
cmp dword [esi + 0x8c], 0
je case.0x4088a6.157
cmp eax, dword [esi + 0x88]
jbe case.0x4088a6.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x4088a6.157
jmp 0x44e3df
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.00408820
add esp, 0x14
cmp dword [ebp - 0x28], 0
je 0x44d1ec
test eax, eax
jne 0x4089eb
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d1bb
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.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d176
jmp 0x4089eb
test eax, eax
jne 0x4089eb
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x14], eax
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d1f4
jmp 0x4089eb
cmp eax, 0xa
ja case.default.0x448097
jmp dword [eax*4 + 0x44e9af]
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x14]
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
je 0x44d2a3
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d2a3
add edi, 2
cmp dword [ebp - 0x3c], 0
jne case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d273
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d345
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d345
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 + 0x4af3f1]
cmp eax, 9
je 0x44d37c
cmp eax, 5
je 0x44d37c
cmp eax, 8
je 0x44d37c
xor eax, eax
jmp 0x44d381
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d2f8
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d426
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d426
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 + 0x4af3f1]
cmp dword [eax*4 + 0x4c5350], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d3d8
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d4fd
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d4fd
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 + 0x4af3f1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d4b0
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d5cd
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d5cd
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 + 0x4af3f0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d580
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44d69e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d69e
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 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x44d6d7
cmp eax, 3
je 0x44d6d7
xor eax, eax
jmp 0x44d6dc
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d650
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x14]
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
je 0x44d785
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d782
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 0x44d7cb
je 0x44d840
cmp ecx, 0x85
ja 0x44d7b9
je 0x44d840
cmp ecx, 9
jb case.0x44d7e7.8203
cmp ecx, 0xd
jbe 0x44d840
cmp ecx, 0x20
jne case.0x44d7e7.8203
jmp 0x44d840
cmp ecx, 0xa0
je 0x44d840
cmp ecx, 0x1680
jne case.0x44d7e7.8203
jmp 0x44d840
cmp ecx, 0x202f
ja 0x44d7ee
je 0x44d840
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x44d7e7.8203
movzx eax, byte [ecx + 0x44e9e3]
jmp dword [eax*4 + 0x44e9db]
cmp ecx, 0x205f
je 0x44d840
cmp ecx, 0x3000
je 0x44d840
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 + 0x4af3f1]
cmp dword [eax*4 + 0x4c5350], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x4088a6.157
mov eax, dword [ebp - 0xc]
jmp 0x44d84a
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x3c], 0
jne case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d733
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
je 0x44d8e6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d8e6
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 + 0x4af3f1]
mov eax, dword [eax*4 + 0x4c5350]
cmp eax, 1
je 0x44d926
cmp eax, 3
je 0x44d926
cmp edx, 0x5f
je 0x44d926
xor eax, eax
jmp 0x44d92b
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d899
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x34], ecx
je 0x44d9d6
mov eax, ecx
mov dword [ebp - 0x34], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d9d6
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 + 0x4b0a70]
lea eax, [eax*4 + 0x4b0a70]
cmp dword [ebp - 0x34], edx
jb 0x44d9f9
lea eax, [eax + 4]
cmp ecx, edx
je 0x44da2e
mov edx, dword [eax]
cmp ecx, edx
jae 0x44d9ec
cmp dword [ebp - 0x3c], 0
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44d982
jmp 0x4089eb
cmp dword [ebp - 0x3c], 0
jne case.0x4088a6.157
jmp 0x44da03
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44daab
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44daab
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 0x44dad6
cmp ecx, 0x40
je 0x44dad6
cmp ecx, 0x60
je 0x44dad6
cmp ecx, 0xa0
jb 0x44daca
cmp ecx, 0xd7ff
jbe 0x44dad6
cmp ecx, 0xe000
jae 0x44dad6
xor eax, eax
jmp 0x44dadb
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44da5d
jmp 0x4089eb
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
cmp edi, dword [esi + 0x7c]
jae 0x44aa65
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, eax
mov dword [ebp - 0x38], eax
mov edx, edi
je 0x44db69
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44db69
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 + 0x4af3f2]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], ecx
cmp edx, eax
jae 0x44dc3b
mov dword [ebp - 0x38], edx
mov ebx, edx
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov dword [ebp - 0x34], 1
je 0x44dbdf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dbdf
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 + 0x4af3f2]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4c21f0], eax
mov esi, dword [ebp + 0x10]
je 0x44dc35
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 0x44dba0
jmp 0x44dc38
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
je 0x44dc64
cmp edx, eax
jb 0x44dc64
cmp edx, dword [esi + 0x88]
jbe 0x44dc64
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
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.00408820
add esp, 0x14
test eax, eax
je 0x44db17
jmp 0x4089eb
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x408eb2
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x408eb2
cmp edx, 1
je case.0x4088a6.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4088a6.157
jmp 0x408eb2
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 0x408ecf
mov esi, dword [ebp - 0x20]
add esi, 0xfffffffa
cmp esi, 0xf
ja case.default.0x448097
mov esi, dword [ebp - 0x20]
add esi, 0xfffffffa
jmp dword [esi*4 + 0x44ea0f]
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x24]
cmp ecx, 0xd
ja 0x44dd4b
je 0x44dd30
cmp ecx, 0xa
je case.0x44dd05.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x4088a6.157
jmp 0x44dd62
cmp edi, dword [esi + 0x7c]
jae case.0x44dd05.13
cmp word [edi], 0xa
jne case.0x44dd05.13
lea edi, [eax + 2]
jmp case.0x44dd05.13
cmp ecx, 0x85
je 0x44dd62
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4088a6.157
cmp dword [esi + 0x6c], 0
jne case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x180e
ja 0x44ddb5
je case.0x4088a6.157
cmp ecx, 0xa0
ja 0x44dda4
je case.0x4088a6.157
cmp ecx, 9
je case.0x4088a6.157
cmp ecx, 0x20
je case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x1680
je case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x205f
ja 0x44ddec
je case.0x4088a6.157
cmp ecx, 0x2000
jb case.0x44dd05.13
cmp ecx, 0x200a
jbe case.0x4088a6.157
cmp ecx, 0x202f
je case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x3000
je case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x180e
ja 0x44de41
je case.0x44dd05.13
cmp ecx, 0xa0
ja 0x44de30
je case.0x44dd05.13
cmp ecx, 9
je case.0x44dd05.13
cmp ecx, 0x20
jne case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x1680
jne case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x205f
ja 0x44de78
je case.0x44dd05.13
cmp ecx, 0x2000
jb case.0x4088a6.157
cmp ecx, 0x200a
jbe case.0x44dd05.13
cmp ecx, 0x202f
jne case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x3000
jne case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x85
ja 0x44deae
je case.0x4088a6.157
cmp ecx, 0xa
jb case.0x44dd05.13
cmp ecx, 0xd
jbe case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x2028
jb case.0x44dd05.13
cmp ecx, 0x2029
jbe case.0x4088a6.157
jmp case.0x44dd05.13
cmp ecx, 0x85
ja 0x44deea
je case.0x44dd05.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4088a6.157
jmp case.0x44dd05.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4088a6.157
jmp case.0x44dd05.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x44dd05.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4088a6.157
jmp case.0x44dd05.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4088a6.157
jmp case.0x44dd05.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x44dd05.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4088a6.157
jmp case.0x44dd05.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4088a6.157
jmp case.0x44dd05.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x44dd05.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4088a6.157
jmp case.0x44dd05.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4088a6.157
jmp case.0x44dd05.13
cmp eax, dword [esi + 0x7c]
jb case.0x44dd05.13
cmp dword [esi + 0x18], 0
jne case.0x44dd05.13
cmp dword [esi + 0x1c], 2
jne case.0x44dd05.13
movzx eax, word [esi + 0x34]
cmp edx, eax
jne case.0x44dd05.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44e3df
jmp case.0x44dd05.13
test eax, eax
jne 0x4089eb
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x4088a6.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e3b2
cmp dword [ebp - 0x20], 0xc
jne 0x44e079
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44e04d
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00406cee
add esp, 0xc
test eax, eax
jne case.0x4088a6.157
jmp 0x44e079
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44e079
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44e079
cmp edx, 1
je case.0x4088a6.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x4088a6.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.0x448097
jmp dword [eax*4 + 0x44ea4f]
cmp dword [esi + 0x8c], 0
je case.0x44e095.13
cmp edi, dword [esi + 0x7c]
jb case.0x44e095.13
cmp dword [esi + 0x18], 0
jne case.0x44e095.13
cmp dword [esi + 0x1c], 2
jne case.0x44e095.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44e095.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x44e095.13
jmp 0x44e3df
cmp ecx, 0xd
ja 0x44e124
je 0x44e109
cmp ecx, 0xa
je case.0x44e095.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x4088a6.157
jmp 0x44e13b
cmp edi, dword [esi + 0x7c]
jae case.0x44e095.13
cmp word [edi], 0xa
jne case.0x44e095.13
add edi, 2
jmp case.0x44e095.13
cmp ecx, 0x85
je 0x44e13b
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4088a6.157
cmp dword [esi + 0x6c], 0
jne case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x180e
ja 0x44e18e
je case.0x4088a6.157
cmp ecx, 0xa0
ja 0x44e17d
je case.0x4088a6.157
cmp ecx, 9
je case.0x4088a6.157
cmp ecx, 0x20
je case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x1680
je case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x205f
ja 0x44e1c5
je case.0x4088a6.157
cmp ecx, 0x2000
jb case.0x44e095.13
cmp ecx, 0x200a
jbe case.0x4088a6.157
cmp ecx, 0x202f
je case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x3000
je case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x180e
ja 0x44e21a
je case.0x44e095.13
cmp ecx, 0xa0
ja 0x44e209
je case.0x44e095.13
cmp ecx, 9
je case.0x44e095.13
cmp ecx, 0x20
jne case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x1680
jne case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x205f
ja 0x44e251
je case.0x44e095.13
cmp ecx, 0x2000
jb case.0x4088a6.157
cmp ecx, 0x200a
jbe case.0x44e095.13
cmp ecx, 0x202f
jne case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x3000
jne case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x85
ja 0x44e287
je case.0x4088a6.157
cmp ecx, 0xa
jb case.0x44e095.13
cmp ecx, 0xd
jbe case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x2028
jb case.0x44e095.13
cmp ecx, 0x2029
jbe case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0x85
ja 0x44e2c3
je case.0x44e095.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x4088a6.157
jmp case.0x44e095.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x4088a6.157
jmp case.0x44e095.13
cmp ecx, 0xff
ja case.0x44e095.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x4088a6.157
jmp case.0x44e095.13
mov eax, 0xff
cmp word [ebp - 0x38], ax
ja case.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x4088a6.157
jmp case.0x44e095.13
mov eax, 0xff
cmp dx, ax
ja case.0x44e095.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x4088a6.157
jmp case.0x44e095.13
mov eax, 0xff
cmp dx, ax
ja case.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x4088a6.157
jmp case.0x44e095.13
mov eax, 0xff
cmp dx, ax
ja case.0x44e095.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x4088a6.157
jmp case.0x44e095.13
mov eax, 0xff
cmp dx, ax
ja case.0x4088a6.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x4088a6.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.00408820
add esp, 0x14
test eax, eax
je 0x44e00e
jmp 0x4089eb
mov eax, 0xfffffff2
jmp 0x4089eb
cmp dword [esi + 0x8c], 0
je case.0x4088a6.157
cmp edi, dword [esi + 0x88]
jbe case.0x4088a6.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x4088a6.157
mov eax, 0xfffffff4
jmp 0x4089eb
mov dword [esi + 0x9c], 2
jmp 0x408f7c
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44e462
cmp word [ebx], 0x77
je 0x44e413
cmp word [eax], 0x77
jne 0x44e462
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 0x408f70
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 0x4089eb
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.00408820
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 1
je 0x44e4bb
cmp eax, 0xfffffc19
jne 0x44e4cf
cmp dword [esi + 0xb0], 0
jne 0x44e4cf
mov dword [esi + 0xb0], edi
jmp 0x4089eb
cmp eax, 0xfffffc1f
jne 0x4089eb
mov edx, dword [esi + 0x80]
mov ecx, edi
call fcn.0049ba13
test eax, eax
jne 0x44e462
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov eax, 0xfffffc1c
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
je 0x44e5cb
jmp 0x4089eb
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.00408820
add esp, 0x14
cmp eax, 1
je 0x44e5b4
cmp eax, 0xfffffc19
jne 0x44e5c3
cmp dword [esi + 0xb0], 0
jne 0x44e5c3
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x4089eb
mov eax, 0xfffffc1d
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
jne 0x4089eb
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x4089eb
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.00408820
add esp, 0x14
test eax, eax
je 0x44e6a9
jmp 0x4089eb
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.00408820
add esp, 0x14
cmp eax, 1
je 0x44e692
cmp eax, 0xfffffc19
jne 0x44e6a1
cmp dword [esi + 0xb0], 0
jne 0x44e6a1
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x4089eb
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0x4089eb
cmp edi, 0x9f
je 0x4089c9
cmp dword [esi + 0xa8], 0
jne 0x4089c9
cmp dword [esi + 0x60], 0
jne case.0x4088a6.157
cmp dword [esi + 0x64], 0
je 0x4089c9
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x4088a6.157
jmp 0x4089c9
mov eax, 0xfffffc19
jmp 0x4089eb
mov eax, 0xfffffffb
jmp 0x4089eb
mov eax, 0xffffffeb
jmp 0x4089eb
inc eax
mov dword [esi], eax
mov eax, 0xfffffff8
jmp 0x4089eb