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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push ebx
mov ebx, edx
mov eax, ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], eax
push esi
push edi
test ebx, ebx
je 0x44887e
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov eax, dword [esi]
mov ecx, dword [esi + 0x50]
mov dword [ebp - 0x24], ecx
cmp eax, dword [esi + 4]
jae 0x4507d7
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x415583
cmp dword [esi + 0x9c], 2
je 0x4488af
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
cmp edi, 0xa1
ja case.0x414bd5.98
movzx eax, byte [edi + 0x4156dc]
jmp dword [eax*4 + 0x415590]
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
mov ecx, 0x88
sub edi, eax
mov dword [ebp - 0x20], edi
movzx eax, word [edi]
cmp ax, cx
jae 0x449543
mov ecx, 0x81
cmp ax, cx
je 0x449543
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp eax, 0x7d
jb 0x414c23
mov dword [ebp - 0x14], 0x80
cmp ax, word [ebp - 0x14]
jbe 0x44eb1e
mov dword [ebp - 0x14], 0x82
cmp ax, word [ebp - 0x14]
je 0x44eb1e
mov dword [ebp - 0x14], 0x85
cmp ax, word [ebp - 0x14]
je 0x414fa0
mov dword [ebp - 0x14], 0x8a
cmp ax, word [ebp - 0x14]
je 0x414fa0
mov dword [ebp - 0x14], 0x86
cmp ax, word [ebp - 0x14]
je 0x414fa0
mov dword [ebp - 0x14], 0x8b
cmp ax, word [ebp - 0x14]
je 0x414fa0
movzx eax, word [ebx]
cmp eax, 0x78
jne 0x4495b5
mov eax, 0x81
cmp word [edi], ax
je 0x44eac4
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414baf
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x450791
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x41556f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x88
jae 0x44e97b
cmp edi, 0x81
je 0x44e97b
cmp dword [esi + 0x70], 0
jne 0x415492
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x415492
movzx eax, word [ebx]
movzx eax, byte [eax + 0x4a6760]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x24], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x414b93
jmp 0x4507d7
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], edi
cmp eax, edi
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x414d60
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a47e
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x414d82
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f62]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x414e1d
mov ebx, dword [ebp - 0x28]
mov esi, eax
cmp dword [ebp - 0x24], 0
mov edi, 1
movzx ecx, word [esi]
je 0x414dc3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a4a3
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x414de5
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x14]
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx ecx, byte [eax*8 + 0x4a3f62]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a6810], eax
jne 0x414f17
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 8], esi
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
jne 0x44a4c7
add ebx, 2
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x414baf
movzx ecx, word [ebx + 0x22]
lea eax, [ebx + 2]
add ebx, 0x22
mov dword [ebp - 0x20], eax
mov edx, ecx
mov dword [ebp - 0x30], ebx
mov eax, edx
cmp eax, 0x6d
jle 0x415352
mov edx, dword [ebp - 0x2c]
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x24], 0
je 0x44a78c
mov dword [ebp - 0x28], 1
cmp eax, 1
jl 0x4153b1
nop
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x14], ecx
cmp eax, 0xd800
je 0x44a756
cmp ecx, 0xff
ja 0x44a77e
mov esi, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x14]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x10]
jle 0x414e80
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
je 0x414e30
test edx, edx
jne 0x44eccf
mov ecx, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x24], edx
je 0x44a85f
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
jge 0x415410
jmp 0x4153c3
lea esi, [esi + edi*2]
mov dword [ebp - 0x14], ecx
cmp esi, ebx
jb 0x414da3
jmp 0x414e0e
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
cmp dword [ebp - 0x24], 0
je 0x44ac90
movzx edi, word [ebx + 2]
add ebx, 2
mov eax, edi
mov edx, 1
and eax, 0xfc00
cmp eax, 0xd800
je 0x44abdd
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp edi, 0x80
jae 0x44ac01
cmp ecx, 0xff
ja 0x414f7f
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + edi]
cmp eax, ecx
jne case.0x414bd5.157
add ebx, 2
add dword [ebp - 8], 2
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], ebx
jmp 0x414baf
movzx ecx, word [edi + 4]
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x28], ecx
lea edi, [ecx + ecx]
mov dword [ebp - 0x14], edi
test eax, eax
jne 0x449559
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [esi + 0x94], eax
cmp edi, dword [esi + 0x14]
jge 0x44957e
mov ecx, dword [ebp + 0xc]
cmp edi, ecx
jg 0x44958e
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x28]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
cmp dword [ebp + 0xc], edi
jg 0x41500e
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
jmp 0x414c78
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
je 0x415049
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a246
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b4b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x41506f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x4a6850]
mov dword [ebp - 0x14], ecx
cmp eax, 9
jne 0x44a26e
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4a55e0]
lea eax, [eax*4 + 0x4a55e0]
cmp edx, ecx
jb 0x44a470
lea eax, [eax + 4]
cmp edx, ecx
je 0x4150b5
mov ecx, dword [eax]
cmp edx, ecx
jae 0x4150a3
jmp 0x44a470
cmp edi, 0x10
jne case.0x414bd5.157
mov edx, dword [ebp - 8]
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x414baf
cmp dword [ebp - 0x24], 0
je 0x44abae
mov ax, word [ebx + 2]
add ebx, 2
mov ecx, 0xfc00
mov dword [ebp - 0x30], ebx
and ax, cx
mov edi, 1
mov ecx, 0xd800
cmp ax, cx
je 0x415557
mov eax, dword [esi + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp edi, eax
jg 0x44eefd
test edi, edi
jle 0x414e30
mov cx, word [ebx]
dec edi
mov ax, word [edx]
add ebx, 2
add edx, 2
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], edx
cmp cx, ax
jne case.0x414bd5.157
test edi, edi
jle 0x414e30
jmp 0x415115
movzx edx, word [ebx + 4]
mov dword [ebp - 0x28], edx
lea eax, [edx + edx]
mov dword [ebp - 0x14], eax
cmp eax, dword [esi + 0x14]
jge case.0x414bd5.129
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x28]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
mov edi, edi
cmp edi, 0x88
jae 0x450484
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 + 0x4a6760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x4504db
cmp edx, 0xfffffc20
je 0x450493
test edx, edx
je 0x4504b8
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [edi - 0x55]
add ebx, 2
test cl, 1
je 0x415568
mov eax, 1
movsx edi, byte [ecx + 0x4a674c]
movsx edx, byte [ecx + 0x4a6740]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], edi
test edi, edi
jne 0x41522d
mov dword [ebp - 0x18], SysAllocStringLen
movzx edi, word [ebx]
add ebx, 2
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], ebx
cmp edi, 0x10
je 0x44ba73
cmp edi, 0xf
je 0x44ba6a
or ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
test edx, edx
jg 0x44ba92
mov edi, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x414e30
test eax, eax
je 0x44d014
test ecx, ecx
jns 0x44f2e9
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.00414b50
add esp, 0x14
cmp dword [ebp - 0x1c], 0x16
je 0x44fc19
cmp dword [ebp - 0x24], 0
je 0x4500f1
test eax, eax
jne 0x414ccd
lea esp, [esp]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414bd5.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44eee5
cmp dword [ebp - 0x1c], 0xc
jne 0x4152f5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44fda2
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
mov edx, dword [ebp - 0xc]
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44fddb
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x44fdfc
cmp dword [esi + 0x8c], 0
jne 0x4500af
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
jmp 0x4152b0
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x415365
movzx eax, byte [eax + 0x415788]
jmp dword [eax*4 + 0x415780]
lea eax, [edx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jb 0x415509
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], 1
movsx ecx, byte [eax + 0x4a6740]
mov dword [ebp - 0x10], ecx
movsx ecx, byte [eax + 0x4a674c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0x414e65
mov ecx, SysAllocStringLen
jmp 0x414e62
mov eax, dword [ebp - 8]
jmp 0x414ee7
mov eax, dword [ebp - 8]
mov ecx, 1
mov dword [ebp - 0x14], ecx
cmp eax, dword [esi + 0x7c]
jae 0x44a832
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x44a7fa
cmp edx, 0xff
ja 0x44a824
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
jne 0x415514
cmp dword [ebp - 0x34], 0
jne 0x414e30
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
jmp 0x44ec85
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0x414bd5.119
mov dword [ebp - 0x30], ebx
jmp 0x414baf
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
jmp 0x449291
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a6760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x44e98a
test edx, edx
jne 0x450505
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
jne case.0x414bd5.157
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x94], eax
jmp case.0x414bd5.129
test al, 1
jne 0x41554d
xor edx, edx
jmp 0x415388
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x1c]
jl 0x4153c0
jmp 0x415410
add ebx, 2
jmp 0x4492ea
mov eax, dword [ebp - 8]
jmp 0x4495e1
mov edi, dword [ebp - 0x24]
jmp 0x449bee
mov edx, 1
jmp 0x415388
mov edi, 2
jmp 0x4150fb
xor ecx, ecx
jmp 0x44ad23
xor eax, eax
jmp 0x41520b
mov eax, 0xfffffc19
jmp 0x414ccd
mov eax, 0xfffffffb
jmp 0x414ccd
mov eax, 0xffffffeb
jmp 0x414ccd
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x4488a0
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.00414b50
add esp, 0x14
jmp 0x414ccd
sub ecx, eax
test ecx, ecx
jle 0x4488a8
neg ecx
mov eax, ecx
jmp 0x414ccd
mov eax, dword [ebp - 8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
mov dword [ebp + 0x14], eax
mov dword [esi + 0x9c], 0
jmp 0x414e30
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x44e9b6
movzx eax, word [ebx]
movzx ecx, byte [eax + 0x4a6760]
movzx eax, word [ebx + 2]
add ecx, eax
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x30], ebx
jmp 0x414baf
mov eax, dword [ebp - 8]
mov edi, dword [esi + 0xb0]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
cmp eax, 1
je 0x448977
cmp eax, 0xfffffc20
jne 0x448957
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0x414ccd
cmp word [ebx], 0x77
je 0x44895f
cmp word [ecx], 0x77
jne 0x414ccd
jmp 0x44895f
test eax, eax
jne 0x414ccd
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x448909
mov ecx, dword [ebp + 8]
jmp 0x448980
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x448996
cmp eax, 0x77
jne case.0x414bd5.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448996
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 0x44900d
cmp eax, dword [ebp - 0x28]
jne 0x44e744
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e30
mov dword [ebp - 0x20], 0
jmp 0x449325
mov dword [ebp - 0x20], 0
mov eax, ebx
mov dword [ebp - 0x14], 0
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
cmp edi, 0x88
jb 0x448a13
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 + 0x4a6760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x449414
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x14], 1
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x84]
cmp dword [ebp - 8], eax
je 0x449465
mov dword [ebp - 8], eax
jmp 0x448a01
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x20], eax
cmp word [ebx], 0x76
jne 0x448b5c
cmp dword [0x4c8524], 0
je 0x448b53
mov dword [ebp - 0x9c], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x84], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x74], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x80], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0x7c], eax
test eax, eax
jne 0x448b1d
mov dword [ebp - 0x7c], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0x78], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x9c]
push eax
call dword [0x4c8524]
add esp, 4
test eax, eax
jg case.0x414bd5.157
js 0x414ccd
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
add ebx, 8
sub eax, 4
mov dword [ebp - 0x20], eax
movzx eax, word [ebx]
xor ecx, ecx
mov dword [ebp - 0x34], eax
add eax, 0xffffff73
mov dword [ebp - 0x1c], ecx
cmp eax, 0x10
ja case.0x448b7c.146
movzx eax, byte [eax + 0x4507fe]
jmp dword [eax*4 + 0x4507e6]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x448d1d
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x448c20
cmp eax, dword [ecx + 4]
je 0x448c20
xor ecx, ecx
jmp case.0x448b7c.145
cmp dword [esi + 0xa8], ecx
je case.0x448b7c.145
movzx ecx, word [ebx + 2]
imul ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x28], eax
test ecx, ecx
jle 0x448d1d
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x1c], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
dec ecx
movzx eax, word [eax]
cmp eax, dword [ebp - 0x14]
je 0x448c20
mov edx, dword [ebp - 0x28]
mov eax, dword [esi + 0x24]
lea edx, [edx + eax*2]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 8]
test ecx, ecx
jg 0x448be8
jmp 0x448d1d
movzx ecx, word [ebx + 2]
add ecx, ecx
cmp ecx, dword [ebp + 0xc]
jge 0x448ba5
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x448ba5
mov ecx, 1
jmp 0x448cff
movzx ecx, word [ebx + 2]
imul ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
lea ecx, [eax + ecx*2]
movzx eax, word [ebx + 4]
mov dword [ebp - 0x14], ecx
test eax, eax
jle 0x448d1d
mov dword [ebp - 0x1c], 0
movzx ecx, word [ecx]
dec eax
add ecx, ecx
mov dword [ebp - 0x28], eax
cmp ecx, dword [ebp + 0xc]
jge 0x448c65
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x448c20
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], ecx
test eax, eax
jg 0x448c4e
jmp 0x448d1d
mov ecx, dword [ebp - 8]
mov edx, ebx
mov dword [esi + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
cmp eax, 1
jne 0x448d0b
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x448cb5
mov dword [ebp + 0xc], eax
mov eax, 0x92
mov dword [ebp - 0x1c], 1
cmp word [ebx], ax
jne 0x448cc9
add ebx, 2
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
jne 0x448ce5
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x448cd7
mov eax, dword [ebp - 0x34]
mov ecx, 2
movzx eax, byte [eax + 0x4a6760]
sub ecx, eax
lea ebx, [edx + ecx*2]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + 0x4a6760]
jmp 0x448d23
test eax, eax
je 0x448d1a
cmp eax, 0xfffffc20
jne 0x414ccd
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
test ecx, ecx
jne 0x448d38
cmp word [ebx - 4], 0x77
jne 0x414baf
cmp edi, 0x8c
jne 0x414d18
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.00414b50
add esp, 0x14
jmp 0x414ccd
movzx edi, word [ebx + 2]
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, edi
lea ecx, [edi + edi]
mov dword [esi + 0x94], eax
cmp ecx, dword [esi + 0x14]
jl 0x448d9b
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x448de4
mov eax, dword [esi + 0x10]
lea edx, [edi + edi]
mov ecx, dword [esi + 0xc]
sub eax, edi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebp + 0xc]
cmp edx, ecx
jl 0x448de1
mov eax, dword [esi + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x448ddb
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
lea eax, [edx + 2]
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414baf
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x14], eax
jne 0x448e12
mov edi, 1
mov dword [esi + 0x9c], 0
jmp 0x448e14
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.00414b50
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x448e8d
cmp ecx, 0xfffffc19
je 0x448e8d
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x448e75
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x4488a8
cmp word [ebx], 0x77
je 0x448e7d
cmp word [eax], 0x77
jne 0x4488a8
jmp 0x448e7d
test ecx, ecx
jne 0x4488a8
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448e14
jmp 0x448e96
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x414bd5.157
test edi, edi
jne 0x414cc8
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448ea8
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0x414e30
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x448eec
mov dword [ebp - 0x14], 1
mov dword [esi + 0x9c], 0
jmp 0x448ef3
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
mov ecx, eax
mov dword [esi + 0xb0], edi
add esp, 0x14
cmp ecx, 0xfffffc20
jg 0x448f4c
jne 0x448f5f
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x448f7a
cmp word [ebx], 0x77
je 0x448f3c
cmp word [eax], 0x77
jne 0x448f7a
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448ef3
jmp 0x448f88
mov eax, ecx
sub eax, 0
je 0x448f3c
dec eax
je case.0x414bd5.157
jmp 0x4488a8
cmp ecx, 0xfffffc19
je case.0x414bd5.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x4488a8
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x448f7a
cmp dword [ebp - 0x14], 0
jne 0x414cc8
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e30
cmp dword [ebp - 0x24], 0
je 0x448fe2
movzx ecx, word [ebx + 2]
test ecx, ecx
jle 0x448ffc
mov eax, dword [ebp - 8]
dec ecx
sub eax, 2
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0x414bd5.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x448fdc
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x448fab
jmp 0x448fff
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.0x414bd5.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x44900d
mov dword [esi + 0x88], eax
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e30
cmp dword [0x4c8524], 0
je 0x4490eb
mov dword [ebp - 0xd0], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xb8], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0xa8], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xb4], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0xb0], eax
test eax, eax
jne 0x4490b2
mov dword [ebp - 0xb0], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xd0]
push eax
call dword [0x4c8524]
add esp, 4
test eax, eax
jg case.0x414bd5.157
js 0x414ccd
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x30], ebx
jmp 0x414baf
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp - 0x14], edi
cmp edi, ecx
jne 0x44910b
xor edx, edx
jmp 0x44910f
movzx edx, word [edi + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x449136
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x449130
cmp eax, dword [ecx + 0x14]
jne 0x449130
mov eax, 0xffffffe6
jmp 0x414ccd
mov ecx, dword [ecx]
test ecx, ecx
jne 0x44911c
mov dword [ebp - 0x50], edx
add ebx, 4
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
mov dword [esi + 0xa8], eax
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x48], ecx
cmp ecx, 0x1e
jg 0x449176
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x4c], eax
jmp 0x449195
lea eax, [ecx*4]
push eax
call dword [0x4a675c]
add esp, 4
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x44ea50
mov ecx, dword [ebp - 0x48]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.00421950
mov eax, 0x88
add esp, 0xc
cmp word [edi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
test eax, eax
je 0x4491c1
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a6760]
push dword [ebp + 8]
lea edx, [edi + eax*2]
call fcn.00414b50
mov ecx, dword [ebp - 0x48]
add esp, 0x14
shl ecx, 2
mov edi, eax
push ecx
push dword [ebp - 0x4c]
push dword [esi + 0xc]
call fcn.00421950
mov eax, dword [ebp - 0x44]
add esp, 0xc
mov dword [esi + 0x94], eax
mov eax, dword [ebp - 0x54]
mov dword [esi + 0xa8], eax
cmp edi, 1
je 0x449263
cmp edi, 0xfffffc19
je 0x449263
cmp edi, 0xfffffc1c
jl 0x449232
cmp edi, 0xfffffc20
jle 0x44ea07
test edi, edi
jne 0x44ea27
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x54]
mov dword [esi + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
mov dword [ebp - 0x14], edi
jne 0x44e9fe
mov eax, dword [ebp - 0x28]
jmp 0x4491b3
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44927a
push eax
call dword [0x4a6758]
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x414e30
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x449291
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e30
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 0x4492b2
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
jmp 0x414e30
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4492ea
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414baf
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x20], 1
cmp edi, 0x86
je 0x449325
cmp edi, 0x8b
jne 0x4489e7
movzx edx, word [ebx + 4]
mov dword [ebp - 0x28], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge 0x4489e7
mov ecx, ebx
shl eax, 2
sub ecx, dword [esi + 0x74]
sar ecx, 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x10]
mov edx, eax
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x44939c
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 + 0x4a6760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x449497
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov ecx, 1
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 8], eax
je 0x449518
mov dword [ebp - 8], eax
jmp 0x449377
cmp ecx, 0xfffffc20
jne 0x449441
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x4488a8
cmp word [ebx], 0x77
je 0x449449
cmp word [eax], 0x77
jne 0x4488a8
jmp 0x449449
test ecx, ecx
jne 0x4488a8
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x449478
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp 0x448a01
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x449465
jmp 0x44900d
cmp dword [ebp - 0x14], 0
jne 0x44900d
cmp dword [ebp - 0x20], 0
je case.0x414bd5.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e30
cmp ecx, 0xfffffc20
jne 0x4494c4
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x4488a8
cmp word [ebx], 0x77
je 0x4494cc
cmp word [eax], 0x77
jne 0x4488a8
jmp 0x4494cc
test ecx, ecx
jne 0x4488a8
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x449374
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x449526
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x1c]
jmp 0x449526
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x449518
cmp dword [ebp - 0x20], 0
jne 0x44900d
test ecx, ecx
je case.0x414bd5.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x414e30
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x14]
mov edx, dword [edx]
mov ecx, dword [ecx + 4]
mov dword [ebp + 0x14], edx
mov edx, dword [ebp - 8]
jmp 0x414c0a
cmp dword [eax + 4], ecx
jne 0x414fbb
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0x414ccd
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x41500e
mov eax, dword [esi + 0xc]
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0x414fe2
sub ecx, edx
mov edi, edx
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x14]
jmp 0x414fe2
cmp eax, 0x7b
je 0x44eaf9
cmp dword [ebp - 8], ecx
jne 0x44e78e
mov edx, dword [ebp - 8]
jmp 0x414c84
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x4495e1
cmp eax, dword [esi + 0x78]
je case.0x414bd5.157
cmp eax, dword [esi + 0x78]
jne case.0x414bd5.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414e30
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x449607
cmp eax, dword [esi + 0x78]
je case.0x414bd5.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x414e2a
cmp eax, dword [esi + 0x7c]
je case.0x414bd5.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44964a
cmp eax, ecx
jbe case.0x414bd5.157
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0048eaee
add esp, 0xc
test eax, eax
je case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [esi + 0x1c]
lea edi, [eax + eax]
lea eax, [edi + ecx]
cmp dword [ebp - 8], eax
jb case.0x414bd5.157
mov ecx, dword [ebp - 8]
sub ecx, edi
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0x414bd5.157
cmp dword [esi + 0x1c], 1
je 0x414e2a
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x414bd5.157
jmp 0x414e2a
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp edx, eax
jne case.0x414bd5.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414baf
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x414e30
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x449780
mov edx, dword [esi + 0x18]
test edx, edx
je 0x449749
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041602f
add esp, 0xc
test eax, eax
jne 0x414e2a
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0x414bd5.157
cmp dword [esi + 0x18], 0
jne case.0x414bd5.157
cmp dword [esi + 0x1c], 2
jne case.0x414bd5.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0x414bd5.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414bd5.157
mov eax, 0xfffffff4
jmp 0x414ccd
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4496ee
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4496eb
cmp edx, 1
je 0x414e2a
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x4496eb
jmp 0x414e2a
cmp dword [esi + 0x4c], 0
jne case.0x414bd5.157
cmp dword [esi + 0x8c], 0
je 0x414e2a
cmp eax, dword [esi + 0x88]
jbe 0x414e2a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x414e30
cmp dword [esi + 0x4c], 0
jne case.0x414bd5.157
cmp dword [esi + 0x5c], 0
je case.0x414bd5.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0x414bd5.157
jmp 0x44978a
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44978a
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x449808
push dword [ebp - 0x24]
push edi
push ecx
mov ecx, eax
call fcn.0041602f
add esp, 0xc
test eax, eax
jne 0x44983d
jmp 0x4496eb
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4496ee
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x4496eb
cmp edx, 1
je 0x44983d
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x4496eb
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 0x4496ee
jmp 0x44978a
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 8]
je 0x449a09
cmp eax, dword [esi + 0x78]
je 0x449941
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x449888
sub edx, 2
cmp edx, dword [esi + 0x88]
jae 0x449896
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4498c1
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [esi + 0x58], 0
je 0x449923
cmp ecx, 0x5f
jne 0x4498d4
mov eax, dword [ebp - 8]
lea edi, [ecx - 0x5e]
jmp 0x449943
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x4498f6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x449919
cmp eax, 3
jne 0x44993e
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x449943
cmp ecx, 0x100
jae 0x44993e
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44993e
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x449943
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x4499ab
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449976
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp dword [esi + 0x58], 0
je 0x4499f2
cmp ecx, 0x5f
je 0x449b33
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
js 0x449adf
jmp 0x449ae4
cmp dword [esi + 0x8c], 0
je 0x4499d0
cmp eax, dword [esi + 0x88]
jbe 0x4499d0
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
xor ecx, ecx
mov ax, word [ebx]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp ax, 5
jne 0x449b3d
cmp ecx, edi
je case.0x414bd5.157
jmp 0x414e30
cmp ecx, 0x100
jae 0x4499d0
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x449b33
jmp 0x4499d0
cmp eax, dword [esi + 0x78]
je 0x449aa9
cmp eax, dword [esi + 0x88]
ja 0x449a26
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0x449a89
cmp ecx, 0x5f
jne 0x449a3a
lea edi, [ecx - 0x5e]
jmp 0x449aab
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x449a5c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x449a7f
cmp eax, 3
jne 0x449aa6
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x449aab
mov edx, 0xff
cmp cx, dx
ja 0x449aa9
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x449aa6
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x449aab
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x4499ab
cmp dword [esi + 0x58], 0
je 0x449b13
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x449b33
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x449ae4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x449b33
cmp eax, 3
jne 0x4499d0
lea ecx, [eax - 2]
jmp 0x4499d2
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x4499d0
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4499d0
mov ecx, 1
jmp 0x4499d2
cmp ecx, edi
jne case.0x414bd5.157
jmp 0x414e30
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x449b79
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x24]
cmp eax, ecx
jae 0x449bb1
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
jmp 0x449bae
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x449bab
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x449bab
cmp edx, 1
je case.0x414bd5.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x449bf1
add eax, 2
cmp eax, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
jb 0x449bf1
cmp dword [esi + 0x18], 0
jne 0x449bf1
cmp dword [esi + 0x1c], 2
jne 0x449bf1
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x449bee
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x44eb3e
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0x414e2a
cmp eax, ecx
jae 0x414e2a
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x414e2a
add dword [ebp - 8], 2
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449c94
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449c94
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x414e2a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449cfb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449cfb
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449d62
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449d62
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x414e2a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449dc9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449dc9
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449e30
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449e30
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x414e2a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449e97
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449e97
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.157
jmp 0x414e2a
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449f03
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x449f03
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
cmp ecx, 0xd
ja 0x449f6f
je 0x449f24
cmp ecx, 0xa
je 0x414e2a
jbe case.0x414bd5.157
cmp ecx, 0xc
ja case.0x414bd5.157
jmp 0x449f86
cmp eax, edx
jb 0x449f5a
cmp dword [esi + 0x8c], 0
je 0x414e2a
cmp eax, dword [esi + 0x88]
jbe 0x414e2a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
jmp 0x414e2a
cmp word [eax], 0xa
jne 0x414e2a
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414e2a
cmp ecx, 0x85
je 0x449f86
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x449fde
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449fde
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 0x44a022
je case.0x414bd5.157
cmp ecx, 0xa0
ja 0x44a011
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp 0x414e2a
cmp ecx, 0x1680
je case.0x414bd5.157
jmp 0x414e2a
cmp ecx, 0x205f
ja 0x44a059
je case.0x414bd5.157
cmp ecx, 0x2000
jb 0x414e2a
cmp ecx, 0x200a
jbe case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp 0x414e2a
cmp ecx, 0x3000
je case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44a0b3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a0b3
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 0x44a0f7
je 0x414e2a
cmp ecx, 0xa0
ja 0x44a0e6
je 0x414e2a
cmp ecx, 9
je 0x414e2a
cmp ecx, 0x20
jne case.0x414bd5.157
jmp 0x414e2a
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp 0x414e2a
cmp ecx, 0x205f
ja 0x44a12e
je 0x414e2a
cmp ecx, 0x2000
jb case.0x414bd5.157
cmp ecx, 0x200a
jbe 0x414e2a
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp 0x414e2a
cmp ecx, 0x3000
jne case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44a188
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a188
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 0x44a1ad
je case.0x414bd5.157
cmp ecx, 0xa
jb 0x414e2a
cmp ecx, 0xd
jbe case.0x414bd5.157
jmp 0x414e2a
cmp ecx, 0x2028
jb 0x414e2a
cmp ecx, 0x2029
jbe case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x44a213
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a213
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 0x44a232
je 0x414e2a
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414bd5.157
jmp 0x414e2a
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
jmp 0x414e2a
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x14], ecx
jmp 0x415049
cmp eax, 0xa
ja case.default.0x44a277
jmp dword [eax*4 + 0x450812]
mov al, byte [ecx*8 + 0x4a3f61]
cmp al, 9
je 0x44a2a3
cmp al, 5
je 0x44a2a3
cmp al, 8
je 0x44a2a3
xor ecx, ecx
jmp 0x44a2bf
cmp edi, 0xf
je case.0x414bd5.157
jmp 0x4150be
mov ecx, 1
jmp 0x44a2bf
movzx eax, byte [ecx*8 + 0x4a3f61]
xor ecx, ecx
cmp dword [eax*4 + 0x4b99b0], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x414bd5.157
jmp 0x4150be
mov eax, dword [ebp - 0x14]
xor edx, edx
movzx ecx, word [ebx + 4]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp ecx, dword [eax*4 + 0x4b99b0]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0x414bd5.157
jmp 0x4150be
movzx eax, byte [ecx*8 + 0x4a3f61]
jmp 0x44a316
movzx eax, byte [ecx*8 + 0x4a3f60]
xor ecx, ecx
cmp word [ebx + 4], ax
setne cl
xor eax, eax
cmp edi, 0x10
sete al
cmp ecx, eax
je case.0x414bd5.157
jmp 0x4150be
movzx eax, byte [ecx*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x44a2a3
cmp eax, 3
je 0x44a2a3
xor ecx, ecx
jmp 0x44a2bf
cmp edx, 0x180e
ja 0x44a3b5
je case.0x44a277.0
cmp edx, 0x85
ja 0x44a398
je case.0x44a277.0
cmp edx, 9
jb case.0x44a3d9.8203
cmp edx, 0xd
jbe case.0x44a277.0
cmp edx, 0x20
je case.0x44a277.0
jmp case.0x44a3d9.8203
cmp edx, 0xa0
je case.0x44a277.0
cmp edx, 0x1680
je case.0x44a277.0
jmp case.0x44a3d9.8203
cmp edx, 0x202f
ja 0x44a3e0
je case.0x44a277.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x44a3d9.8203
movzx eax, byte [edx + 0x450846]
jmp dword [eax*4 + 0x45083e]
cmp edx, 0x205f
je case.0x44a277.0
cmp edx, 0x3000
je case.0x44a277.0
jmp case.0x44a3d9.8203
movzx eax, byte [ecx*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x44a2a3
cmp eax, 3
je 0x44a2a3
cmp edx, 0x5f
je 0x44a2a3
xor ecx, ecx
jmp 0x44a2bf
cmp edx, 0x24
je 0x44a2a3
cmp edx, 0x40
je 0x44a2a3
cmp edx, 0x60
je 0x44a2a3
cmp edx, 0xa0
jb 0x44a45d
cmp edx, 0xd7ff
jbe 0x44a2a3
cmp edx, 0xe000
jae 0x44a2a3
xor ecx, ecx
jmp 0x44a2bf
cmp edi, 0x10
je case.0x414bd5.157
jmp 0x4150be
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
jmp 0x414d60
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
jmp 0x414dc3
cmp eax, edi
jb 0x414e2a
jmp 0x449797
movzx ecx, word [ebx + 2]
xor eax, eax
cmp edi, 0x74
sete al
imul ecx, dword [esi + 0x24]
mov dword [ebp - 0x34], eax
movzx eax, word [ebx + 4]
add ebx, 6
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x30], ebx
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x54]
neg ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edi, edi
neg ecx
mov dword [ebp - 0x10], edi
dec ecx
mov dword [ebp - 0x20], ecx
test eax, eax
jle 0x44a592
dec eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
movzx edi, word [eax]
add edi, edi
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp + 0xc]
jge 0x44a53c
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x44a53c
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x44a58f
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0x28]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 8]
test eax, eax
jg 0x44a516
jmp 0x44a592
xor eax, eax
cmp edi, 0x72
movzx edi, word [ebx + 2]
sete al
add edi, edi
add ebx, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x30], ebx
cmp edi, dword [ebp + 0xc]
jge 0x44a585
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x44a585
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x44a58f
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x20], ecx
movzx eax, word [ebx]
mov dword [ebp - 0x14], eax
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0x44a5ab
movzx eax, byte [eax + 0x45087a]
jmp dword [eax*4 + 0x450872]
mov eax, dword [ebp - 0x14]
add ebx, 2
add eax, 0xffffff9e
mov dword [ebp - 0x30], ebx
movzx edi, al
and edi, 1
mov dword [ebp - 0x2c], edi
movsx edi, byte [eax + 0x4a6740]
movsx eax, byte [eax + 0x4a674c]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x44a613
mov dword [ebp - 0x1c], SysAllocStringLen
jmp 0x44a613
movzx edi, word [ebx + 2]
xor eax, eax
cmp word [ebx], 0x69
mov dword [ebp - 0x28], edi
sete al
mov dword [ebp - 0x2c], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x44a60d
mov dword [ebp - 0x1c], SysAllocStringLen
add ebx, 6
mov dword [ebp - 0x30], ebx
test ecx, ecx
je 0x414baf
jns 0x44a625
test edi, edi
je 0x414baf
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0x44a667
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e87e
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44ec5d
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], ecx
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
jle 0x44a634
mov edx, dword [ebp - 0x1c]
cmp edi, edx
je 0x414e30
cmp dword [ebp - 0x2c], 0
je 0x44ebad
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], eax
jge case.0x414bd5.157
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov edx, edi
push esi
push dword [ebp - 0x20]
call fcn.0048e87e
add esp, 0xc
test eax, eax
js 0x44eb87
inc dword [ebp - 0x28]
lea edi, [edi + eax*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44a6a2
jmp 0x414ccd
push dword [ebp - 0x34]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.0048e87e
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44ec5d
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x414e30
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x1c], ecx
sete al
mov dword [ebp - 0x34], eax
movzx eax, word [ebx + 2]
mov dword [ebp - 0x10], eax
test ecx, ecx
jne 0x44a74b
mov ecx, SysAllocStringLen
mov dword [ebp - 0x1c], ecx
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x414e65
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x14], ecx
jmp 0x414eaa
cmp edi, 0x6e
je case.0x414bd5.157
jmp 0x414ed5
cmp eax, 1
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 8]
jl 0x414ee7
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x44a7c7
cmp edi, 0x6e
je case.0x414bd5.157
jmp 0x44a7e9
mov esi, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x28]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0x414bd5.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x10]
jle 0x44a79f
jmp 0x414ee4
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
mov ecx, 2
mov dword [ebp - 0x14], ecx
movzx eax, word [eax + 2]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
jmp 0x4153e9
cmp edi, 0x6e
je 0x415410
jmp 0x415517
cmp dword [esi + 0x8c], 0
je 0x415410
cmp eax, dword [esi + 0x88]
jbe 0x415410
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jg 0x44973f
jmp 0x415410
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], edx
jge 0x44a8d7
mov ecx, dword [ebp - 0x10]
cmp eax, dword [esi + 0x7c]
jae 0x44a8af
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x44a881
cmp edi, 0x6e
jne 0x44a89e
jmp 0x44a8d4
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
mov eax, dword [ebp - 8]
je 0x44a8d4
mov ecx, dword [ebp - 0x10]
inc ecx
add eax, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0x1c]
jl 0x44a86a
jmp 0x44a8d4
cmp dword [esi + 0x8c], 0
je 0x44a8d4
cmp eax, dword [esi + 0x88]
jbe 0x44a8d4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x34], 0
jne 0x414e30
cmp eax, ecx
jb case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
sub edi, 2
cmp edi, dword [ebp - 0x2c]
jae 0x44a8ec
jmp 0x414ccd
lea eax, [ebx + 4]
mov dword [ebp - 0x28], eax
movzx eax, word [ebx + 2]
movzx edi, word [ebx + eax*2]
lea ebx, [ebx + eax*2]
mov ecx, edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ecx
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x44a948
movzx eax, byte [eax + 0x45088a]
jmp dword [eax*4 + 0x450882]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x44a96b
mov ecx, dword [ebp - 0x34]
movzx eax, al
and eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x44a976
mov eax, dword [ebp - 0x2c]
mov ecx, 1
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
movsx esi, byte [esi + 0x4a66ea]
movsx edi, byte [edi + 0x4a66de]
test esi, esi
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x20], edi
jne 0x44a9f2
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1c], SysAllocStringLen
jmp 0x44a9f2
movzx esi, word [ebx + 4]
xor eax, eax
cmp edi, 0x69
mov dword [ebp - 0x1c], esi
sete al
xor ecx, ecx
cmp edi, 0x6d
mov dword [ebp - 0x2c], eax
movzx edi, word [ebx + 2]
sete cl
mov dword [ebp - 0x20], edi
test esi, esi
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp + 0x10]
jne 0x44a9d5
mov dword [ebp - 0x1c], SysAllocStringLen
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x44a9f2
mov eax, dword [ebp - 0x2c]
mov edi, 1
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0x44aa70
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x24]
mov dword [ebp - 8], eax
test edx, edx
je 0x44aa48
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44aa48
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
push edx
mov edx, dword [ebp - 0x28]
call fcn.0048eba7
add esp, 4
test eax, eax
je case.0x414bd5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, edi
jle 0x44a9fe
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
cmp edi, dword [ebp - 0x1c]
je 0x414baf
test eax, eax
jne 0x44ee3c
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp edi, dword [ebp - 0x1c]
jl 0x44aa96
mov edi, eax
jmp 0x44ab33
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp eax, dword [esi + 0x7c]
jae 0x44ab08
mov edx, dword [ebp - 0x24]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
test edx, edx
je 0x44aade
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44aade
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
push edx
mov edx, dword [ebp - 0x28]
call fcn.0048eba7
add esp, 4
test eax, eax
je 0x44ab30
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x1c]
jl 0x44aa93
jmp 0x44ab2d
cmp dword [esi + 0x8c], 0
je 0x44ab2d
cmp eax, dword [esi + 0x88]
jbe 0x44ab2d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x414e30
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x10]
je case.0x414bd5.157
cmp dword [ebp - 0x24], 0
je 0x44ab8a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44ab8a
sub edi, 2
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44ab5e
jmp 0x414ccd
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x44eda5
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0x414bd5.157
add ebx, 4
jmp 0x414e2d
movzx eax, word [ebx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov edx, 2
add edi, 0x10000
jmp 0x414f5e
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ac3b
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x14], ecx
lea ebx, [ebx + edx*2]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], ebx
cmp edi, ecx
je 0x414baf
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b4b50]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44ac6f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a6850]
mov eax, dword [eax*8 + 0x4a3f64]
add eax, edi
cmp dword [ebp - 0x14], eax
jne case.0x414bd5.157
jmp 0x414e30
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0x44acaa
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x44acac
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0x44acc3
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x414bd5.157
add eax, 2
add ebx, 4
mov dword [ebp - 8], eax
jmp 0x414e2d
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
jmp 0x44ad84
mov dword [ebp - 0x34], 1
xor eax, eax
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 2]
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0x44ad11
cmp ecx, 0x35
je 0x44ad11
xor edx, edx
jmp 0x44ad16
mov edx, 1
mov dword [ebp - 0x2c], edx
add ebx, 4
jmp 0x44ad81
mov ecx, 1
mov dword [ebp - 0x18], SysAllocStringLen
jmp 0x44ad35
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov edx, dword [ebp - 0x2c]
add ebx, 2
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x10], ecx
jmp 0x44ad84
cmp edi, 0x2e
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
movzx edx, cl
and edx, 1
mov dword [ebp - 0x2c], edx
movsx eax, byte [ecx + 0x4a6740]
mov dword [ebp - 0x10], eax
movsx eax, byte [ecx + 0x4a674c]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x44ad81
mov dword [ebp - 0x18], SysAllocStringLen
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x24], 0
movzx eax, word [ebx]
mov dword [ebp - 0xc], eax
je 0x44aff1
and eax, 0xfc00
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], ebx
cmp eax, 0xd800
jne 0x44add0
and dword [ebp - 0xc], 0x3ff
movzx eax, word [ebx + 2]
shl dword [ebp - 0xc], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0xc]
add eax, 0x10000
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 0x1c]
lea eax, [esi + esi]
add ebx, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xc]
cmp esi, 1
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
jle 0x44aff7
cmp edi, 0x2e
jb 0x44ae45
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4b4b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44ae16
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a6850]
mov ecx, dword [eax*8 + 0x4a3f64]
add ecx, edx
cmp ecx, edx
je 0x44ae3f
lea edx, [ebp - 0x68]
call fcn.0048efeb
mov edx, dword [ebp - 0x2c]
mov edi, eax
mov ecx, dword [ebp - 0x10]
jmp 0x44ae47
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0xc], 1
cmp ecx, 1
jge 0x44ae5b
mov eax, dword [ebp - 8]
jmp 0x44aed7
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44ae8c
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00421f94
add esp, 0xc
test eax, eax
jne 0x44ae89
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
jmp 0x44aec6
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44ef21
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44ef21
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00421f94
add esp, 0xc
test eax, eax
jne 0x44ef1e
lea eax, [edi + edi]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, ecx
jle 0x44ae5b
mov edx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x18]
je 0x414e30
test edx, edx
jne 0x44ef3c
mov edx, eax
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44af8d
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44af21
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00421f94
add esp, 0xc
test eax, eax
jne 0x44af1e
mov eax, dword [ebp - 0x28]
jmp 0x44af49
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x44af5a
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0x44af5a
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00421f94
add esp, 0xc
test eax, eax
jne 0x44af5a
lea eax, [edi + edi]
add dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0x44aef6
jmp 0x44af87
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x44af8a
cmp eax, dword [esi + 0x7c]
jb 0x44af87
cmp eax, dword [esi + 0x88]
jbe 0x44af87
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414e30
cmp eax, edx
jbe 0x414d15
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44afe7
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
ja 0x44afa2
jmp 0x414d15
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp edi, 0x2e
jb 0x44b14a
cmp dword [ebp - 0x24], 0
je 0x44b04a
cmp eax, 0x7f
jbe 0x44b04a
mov edi, dword [ebp - 0xc]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b4b50]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44b02f
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x2c]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a6850]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0x4a3f64]
add eax, edi
jmp 0x44b05b
mov edi, dword [ebp - 0xc]
cmp eax, 0xff
ja 0x44b05b
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edi]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], 1
cmp ecx, 1
jl 0x44b0a0
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx esi, word [eax]
mov dword [ebp - 0x14], esi
cmp edi, esi
mov esi, dword [ebp + 0x10]
je 0x44b092
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
jne case.0x414bd5.157
inc dword [ebp - 0x28]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x28], ecx
jle 0x44b06d
cmp ecx, dword [ebp - 0x18]
je 0x414e30
test edx, edx
jne 0x44f004
mov edx, eax
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebp - 0x18]
jge 0x44b102
cmp eax, dword [esi + 0x7c]
jae 0x44b0da
movzx edx, word [eax]
cmp edi, edx
je 0x44b0cc
cmp dword [ebp - 0x1c], edx
jne 0x44b0ff
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x18]
jl 0x44b0bb
jmp 0x44b0ff
cmp dword [esi + 0x8c], 0
je 0x44b0ff
cmp eax, dword [esi + 0x88]
jbe 0x44b0ff
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414e30
cmp eax, edx
je 0x414d15
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.00414b50
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x414ccd
cmp edi, dword [ebp - 0x20]
jne 0x44b117
jmp 0x414d15
mov dword [ebp - 0x14], 1
cmp ecx, 1
jge 0x44b15b
mov edi, dword [ebp - 8]
jmp 0x44b187
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
mov edi, dword [ebp - 8]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0xc], eax
jne case.0x414bd5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, ecx
jle 0x44b15b
cmp ecx, dword [ebp - 0x18]
je 0x414e30
test edx, edx
jne 0x44f07b
mov eax, dword [ebp - 8]
mov edx, eax
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], edx
cmp ecx, edi
jge 0x44b1c8
mov edx, dword [ebp - 0xc]
cmp eax, dword [esi + 0x7c]
jae 0x44b210
movzx eax, word [eax]
cmp edx, eax
jne 0x44b1c2
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, edi
jl 0x44b1aa
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0x414e30
cmp eax, edx
je 0x414d15
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.00414b50
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x414ccd
cmp edi, dword [ebp - 0x20]
jne 0x44b1dd
jmp 0x414d15
cmp dword [esi + 0x8c], 0
je 0x44b1c5
cmp eax, dword [esi + 0x88]
jbe 0x44b1c5
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
jmp 0x44b1c5
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
cmp dword [ebp - 0x24], 0
je 0x44b347
movzx edx, word [ebx + 2]
add ebx, 4
mov eax, edx
mov dword [ebp - 0x14], edx
and eax, 0xfc00
mov dword [ebp - 0x30], ebx
cmp eax, 0xd800
jne 0x44b28a
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x28], ecx
cmp eax, 0xd800
jne 0x44b2ca
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x28], ecx
cmp edi, 0x1f
jne 0x44b2dc
cmp edx, ecx
je case.0x414bd5.157
jmp 0x414e30
cmp edx, 0x7f
jbe 0x44b31f
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b4b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44b307
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a6850]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax*8 + 0x4a3f64]
add eax, edx
jmp 0x44b332
cmp edx, 0xff
ja 0x44b330
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edx]
jmp 0x44b332
mov eax, edx
cmp edx, ecx
je case.0x414bd5.157
cmp eax, ecx
je case.0x414bd5.157
jmp 0x414e30
movzx edx, word [eax]
add eax, 2
movzx ecx, word [ebx + 2]
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x414bd5.157
cmp edi, 0x20
jne 0x44900d
cmp ecx, 0xff
ja 0x44b374
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x414bd5.157
add ebx, 4
jmp 0x414e2d
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
jmp 0x44b43e
movzx edx, word [ebx + 2]
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], edx
cmp ecx, 0x42
je 0x44b3b3
cmp ecx, 0x4f
je 0x44b3b3
xor edx, edx
jmp 0x44b3b8
mov edx, 1
mov dword [ebp - 0x2c], edx
add ebx, 4
jmp 0x44b43e
mov ecx, 1
xor eax, eax
jmp 0x44b3d0
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x18], SysAllocStringLen
jmp 0x44b3e3
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x18], ecx
add ebx, 2
jmp 0x44b3f9
movzx edx, word [ebx + 2]
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x18], edx
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x10], eax
jmp 0x44b441
cmp edi, 0x48
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
movzx edx, cl
and edx, 1
mov dword [ebp - 0x2c], edx
movsx eax, byte [ecx + 0x4a6740]
movsx ecx, byte [ecx + 0x4a674c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x44b43e
mov dword [ebp - 0x18], SysAllocStringLen
mov ecx, dword [ebp - 0x34]
movzx esi, word [ebx]
add ebx, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0xc], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
je 0x44b48f
mov eax, dword [ebp - 0xc]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b48c
mov esi, dword [ebp - 0xc]
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or eax, esi
mov esi, dword [ebp + 0x10]
add eax, 0x10000
add ebx, 2
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x10]
cmp edi, 0x48
jb 0x44b784
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 0xc]
je 0x44b4ea
cmp edi, 0x7f
jbe 0x44b4ea
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b4b50]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44b4c9
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x2c]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a6850]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax*8 + 0x4a3f64]
add eax, edi
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
jmp 0x44b4ff
cmp edi, 0xff
ja 0x44b4fc
mov eax, dword [esi + 0x40]
movzx edi, byte [eax + edi]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x28], 1
je 0x44b594
cmp eax, 1
jl 0x44b5d4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x1c], ecx
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44b56c
movzx eax, word [eax]
and dword [ebp - 0x1c], 0x3ff
and eax, 0x3ff
shl dword [ebp - 0x1c], 0xa
or eax, dword [ebp - 0x1c]
add eax, 0x10000
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0xc]
cmp esi, dword [ebp - 0x1c]
mov esi, dword [ebp + 0x10]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
je case.0x414bd5.157
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0x44b51c
jmp 0x44b5d7
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x44b5d7
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx ecx, word [eax]
cmp dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x34]
je case.0x414bd5.157
mov esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x14]
mov esi, dword [ebp + 0x10]
je case.0x414bd5.157
inc dword [ebp - 0x28]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x28], edi
jle 0x44b59c
mov eax, dword [ebp - 8]
cmp edi, dword [ebp - 0x18]
je 0x414e30
test edx, edx
jne 0x44f0ea
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x10], edx
je 0x44b6f1
cmp edi, dword [ebp - 0x18]
jge 0x44b665
mov dword [ebp - 0x14], 1
cmp eax, dword [esi + 0x7c]
jae 0x44b6c7
movzx edx, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b641
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, 2
add edx, 0x10000
jmp 0x44b644
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], edx
je 0x44b65c
cmp dword [ebp - 0x20], edx
je 0x44b65c
lea ecx, [ecx + eax*2]
inc edi
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edi, dword [ebp - 0x18]
jl 0x44b5fc
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0x414e30
cmp eax, edx
jbe 0x414d15
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44b6bd
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x44b678
jmp 0x414d15
cmp dword [esi + 0x8c], 0
je 0x44b65f
cmp eax, dword [esi + 0x88]
jbe 0x44b65f
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
jmp 0x44b65f
cmp edi, dword [ebp - 0x18]
jge 0x44b73e
cmp eax, dword [esi + 0x7c]
jae 0x44b716
movzx edx, word [eax]
cmp dword [ebp - 0xc], edx
je 0x44b73b
cmp dword [ebp - 0x20], edx
je 0x44b73b
add eax, 2
inc edi
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x18]
jl 0x44b6f6
jmp 0x44b73b
cmp dword [esi + 0x8c], 0
je 0x44b73b
cmp eax, dword [esi + 0x88]
jbe 0x44b73b
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov edx, dword [ebp - 0x10]
test ecx, ecx
jne 0x414e30
cmp eax, edx
je 0x414d15
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
jne 0x44b751
jmp 0x414d15
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
je 0x44b7fa
cmp eax, 1
jl 0x44b825
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 0x20], eax
and eax, 0xfc00
mov dword [ebp - 8], edi
cmp eax, 0xd800
jne 0x44b7e1
movzx eax, word [edi]
and dword [ebp - 0x20], 0x3ff
and eax, 0x3ff
shl dword [ebp - 0x20], 0xa
or eax, dword [ebp - 0x20]
add eax, 0x10000
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44b7e4
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0xc], eax
je case.0x414bd5.157
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x28], eax
jle 0x44b79d
jmp 0x44b825
cmp eax, 1
jl 0x44b825
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0xc], eax
je case.0x414bd5.157
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x28], eax
jle 0x44b7ff
cmp eax, dword [ebp - 0x18]
je 0x414e30
test edx, edx
jne 0x44f1f6
cmp dword [ebp - 0x24], 0
mov edx, edi
mov dword [ebp - 0x1c], edx
je 0x44b92f
cmp eax, dword [ebp - 0x18]
jge 0x44b8d0
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44b8a8
movzx edx, word [edi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b88c
movzx eax, word [edi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, 2
add edx, 0x10000
jmp 0x44b88f
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], edx
je 0x44b8cd
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0x44b84e
jmp 0x44b8cd
cmp dword [esi + 0x8c], 0
je 0x44b8cd
cmp edi, dword [esi + 0x88]
jbe 0x44b8cd
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov edx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x414e30
cmp edi, edx
jbe 0x414d15
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44b925
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
ja 0x44b8e0
jmp 0x414d15
cmp eax, dword [ebp - 0x18]
jge 0x44b97f
mov edx, dword [ebp - 0xc]
cmp edi, dword [esi + 0x7c]
jae 0x44b957
movzx eax, word [edi]
cmp edx, eax
je 0x44b97c
mov eax, dword [ebp - 0x10]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0x44b937
jmp 0x44b97c
cmp dword [esi + 0x8c], 0
je 0x44b97c
cmp edi, dword [esi + 0x88]
jbe 0x44b97c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov edx, dword [ebp - 0x1c]
test ecx, ecx
jne 0x414e30
cmp edi, edx
je 0x414d15
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
jne 0x44b98f
jmp 0x414d15
movzx edi, word [ebx + 2]
mov eax, 1
mov edx, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xc], edx
add ebx, 4
mov dword [ebp - 0x2c], eax
jmp 0x41522d
movzx edi, word [ebx + 2]
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], edi
cmp ecx, 0x5c
mov dword [ebp - 0xc], edx
sete al
add ebx, 4
mov dword [ebp - 0x2c], eax
jmp 0x41522d
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x415226
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0x415226
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], 1
jmp 0x41522d
movzx ecx, word [ebx + 2]
xor edx, edx
mov eax, dword [ebp - 0x2c]
add ebx, 4
mov dword [ebp - 0x34], 1
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], ecx
jmp 0x41522d
mov dword [ebp - 0x38], 1
jmp 0x44ba7a
mov dword [ebp - 0x38], 0
movzx esi, word [ebx + 2]
movzx ecx, word [ebx]
add ebx, 4
mov dword [ebp - 0x3c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
jmp 0x41524e
test ecx, ecx
js 0x44c22f
cmp ecx, 0xa
ja case.default.0x44a277
jmp dword [ecx*4 + 0x450896]
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44d00c
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44baf1
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x44baf1
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44bac5
jmp 0x44c224
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bb54
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bb54
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bb76
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp eax, 9
je 0x44bb9b
cmp eax, 5
je 0x44bb9b
cmp eax, 8
je 0x44bb9b
xor eax, eax
jmp 0x44bba0
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44bb0f
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bc1b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bc1b
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bc3d
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp dword [eax*4 + 0x4b99b0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44bbd6
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bcd9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bcd9
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bcfb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44bc94
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44bd90
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bd90
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bdb2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f60]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44bd4b
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44be47
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44be47
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44be69
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x44be90
cmp eax, 3
je 0x44be90
xor eax, eax
jmp 0x44be95
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44be02
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
mov eax, dword [ebp - 0x24]
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
test eax, eax
je 0x44bf14
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bf11
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x24]
cmp ecx, 0x180e
ja 0x44bf61
je 0x44bfe9
cmp ecx, 0x85
ja 0x44bf48
je 0x44bfe9
cmp ecx, 9
jb case.0x44bf7d.8203
cmp ecx, 0xd
jbe 0x44bfe9
cmp ecx, 0x20
jne case.0x44bf7d.8203
jmp 0x44bfe9
cmp ecx, 0xa0
je 0x44bfe9
cmp ecx, 0x1680
jne case.0x44bf7d.8203
jmp 0x44bfe9
cmp ecx, 0x202f
ja 0x44bf84
je 0x44bfe9
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44bf7d.8203
movzx eax, byte [eax + 0x4508ca]
jmp dword [eax*4 + 0x4508c2]
cmp ecx, 0x205f
je 0x44bfe9
cmp ecx, 0x3000
je 0x44bfe9
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bfb6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp dword [eax*4 + 0x4b99b0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
jmp 0x44bff3
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44bece
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edi
je 0x44c068
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c068
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b4b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44c08e
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x44c0ba
cmp eax, 3
je 0x44c0ba
cmp edx, 0x5f
je 0x44c0ba
xor eax, eax
jmp 0x44c0bf
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
jle 0x44c01d
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x41525c
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44c13a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c13a
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0x4a55e0]
lea eax, [eax*4 + 0x4a55e0]
cmp ecx, edx
jb 0x44c15c
lea eax, [eax + 4]
cmp ecx, edx
je 0x44c17c
mov edx, dword [eax]
cmp ecx, edx
jae 0x44c14f
cmp dword [ebp - 0x38], 0
je case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0x44c0f5
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
jmp 0x44c166
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44d00c
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44c1de
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c1de
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x24
je 0x44c209
cmp ecx, 0x40
je 0x44c209
cmp ecx, 0x60
je 0x44c209
cmp ecx, 0xa0
jb 0x44c1fd
cmp ecx, 0xd7ff
jbe 0x44c209
cmp ecx, 0xe000
jae 0x44c209
xor eax, eax
jmp 0x44c20e
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c199
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
jmp 0x41525c
cmp edi, 0x16
jne 0x44c3c1
mov edi, dword [ebp - 8]
mov dword [ebp - 0x20], 1
cmp edx, 1
jl 0x41525c
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x28], eax
cmp edi, eax
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44c295
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c295
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c2b7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx ecx, byte [eax*8 + 0x4a3f62]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44c37e
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44c319
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c319
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c33b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx ecx, byte [eax*8 + 0x4a3f62]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a6810], eax
je 0x44c372
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x28]
cmp edi, eax
jb 0x44c2dc
jmp 0x44c375
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44c3a7
cmp edi, eax
jb 0x44c3a7
cmp edi, dword [esi + 0x88]
jbe 0x44c3a7
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, edx
jle 0x44c24b
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
cmp dword [ebp - 0x24], 0
lea ecx, [edi - 6]
je 0x44caee
cmp ecx, 0xf
ja case.default.0x44a277
jmp dword [ecx*4 + 0x4508f6]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c227
lea eax, [edi + 2]
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44eee5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44c4a8
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
mov edx, dword [ebp - 0x20]
cmp dword [esi + 0x8c], 0
je 0x44c461
cmp edx, dword [esi + 0x7c]
jb 0x44c461
cmp dword [esi + 0x18], 0
jne 0x44c461
cmp dword [esi + 0x1c], 2
jne 0x44c461
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c461
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
cmp edi, dword [esi + 0x7c]
jae 0x44c493
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44c493
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0xc]
jle 0x44c3f7
jmp 0x44c221
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44c427
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c427
cmp edx, 1
je case.0x414bd5.157
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
jmp 0x44c42a
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44eee5
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44c530
mov ax, word [edi]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xdc00
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0xc]
jne 0x44c530
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jle 0x44c4fa
jmp 0x44c221
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja case.0x414bd5.157
mov eax, dword [ebp - 0x2c]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44c227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c227
mov edx, dword [esi + 0x7c]
cmp edi, edx
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c5ae
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0xd
ja 0x44c5da
je 0x44c5c8
cmp ecx, 0xa
je 0x44c5fb
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414bd5.157
jmp 0x44c5f1
cmp edi, edx
jae 0x44c5fb
cmp word [edi], 0xa
jne 0x44c5fb
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44c5fb
cmp ecx, 0x85
je 0x44c5f1
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44c570
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c660
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 0x44c69e
je case.0x414bd5.157
cmp ecx, 0xa0
ja 0x44c690
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp 0x44c6da
cmp ecx, 0x1680
je case.0x414bd5.157
jmp 0x44c6da
cmp ecx, 0x205f
ja 0x44c6ce
je case.0x414bd5.157
cmp ecx, 0x2000
jb 0x44c6da
cmp ecx, 0x200a
jbe case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp 0x44c6da
cmp ecx, 0x3000
je case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c621
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c739
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 0x44c76b
je 0x44c7a3
cmp ecx, 0xa0
ja 0x44c75d
je 0x44c7a3
cmp ecx, 9
je 0x44c7a3
cmp ecx, 0x20
jne case.0x414bd5.157
jmp 0x44c7a3
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp 0x44c7a3
cmp ecx, 0x205f
ja 0x44c797
je 0x44c7a3
cmp ecx, 0x2000
jb case.0x414bd5.157
cmp ecx, 0x200a
jbe 0x44c7a3
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp 0x44c7a3
cmp ecx, 0x3000
jne case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c6fa
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c802
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 0x44c820
je case.0x414bd5.157
cmp ecx, 0xa
jb 0x44c834
cmp ecx, 0xd
jbe case.0x414bd5.157
jmp 0x44c834
cmp ecx, 0x2028
jb 0x44c834
cmp ecx, 0x2029
jbe case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c7c3
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c88f
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 0x44c8a7
je 0x44c8b6
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414bd5.157
jmp 0x44c8b6
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c850
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c911
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x80
jae 0x44c926
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44c8d2
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c942
jmp 0x44c221
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c227
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44eee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44c9b4
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44c9dc
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44c9dc
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44c991
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44c9fd
jmp 0x44c221
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c227
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44eee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44ca6f
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44ca97
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44ca97
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0x44ca4c
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cab8
jmp 0x44c221
cmp ecx, 0xf
ja case.default.0x44a277
jmp dword [ecx*4 + 0x450936]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0x44c227
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44eee5
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44cb3e
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
jmp 0x44cb6a
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44cb6a
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44cb6a
cmp edx, 1
je case.0x414bd5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
cmp dword [esi + 0x8c], 0
je 0x44cba4
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44cba4
cmp dword [esi + 0x18], 0
jne 0x44cba4
cmp dword [esi + 0x1c], 2
jne 0x44cba4
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44cba4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov edx, dword [ebp - 0x14]
add edi, 2
inc edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0xc]
jle 0x44cb11
jmp 0x44c221
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x44eee5
mov eax, dword [ebp - 0x2c]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x44c227
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44eee5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
jg 0x44cc30
je 0x44cc1e
cmp eax, 0xa
je 0x44cc4f
add eax, 0xfffffff5
cmp eax, 1
ja case.0x414bd5.157
jmp 0x44cc45
cmp edi, ecx
jae 0x44cc4f
cmp word [edi], 0xa
jne 0x44cc4f
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44cc4f
cmp eax, 0x85
je 0x44cc45
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44cbf3
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44ccbb
je case.0x414bd5.157
cmp ecx, 0xa0
jg 0x44ccad
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp 0x44ccf7
cmp ecx, 0x1680
je case.0x414bd5.157
jmp 0x44ccf7
cmp ecx, 0x205f
jg 0x44cceb
je case.0x414bd5.157
cmp ecx, 0x2000
jl 0x44ccf7
cmp ecx, 0x200a
jle case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp 0x44ccf7
cmp ecx, 0x3000
je case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44cc6b
jmp 0x44c224
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0x44cd5b
je 0x44cd93
cmp ecx, 0xa0
jg 0x44cd4d
je 0x44cd93
cmp ecx, 9
je 0x44cd93
cmp ecx, 0x20
jne case.0x414bd5.157
jmp 0x44cd93
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp 0x44cd93
cmp ecx, 0x205f
jg 0x44cd87
je 0x44cd93
cmp ecx, 0x2000
jl case.0x414bd5.157
cmp ecx, 0x200a
jle 0x44cd93
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp 0x44cd93
cmp ecx, 0x3000
jne case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44cd17
jmp 0x44c224
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
jg 0x44cde3
je case.0x414bd5.157
cmp ecx, 0xa
jl 0x44cdf7
cmp ecx, 0xd
jle case.0x414bd5.157
jmp 0x44cdf7
cmp ecx, 0x2028
jl 0x44cdf7
cmp ecx, 0x2029
jle case.0x414bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44cdb3
jmp 0x44c224
mov edi, dword [ebp - 8]
mov ecx, 1
cmp edx, ecx
jl 0x44c227
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
jg 0x44ce3b
je 0x44ce49
add eax, 0xfffffff6
cmp eax, 3
ja case.0x414bd5.157
jmp 0x44ce49
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x414bd5.157
inc ecx
cmp ecx, edx
jle 0x44ce12
mov eax, dword [ebp - 0x2c]
jmp 0x44c227
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44ce8c
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44ce67
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x414bd5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44ceae
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44cf1e
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cef9
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x414bd5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cf40
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44cfb0
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cf8b
jmp 0x44c221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0x44c224
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x414bd5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0x44cfd2
jmp 0x44c221
mov edx, dword [ebp - 0xc]
jmp 0x41525c
mov eax, edi
mov dword [ebp - 0x10], eax
test ecx, ecx
js 0x44d8ab
cmp ecx, 0xa
ja case.default.0x44a277
jmp dword [ecx*4 + 0x450976]
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov eax, dword [ebp - 0x18]
mov ecx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d08a
cmp dword [ebp - 0x24], 0
je 0x44d070
mov ax, word [edi]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xd800
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jne 0x44d070
mov ecx, 2
cmp dword [ebp - 0x38], 0
jne 0x44d843
inc edx
lea edi, [edi + ecx*2]
mov dword [ebp - 8], edi
cmp edx, eax
jl 0x44d03d
jmp 0x44d843
cmp dword [esi + 0x8c], 0
je 0x44d843
cmp edi, dword [esi + 0x88]
jbe 0x44d843
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jle 0x44d843
jmp 0x44973f
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44d17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d108
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d108
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d12a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp eax, 9
je 0x44d14f
cmp eax, 5
je 0x44d14f
cmp eax, 8
je 0x44d14f
xor eax, eax
jmp 0x44d154
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d0c0
jmp 0x44d843
cmp dword [esi + 0x8c], 0
je 0x44d843
cmp edi, dword [esi + 0x88]
jbe 0x44d843
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44d843
jmp 0x44973f
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44d17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d1fa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d1fa
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d21c
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp dword [eax*4 + 0x4b99b0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d1b6
jmp 0x44d843
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44d17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d2b5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d2b5
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d2d7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d26d
jmp 0x44d843
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44d17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d369
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d369
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d38b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f60]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d321
jmp 0x44d843
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44d17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d41d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d41d
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d43f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x44d466
cmp eax, 3
je 0x44d466
xor eax, eax
jmp 0x44d46b
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d3d5
jmp 0x44d843
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov eax, 1
mov dword [ebp - 0x28], eax
cmp edi, dword [esi + 0x7c]
jae 0x44d5e1
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d4ea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d4e7
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x28], eax
jmp 0x44d4ea
mov eax, dword [ebp - 0x28]
cmp ecx, 0x180e
ja 0x44d537
je 0x44d5bf
cmp ecx, 0x85
ja 0x44d51e
je 0x44d5bf
cmp ecx, 9
jb case.0x44d553.8203
cmp ecx, 0xd
jbe 0x44d5bf
cmp ecx, 0x20
jne case.0x44d553.8203
jmp 0x44d5bf
cmp ecx, 0xa0
je 0x44d5bf
cmp ecx, 0x1680
jne case.0x44d553.8203
jmp 0x44d5bf
cmp ecx, 0x202f
ja 0x44d55a
je 0x44d5bf
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44d553.8203
movzx eax, byte [eax + 0x4509aa]
jmp dword [eax*4 + 0x4509a2]
cmp ecx, 0x205f
je 0x44d5bf
cmp ecx, 0x3000
je 0x44d5bf
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d58c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp dword [eax*4 + 0x4b99b0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44d843
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc]
jmp 0x44d5c9
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x38], 0
jne 0x44d843
inc edx
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x18]
jl 0x44d49b
jmp 0x44d843
cmp dword [esi + 0x8c], 0
je 0x44d843
cmp edi, dword [esi + 0x88]
jbe 0x44d843
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0x44d843
jmp 0x44973f
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov dword [ebp - 0x28], 1
cmp edi, dword [esi + 0x7c]
jae 0x44d17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], ecx
je 0x44d665
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d665
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x28], 2
add ecx, 0x10000
mov dword [ebp - 0x14], ecx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b4b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44d68b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x44d6b7
cmp eax, 3
je 0x44d6b7
cmp edx, 0x5f
je 0x44d6b7
xor eax, eax
jmp 0x44d6bc
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d843
mov eax, dword [ebp - 0x28]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d617
jmp 0x44d843
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0x44d17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d734
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d734
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0x4a55e0]
lea eax, [eax*4 + 0x4a55e0]
cmp ecx, edx
jb 0x44d756
lea eax, [eax + 4]
cmp ecx, edx
je 0x44d77e
mov edx, dword [eax]
cmp ecx, edx
jae 0x44d749
cmp dword [ebp - 0x38], 0
je 0x44d843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d6ec
jmp 0x44d843
cmp dword [ebp - 0x38], 0
je 0x44d760
jmp 0x44d843
cmp edx, dword [ebp - 0x18]
jge 0x44d846
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44d823
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0x44d7d6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d7d6
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x24
je 0x44d801
cmp ecx, 0x40
je 0x44d801
cmp ecx, 0x60
je 0x44d801
cmp ecx, 0xa0
jb 0x44d7f5
cmp ecx, 0xd7ff
jbe 0x44d801
cmp ecx, 0xe000
jae 0x44d801
xor eax, eax
jmp 0x44d806
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44d843
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d792
jmp 0x44d843
cmp dword [esi + 0x8c], 0
je 0x44d843
cmp edi, dword [esi + 0x88]
jbe 0x44d843
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x44973f
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414e30
cmp edi, eax
jbe 0x414d15
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
je 0x44d8a1
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d8a1
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x44d858
jmp 0x414d15
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x16
jne 0x44daa2
cmp edx, dword [ebp - 0x18]
jge 0x44da56
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x28], eax
cmp edi, eax
jae 0x44da2e
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0x44d90a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d90a
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d92c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx ecx, byte [eax*8 + 0x4a3f62]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44d9f3
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0x44d98e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d98e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d9b0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx ecx, byte [eax*8 + 0x4a3f62]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a6810], eax
je 0x44d9e7
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x28]
cmp edi, eax
jb 0x44d951
jmp 0x44d9ea
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44da1c
cmp edi, eax
jb 0x44da1c
cmp edi, dword [esi + 0x88]
jbe 0x44da1c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44d8c0
jmp 0x44da53
cmp dword [esi + 0x8c], 0
je 0x44da53
cmp edi, dword [esi + 0x88]
jbe 0x44da53
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0x414e30
cmp edi, eax
jbe 0x414d15
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
jne 0x44e845
movzx ecx, word [edi]
jmp 0x44e88b
cmp dword [ebp - 0x24], 0
lea eax, [ecx - 6]
je 0x44e202
cmp eax, 0xf
ja case.default.0x44a277
jmp dword [eax*4 + 0x4509d6]
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
lea eax, [edi + 2]
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44dc19
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44db7f
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne 0x44e17d
mov edx, dword [ebp - 0x20]
cmp dword [esi + 0x8c], 0
je 0x44db38
cmp edx, dword [esi + 0x7c]
jb 0x44db38
cmp dword [esi + 0x18], 0
jne 0x44db38
cmp dword [esi + 0x1c], 2
jne 0x44db38
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44db38
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
cmp edi, dword [esi + 0x7c]
jae 0x44db6a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44db6a
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44dace
jmp 0x44e17d
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44dafe
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44dafe
cmp edx, 1
je 0x44e17d
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44db01
jmp 0x44e17d
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x7fffffff
jge 0x44dc0f
cmp edx, ecx
jge 0x44e17d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0x18]
cmp edi, ecx
jae 0x44dc19
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44dc05
mov ax, word [edi]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xdc00
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jne 0x44dc05
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jl 0x44dbd3
jmp 0x44e17d
mov edi, dword [esi + 0x7c]
jmp 0x44dc16
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44e17d
cmp edi, dword [esi + 0x88]
jbe 0x44e17d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44e17d
jmp 0x44973f
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub dword [ebp - 0x18], edx
sub eax, edi
mov edx, dword [ebp - 0x18]
sar eax, 1
cmp edx, eax
ja 0x44dc14
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44e17d
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
mov eax, dword [esi + 0x7c]
mov edx, 1
cmp edi, eax
jae 0x44dd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dcb2
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 0x44dcd3
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x44e17d
cmp word [edi], 0xa
jne 0x44dd11
add edi, 2
jmp 0x44dd0e
cmp ecx, 0xa
je 0x44dd08
cmp dword [esi + 0x6c], 0
jne 0x44e17d
cmp ecx, 0xb
je 0x44dd08
cmp ecx, 0xc
je 0x44dd08
cmp ecx, 0x85
je 0x44dd08
cmp ecx, 0x2028
je 0x44dd08
cmp ecx, 0x2029
jne 0x44e17d
mov eax, dword [esi + 0x7c]
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x18]
jl 0x44dc75
jmp 0x44e17d
cmp dword [esi + 0x8c], 0
je 0x44e17d
cmp edi, dword [esi + 0x88]
jbe 0x44e17d
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jle 0x44e17d
jmp 0x44973f
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dd96
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 0x44ddeb
je 0x44ddb4
cmp ecx, 0xa0
ja 0x44dde1
je 0x44ddb4
cmp ecx, 9
je 0x44ddb4
cmp ecx, 0x20
jne 0x44de17
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x1c], 0x12
sete al
cmp ecx, eax
je 0x44e17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44dd5c
jmp 0x44e17d
cmp ecx, 0x1680
jne 0x44de17
jmp 0x44ddb4
cmp ecx, 0x205f
ja 0x44de0f
je 0x44ddb4
cmp ecx, 0x2000
jb 0x44de17
cmp ecx, 0x200a
jbe 0x44ddb4
cmp ecx, 0x202f
jne 0x44de17
jmp 0x44ddb4
cmp ecx, 0x3000
je 0x44ddb4
xor ecx, ecx
jmp 0x44ddb9
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44de62
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 0x44dea0
je 0x44deab
cmp ecx, 0xa
jb 0x44de76
cmp ecx, 0xd
jbe 0x44deab
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x1c], 0x14
sete al
cmp ecx, eax
je 0x44e17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44de24
jmp 0x44e17d
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x44de76
mov ecx, 1
jmp 0x44de78
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44def9
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44df0e
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44e17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44debb
jmp 0x44e17d
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44df6c
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44e17d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44e17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44df2e
jmp 0x44e17d
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dfe3
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44dff8
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44e17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44dfa5
jmp 0x44e17d
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e056
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44e17d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44e17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44e018
jmp 0x44e17d
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44dd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e0cd
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44e0e2
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44e17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44e08f
jmp 0x44e17d
cmp edx, dword [ebp - 0x18]
jge 0x44e17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44e15d
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e138
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44e17d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44e17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44e0fe
jmp 0x44e17d
cmp dword [esi + 0x8c], 0
je 0x44e17d
cmp edi, dword [esi + 0x88]
jbe 0x44e17d
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0x44973f
cmp dword [ebp - 0x34], 0
jne 0x414e30
cmp edi, dword [ebp - 0x10]
jbe 0x414d15
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e1d5
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x1c], 0x11
mov ecx, dword [ebp - 0x10]
jne 0x44e1f9
cmp edi, ecx
jbe 0x414d15
cmp word [edi], 0xa
jne 0x44e1f9
cmp word [edi - 2], 0xd
jne 0x44e1f9
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
ja 0x44e190
jmp 0x414d15
cmp eax, 0xf
ja case.default.0x44a277
jmp dword [eax*4 + 0x450a16]
cmp edx, dword [ebp - 0x18]
jge 0x44e6df
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e2e0
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44e247
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
je 0x44e273
jmp 0x44e6df
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44e273
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44e273
cmp edx, 1
je 0x44e6df
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44e6df
cmp dword [esi + 0x8c], 0
je 0x44e2ad
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44e2ad
cmp dword [esi + 0x18], 0
jne 0x44e2ad
cmp dword [esi + 0x1c], 2
jne 0x44e2ad
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44e2ad
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0x44e21b
jmp 0x44e6df
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub dword [ebp - 0x18], edx
sub eax, edi
mov edx, dword [ebp - 0x18]
sar eax, 1
cmp edx, eax
jbe 0x44e312
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44e6df
cmp edi, dword [esi + 0x88]
jbe 0x44e6df
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44e6df
jmp 0x44973f
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44e6df
cmp edx, dword [ebp - 0x18]
jge 0x44e6df
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44e2e0
movzx eax, word [edi]
cmp eax, 0xd
jne 0x44e34b
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44e6df
cmp word [edi], 0xa
je 0x44e37d
jmp 0x44e383
cmp eax, 0xa
je 0x44e37d
cmp dword [esi + 0x6c], 0
jne 0x44e6df
cmp eax, 0xb
je 0x44e37d
cmp eax, 0xc
je 0x44e37d
cmp eax, 0x85
je 0x44e37d
cmp eax, 0x2028
je 0x44e37d
cmp eax, 0x2029
jne 0x44e6df
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x44e329
jmp 0x44e6df
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e2e0
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44e3de
je 0x44e6df
cmp eax, 0xa0
jg 0x44e3d2
je 0x44e6df
cmp eax, 9
je 0x44e6df
cmp eax, 0x20
jne 0x44e414
jmp 0x44e6df
cmp eax, 0x1680
jne 0x44e414
jmp 0x44e6df
cmp eax, 0x205f
jg 0x44e409
je 0x44e6df
cmp eax, 0x2000
jl 0x44e414
cmp eax, 0x200a
jle 0x44e6df
cmp eax, 0x202f
jne 0x44e414
jmp 0x44e6df
cmp eax, 0x3000
je 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44e399
jmp 0x44e6df
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e2e0
movzx eax, word [edi]
cmp eax, 0x180e
jg 0x44e46c
je 0x44e49e
cmp eax, 0xa0
jg 0x44e460
je 0x44e49e
cmp eax, 9
je 0x44e49e
cmp eax, 0x20
je 0x44e49e
jmp 0x44e6df
cmp eax, 0x1680
je 0x44e49e
jmp 0x44e6df
cmp eax, 0x205f
jg 0x44e493
je 0x44e49e
cmp eax, 0x2000
jl 0x44e6df
cmp eax, 0x200a
jle 0x44e49e
cmp eax, 0x202f
je 0x44e49e
jmp 0x44e6df
cmp eax, 0x3000
jne 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44e433
jmp 0x44e6df
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e2e0
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44e4e1
je 0x44e6df
cmp eax, 0xa
jl 0x44e4f3
cmp eax, 0xd
jg 0x44e4f3
jmp 0x44e6df
cmp eax, 0x2028
jl 0x44e4f3
cmp eax, 0x2029
jle 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44e4b9
jmp 0x44e6df
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e2e0
movzx eax, word [edi]
cmp eax, 0x85
jg 0x44e530
je 0x44e53e
add eax, 0xfffffff6
cmp eax, 3
jbe 0x44e53e
jmp 0x44e6df
add eax, 0xffffdfd8
cmp eax, 1
ja 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0x44e50e
jmp 0x44e6df
cmp edx, dword [ebp - 0x18]
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e57c
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e557
jmp 0x44e6df
cmp edx, dword [ebp - 0x18]
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e6df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e596
jmp 0x44e6df
cmp edx, dword [ebp - 0x18]
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e5fe
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e5d9
jmp 0x44e6df
cmp edx, dword [ebp - 0x18]
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e6df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e618
jmp 0x44e6df
cmp edx, dword [ebp - 0x18]
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e67c
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e65b
jmp 0x44e6df
cmp edx, dword [ebp - 0x18]
jge 0x44e6df
cmp edi, dword [esi + 0x7c]
jae 0x44e6ba
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44e6df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44e6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0x44e68f
jmp 0x44e6df
cmp dword [esi + 0x8c], 0
je 0x44e6df
cmp edi, dword [esi + 0x88]
jbe 0x44e6df
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
cmp dword [ebp - 0x34], 0
jne 0x414e30
cmp edi, dword [ebp - 0x10]
je 0x414d15
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov ecx, dword [ebp - 0x10]
sub edi, 2
cmp dword [ebp - 0x1c], 0x11
mov dword [ebp - 8], edi
jne 0x44e73b
cmp edi, ecx
jbe 0x44e73d
cmp word [edi], 0xa
jne 0x44e73b
cmp word [edi - 2], 0xd
jne 0x44e73b
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
jne 0x44e6f2
jmp 0x414d15
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 0x44e773
lea edx, [ebx + 4]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov ebx, dword [ebp - 0x14]
jmp 0x414d12
mov edx, dword [ebp - 0x14]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
add ebx, 4
jmp 0x414d12
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
jne 0x44e7fd
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov ebx, dword [ebp - 0x20]
mov ecx, 0x81
movzx eax, word [ebx]
cmp ax, cx
je 0x44ea5a
mov ecx, 0x88
cmp ax, cx
jb 0x414d12
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.00414b50
add esp, 0x14
jmp 0x414ccd
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00414b50
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x44e824
mov ecx, dword [ebp - 0x20]
cmp dword [esi + 0xb8], ecx
jne 0x414ccd
jmp 0x44e82f
test eax, eax
jne 0x414ccd
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x44ea8d
add ebx, 4
jmp 0x414d12
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e860
sub edi, 2
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e88b
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e8ad
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f62]
mov dword [ebp - 0x28], eax
cmp edi, dword [ebp - 0x10]
jbe 0x414d15
cmp dword [ebp - 0x24], 0
lea edx, [edi - 2]
mov dword [ebp - 0x14], edx
jne 0x44e8dc
movzx ecx, word [edx]
jmp 0x44e922
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44e8f7
sub edx, 2
mov dword [ebp - 0x14], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e922
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e944
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x28]
movzx eax, word [eax*2 + 0x4a6850]
movzx edx, byte [eax*8 + 0x4a3f62]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a6810], eax
je 0x44da68
mov edi, dword [ebp - 0x14]
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
jmp 0x44e8c2
mov dword [esi + 0x9c], 2
jmp 0x415492
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x450544
cmp word [ebx], 0x77
je 0x4154e1
cmp word [eax], 0x77
jne 0x450544
jmp 0x4154e1
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a6760]
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x414ccd
mov eax, dword [ebp - 0x54]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je case.0x414bd5.157
push eax
call dword [0x4a6758]
add esp, 4
jmp case.0x414bd5.157
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44ea49
push eax
call dword [0x4a6758]
add esp, 4
jmp 0x44ea49
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0xb0], ecx
mov eax, edi
jmp 0x414ccd
mov eax, 0xfffffffa
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov dword [esi + 0xb8], ebx
mov eax, 0xfffffc1b
jmp 0x414ccd
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x20]
mov dword [esi + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x414ccd
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x90], eax
mov eax, 0xfffffc1a
jmp 0x414ccd
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 0x414cc8
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp eax, dword [esi + 0x88]
jmp 0x44eb59
cmp ecx, dword [esi + 0x88]
jbe case.0x414bd5.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414bd5.157
mov eax, 0xfffffff4
jmp 0x414ccd
mov eax, 0xfffffff2
jmp 0x414ccd
cmp eax, 0xfffffffe
jne 0x44eb8f
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jb case.0x414bd5.157
cmp edi, dword [esi + 0x88]
jmp 0x44eb59
mov dword [ebp - 0x14], eax
cmp edi, edx
jl 0x44ebbb
mov edi, eax
jmp 0x44ec20
mov eax, dword [ebp - 8]
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.0048e87e
add esp, 0xc
test eax, eax
js 0x44ebe5
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 0x20]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edi, dword [ebp - 0x1c]
jl 0x44ebb8
jmp 0x44ec15
cmp eax, 0xfffffffe
jne 0x44ec12
cmp dword [esi + 0x8c], 0
je 0x44ec12
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x44ec12
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x14]
cmp edx, edi
jb case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
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 0x44ec20
xor eax, eax
jmp 0x414ccd
cmp ecx, 0xfffffffe
jne 0x44ec67
mov eax, dword [esi + 0x7c]
jmp 0x44ec6a
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp eax, dword [esi + 0x7c]
jb case.0x414bd5.157
jmp 0x44eb4b
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x2c]
je case.0x414bd5.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44ecab
sub edi, 2
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44ec85
jmp 0x414ccd
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.00414b50
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44edbd
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x414bd5.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44eda5
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ed4b
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 0x44ed5e
cmp edi, 0x6e
je case.0x414bd5.157
jmp 0x44ed7c
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
je case.0x414bd5.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44ecfd
jmp 0x414ccd
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp ecx, dword [esi + 0x88]
jmp 0x44eb59
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0x414bd5.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44eb3e
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44edf9
cmp edi, 0x6e
je case.0x414bd5.157
jmp 0x44ee14
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
inc dword [ebp - 0x10]
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44edc5
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x20], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x24]
test edx, edx
je 0x44eeaa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44eeaa
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
push edx
mov edx, dword [ebp - 0x28]
call fcn.0048eba7
add esp, 4
test eax, eax
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x20]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44ee62
jmp 0x414ccd
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp edi, dword [esi + 0x88]
jmp 0x44eb59
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp edx, dword [esi + 0x7c]
jb case.0x414bd5.157
cmp edx, dword [esi + 0x88]
jmp 0x44eb59
mov ecx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414bd5.157
cmp ecx, dword [esi + 0x7c]
jb case.0x414bd5.157
jmp 0x44eb53
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + edx]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x414bd5.157
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44ef99
lea eax, [edx + edx]
push eax
push dword [ebp - 0x14]
push edi
call fcn.00421f94
add esp, 0xc
test eax, eax
jne 0x44ef99
add edi, dword [ebp - 0x28]
jmp 0x44efd3
mov edx, dword [ebp - 0x20]
test edx, edx
jle 0x44eb8f
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
sub eax, ecx
cmp edi, eax
ja 0x44eb8f
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x68]
push eax
push edi
call fcn.00421f94
add esp, 0xc
test eax, eax
jne 0x44eb8f
mov ecx, dword [ebp - 0x20]
lea edi, [edi + ecx*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
mov ecx, dword [ebp - 0x28]
add esp, 0x14
mov edx, dword [ebp - 0x1c]
test eax, eax
je 0x44ef6b
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
cmp dword [ebp - 0xc], ecx
je 0x44f050
cmp dword [ebp - 0x1c], ecx
jne case.0x414bd5.157
inc eax
add edi, 2
mov dword [ebp - 0x10], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f02a
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0xc], eax
jne case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x10], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f09e
jmp 0x414ccd
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.00414b50
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44f199
test eax, eax
jne 0x414ccd
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f15f
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0xc], ecx
je case.0x414bd5.157
cmp dword [ebp - 0x20], ecx
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0x10], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f11a
jmp 0x414ccd
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
cmp dword [ebp - 0xc], ecx
je case.0x414bd5.157
cmp dword [ebp - 0x20], ecx
je case.0x414bd5.157
inc eax
add edi, 2
mov dword [ebp - 0x10], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f1a1
jmp 0x414ccd
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.00414b50
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0x44f295
test eax, eax
jne 0x414ccd
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f264
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0xc], ecx
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0x10], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f21f
jmp 0x414ccd
test eax, eax
jne 0x414ccd
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0xc], eax
je case.0x414bd5.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x10], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414b50
add esp, 0x14
test eax, eax
je 0x44f29d
jmp 0x414ccd
cmp ecx, 0xa
ja case.default.0x44a277
jmp dword [ecx*4 + 0x450a56]
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f34c
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f34c
add edi, 2
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44f31c
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f3ec
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f3ec
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f40e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp eax, 9
je 0x44f433
cmp eax, 5
je 0x44f433
cmp eax, 8
je 0x44f433
xor eax, eax
jmp 0x44f438
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44f3a1
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f4da
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f4da
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f4fc
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp dword [eax*4 + 0x4b99b0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44f48f
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f5bf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f5bf
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f5e1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44f574
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f69d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f69d
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f6bf
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f60]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44f652
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f77b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f77b
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f79d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x44f7c4
cmp eax, 3
je 0x44f7c4
xor eax, eax
jmp 0x44f7c9
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44f730
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44f86e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f86b
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, dword [ebp - 0xc]
cmp ecx, 0x180e
ja 0x44f8bb
je 0x44f940
cmp ecx, 0x85
ja 0x44f8a2
je 0x44f940
cmp ecx, 9
jb case.0x44f8d7.8203
cmp ecx, 0xd
jbe 0x44f940
cmp ecx, 0x20
jne case.0x44f8d7.8203
jmp 0x44f940
cmp ecx, 0xa0
je 0x44f940
cmp ecx, 0x1680
jne case.0x44f8d7.8203
jmp 0x44f940
cmp ecx, 0x202f
ja 0x44f8de
je 0x44f940
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44f8d7.8203
movzx eax, byte [eax + 0x450a8a]
jmp dword [eax*4 + 0x450a82]
cmp ecx, 0x205f
je 0x44f940
cmp ecx, 0x3000
je 0x44f940
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44f910
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
cmp dword [eax*4 + 0x4b99b0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414bd5.157
mov eax, dword [ebp - 0xc]
jmp 0x44f94a
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44f820
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
je 0x44f9ea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44f9ea
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x14], ecx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0x4b4b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44fa10
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a6850]
movzx eax, byte [eax*8 + 0x4a3f61]
mov eax, dword [eax*4 + 0x4b99b0]
cmp eax, 1
je 0x44fa3c
cmp eax, 3
je 0x44fa3c
cmp edx, 0x5f
je 0x44fa3c
xor eax, eax
jmp 0x44fa41
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44f999
jmp 0x414ccd
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44fae3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44fae3
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0x4a55e0]
lea eax, [eax*4 + 0x4a55e0]
cmp ecx, edx
jb 0x44fb05
lea eax, [eax + 4]
cmp ecx, edx
je 0x44fb3a
mov edx, dword [eax]
cmp ecx, edx
jae 0x44faf8
cmp dword [ebp - 0x38], 0
je case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44fa98
jmp 0x414ccd
cmp dword [ebp - 0x38], 0
jne case.0x414bd5.157
jmp 0x44fb0f
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.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44fbb4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44fbb4
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp ecx, 0x24
je 0x44fbdf
cmp ecx, 0x40
je 0x44fbdf
cmp ecx, 0x60
je 0x44fbdf
cmp ecx, 0xa0
jb 0x44fbd3
cmp ecx, 0xd7ff
jbe 0x44fbdf
cmp ecx, 0xe000
jae 0x44fbdf
xor eax, eax
jmp 0x44fbe4
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x44fb69
jmp 0x414ccd
test eax, eax
jne 0x414ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0x414bd5.157
cmp edi, dword [esi + 0x7c]
jae 0x44eee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0x44fc6c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44fc6c
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44fc8e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx ecx, byte [eax*8 + 0x4a3f62]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0x44fd4e
mov ebx, ecx
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
je 0x44fcef
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44fcef
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b4b50]
shl eax, 7
and ecx, 0x8000007f
jns 0x44fd11
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a6850]
movzx ecx, byte [eax*8 + 0x4a3f62]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4a6810], eax
je 0x44fd48
mov eax, dword [ebp - 0x14]
mov ebx, ecx
lea edi, [edi + eax*2]
mov eax, dword [esi + 0x7c]
cmp edi, eax
jb 0x44fcb0
jmp 0x44fd4b
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
je 0x44fd77
cmp edi, eax
jb 0x44fd77
cmp edi, dword [esi + 0x88]
jbe 0x44fd77
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
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.00414b50
add esp, 0x14
test eax, eax
je 0x44fc21
jmp 0x414ccd
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x4152f2
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x4152f2
cmp edx, 1
je case.0x414bd5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
jmp 0x4152f2
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
jmp 0x41530d
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x44a277
jmp dword [eax*4 + 0x450ab6]
cmp ecx, 0xd
ja 0x44fe48
je 0x44fe2d
cmp ecx, 0xa
je case.0x44fe08.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414bd5.157
jmp 0x44fe5f
cmp edi, dword [esi + 0x7c]
jae case.0x44fe08.13
cmp word [edi], 0xa
jne case.0x44fe08.13
add edi, 2
jmp case.0x44fe08.13
cmp ecx, 0x85
je 0x44fe5f
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x180e
ja 0x44feb2
je case.0x414bd5.157
cmp ecx, 0xa0
ja 0x44fea1
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x1680
je case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x205f
ja 0x44fee9
je case.0x414bd5.157
cmp ecx, 0x2000
jb case.0x44fe08.13
cmp ecx, 0x200a
jbe case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x3000
je case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x180e
ja 0x44ff3e
je case.0x44fe08.13
cmp ecx, 0xa0
ja 0x44ff2d
je case.0x44fe08.13
cmp ecx, 9
je case.0x44fe08.13
cmp ecx, 0x20
jne case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x205f
ja 0x44ff75
je case.0x44fe08.13
cmp ecx, 0x2000
jb case.0x414bd5.157
cmp ecx, 0x200a
jbe case.0x44fe08.13
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x3000
jne case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x85
ja 0x44ffab
je case.0x414bd5.157
cmp ecx, 0xa
jb case.0x44fe08.13
cmp ecx, 0xd
jbe case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x2028
jb case.0x44fe08.13
cmp ecx, 0x2029
jbe case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x85
ja 0x44ffe7
je case.0x44fe08.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414bd5.157
jmp case.0x44fe08.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x100
jae case.0x44fe08.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x100
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x100
jae case.0x44fe08.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x100
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x100
jae case.0x44fe08.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
jmp case.0x44fe08.13
cmp ecx, 0x100
jae case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.157
jmp case.0x44fe08.13
cmp edi, dword [esi + 0x7c]
jb case.0x44fe08.13
cmp dword [esi + 0x18], 0
jne case.0x44fe08.13
cmp dword [esi + 0x1c], 2
jne case.0x44fe08.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44fe08.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
jmp case.0x44fe08.13
test eax, eax
jne 0x414ccd
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x414bd5.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44eee5
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0x45016c
mov edx, dword [esi + 0x18]
test edx, edx
je 0x45013a
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.0041602f
add esp, 0xc
test eax, eax
jne case.0x414bd5.157
jmp 0x450166
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x450166
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x450166
cmp edx, 1
je case.0x414bd5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x414bd5.157
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xc]
movzx ecx, word [edi]
add eax, 0xfffffffa
add edi, 2
cmp eax, 0xf
ja case.default.0x44a277
jmp dword [eax*4 + 0x450af6]
cmp dword [esi + 0x8c], 0
je case.0x45017e.13
cmp edi, dword [esi + 0x7c]
jb case.0x45017e.13
cmp dword [esi + 0x18], 0
jne case.0x45017e.13
cmp dword [esi + 0x1c], 2
jne case.0x45017e.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x45017e.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44973f
jmp case.0x45017e.13
cmp ecx, 0xd
ja 0x45020d
je 0x4501f2
cmp ecx, 0xa
je case.0x45017e.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414bd5.157
jmp 0x450224
cmp edi, dword [esi + 0x7c]
jae case.0x45017e.13
cmp word [edi], 0xa
jne case.0x45017e.13
add edi, 2
jmp case.0x45017e.13
cmp ecx, 0x85
je 0x450224
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
cmp dword [esi + 0x6c], 0
jne case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x180e
ja 0x450277
je case.0x414bd5.157
cmp ecx, 0xa0
ja 0x450266
je case.0x414bd5.157
cmp ecx, 9
je case.0x414bd5.157
cmp ecx, 0x20
je case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x1680
je case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x205f
ja 0x4502ae
je case.0x414bd5.157
cmp ecx, 0x2000
jb case.0x45017e.13
cmp ecx, 0x200a
jbe case.0x414bd5.157
cmp ecx, 0x202f
je case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x3000
je case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x180e
ja 0x450303
je case.0x45017e.13
cmp ecx, 0xa0
ja 0x4502f2
je case.0x45017e.13
cmp ecx, 9
je case.0x45017e.13
cmp ecx, 0x20
jne case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x1680
jne case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x205f
ja 0x45033a
je case.0x45017e.13
cmp ecx, 0x2000
jb case.0x414bd5.157
cmp ecx, 0x200a
jbe case.0x45017e.13
cmp ecx, 0x202f
jne case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x3000
jne case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x85
ja 0x450370
je case.0x414bd5.157
cmp ecx, 0xa
jb case.0x45017e.13
cmp ecx, 0xd
jbe case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x2028
jb case.0x45017e.13
cmp ecx, 0x2029
jbe case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0x85
ja 0x4503ac
je case.0x45017e.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414bd5.157
jmp case.0x45017e.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0xff
ja case.0x45017e.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0xff
ja case.0x45017e.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0xff
ja case.0x45017e.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414bd5.157
jmp case.0x45017e.13
cmp ecx, 0xff
ja case.0x414bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414bd5.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.00414b50
add esp, 0x14
test eax, eax
je 0x4500f9
jmp 0x414ccd
mov dword [esi + 0x9c], 2
jmp 0x41519c
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x4151e5
cmp word [ebx], 0x77
je 0x4504b6
cmp word [eax], 0x77
jne 0x4151e5
xor edx, edx
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
je 0x415190
mov eax, dword [esi + 0xc]
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + ebx*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x34]
mov dword [eax + ecx*4], esi
jmp 0x4151e5
cmp edx, 0xfffffc1b
jne 0x450544
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x450536
cmp eax, 0x77
jne 0x45052d
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x45051f
movzx eax, word [ebx + 2]
neg eax
lea ebx, [ebx + eax*2]
mov eax, dword [esi + 0xb8]
sub eax, ebx
neg eax
sbb eax, eax
and edx, eax
mov eax, edx
jmp 0x414ccd
lea eax, [ebx + 4]
mov dword [esi + 0xb4], eax
mov dword [ebp - 0x14], eax
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a6760]
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.00414b50
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x45059f
cmp edi, 0xfffffc19
jne 0x4505ac
cmp dword [esi + 0xb0], 0
je 0x44ea40
cmp edi, 0xfffffc1f
jne 0x44ea49
mov edx, dword [esi + 0x80]
mov ecx, dword [ebp - 0x14]
call fcn.0048ea89
test eax, eax
jne 0x44ea49
jmp 0x4506e3
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 + 0x4a6760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, 0xfffffc1c
jmp 0x414ccd
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 + 0x4a6760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov eax, 0xfffffc1d
jmp 0x414ccd
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 + 0x4a6760]
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.00414b50
add esp, 0x14
cmp eax, 1
je 0x450691
cmp eax, 0xfffffc19
jne 0x4506a0
cmp dword [esi + 0xb0], 0
jne 0x4506a0
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x414ccd
mov eax, 0xfffffc1d
jmp 0x414ccd
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4a6760]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00414b50
add esp, 0x14
test eax, eax
jne 0x414ccd
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x414ccd
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 + 0x4a6760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414b50
add esp, 0x14
jmp 0x450722
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x414ccd
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0x414ccd
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 + 0x4a6760]
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.00414b50
add esp, 0x14
cmp eax, 1
je 0x450786
cmp eax, 0xfffffc19
jne 0x450722
cmp dword [esi + 0xb0], 0
jne 0x450722
jmp 0x45071c
cmp edi, 0x9f
je 0x414cab
cmp dword [esi + 0xa8], 0
jne 0x414cab
cmp dword [esi + 0x60], 0
jne case.0x414bd5.157
cmp dword [esi + 0x64], 0
je 0x414cab
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x414bd5.157
jmp 0x414cab
inc dword [esi]
mov eax, 0xfffffff8
jmp 0x414ccd