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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push ebx
mov ebx, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x24], ebx
push esi
push edi
test ebx, ebx
je 0x447052
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x38], 0
mov eax, dword [esi]
mov ecx, dword [esi + 0x50]
mov dword [ebp - 0x20], ecx
cmp eax, dword [esi + 4]
jae 0x44f190
mov edi, edi
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x414ca4
cmp dword [esi + 0x9c], 2
je 0x447089
lea esp, [esp]
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
cmp edi, 0xa1
ja case.0x414306.98
movzx eax, byte [edi + 0x414dfc]
jmp dword [eax*4 + 0x414cb0]
cmp edi, 0x88
jae 0x44d260
cmp edi, 0x81
je 0x44d260
cmp dword [esi + 0x70], 0
jne 0x414bc2
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x414bc2
movzx eax, word [ebx]
movzx eax, byte [eax + 0x4a4ad0]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x24], ebx
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x4142c0
jmp 0x44f190
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
mov ecx, 0x88
sub edi, eax
mov dword [ebp - 0x18], edi
movzx eax, word [edi]
cmp ax, cx
jae 0x447c82
mov ecx, 0x81
cmp ax, cx
je 0x447c82
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp eax, 0x7d
jb 0x4143ab
mov edx, 0x80
cmp ax, dx
jbe 0x44d3d4
mov edx, 0x82
cmp ax, dx
je 0x44d3d4
mov edx, 0x85
cmp ax, dx
je 0x41474f
mov edx, 0x8a
cmp ax, dx
je 0x41474f
mov edx, 0x86
cmp ax, dx
je 0x41474f
mov edx, 0x8b
cmp ax, dx
je 0x41474f
mov edx, dword [ebp + 0xc]
cmp word [ebx], 0x78
jne 0x447ceb
mov eax, 0x81
cmp word [edi], ax
je 0x44d3a1
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x44f14a
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x414c90
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, word [ebx + 0x22]
lea eax, [ebx + 2]
add ebx, 0x22
mov dword [ebp - 0x28], eax
mov edx, ecx
mov dword [ebp - 0x24], ebx
mov eax, edx
cmp eax, 0x6d
jle 0x414b1d
mov edx, 1
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x448ee5
mov ecx, 1
mov dword [ebp - 0x18], ecx
cmp edx, ecx
jl 0x414617
mov eax, dword [esi + 0x7c]
jmp 0x4144a0
mov edx, dword [ebp - 8]
cmp edx, eax
jae 0x414b0b
mov eax, edx
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x448eb2
cmp edx, 0xff
ja 0x448ed7
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
jne 0x4145ff
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x414527
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x448c0a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x414549
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f42]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x4145e7
mov ebx, eax
jmp 0x414570
cmp dword [ebp - 0x20], 0
mov edi, 1
movzx ecx, word [ebx]
je 0x414590
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x448c2f
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4145b2
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x18]
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx ecx, byte [eax*8 + 0x4a1f42]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a4b80], eax
jne 0x4146c6
mov edi, dword [esi + 0x7c]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
jne 0x448c53
add ebx, 2
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
inc ecx
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x18], ecx
cmp ecx, edx
jle 0x4144a0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x10]
cmp edx, ecx
je 0x4142e0
cmp dword [ebp - 0x2c], 0
jne 0x44d5e2
cmp dword [ebp - 0x20], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], eax
je 0x448fb3
cmp edx, ecx
jge 0x414690
mov eax, dword [ebp - 8]
mov ecx, 1
mov dword [ebp - 0x18], ecx
cmp eax, dword [esi + 0x7c]
jae 0x448f86
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x448f4e
cmp edx, 0xff
ja 0x448f78
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
jne 0x414c49
cmp dword [ebp - 0x30], 0
jne 0x4142e0
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edi, dword [ebp - 0x2c]
jmp 0x44d592
lea ebx, [ebx + edi*2]
mov dword [ebp - 0x18], ecx
mov edi, dword [esi + 0x7c]
cmp ebx, edi
jb 0x414570
jmp 0x4145de
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
cmp dword [ebp - 0x20], 0
je 0x4493be
movzx edi, word [ebx + 2]
add ebx, 2
mov eax, edi
mov edx, 1
and eax, 0xfc00
cmp eax, 0xd800
je 0x44930e
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp edi, 0x80
jae 0x449332
cmp ecx, 0xff
ja 0x414731
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.0x414306.157
add ebx, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
movzx edx, word [edi + 4]
lea eax, [edx + edx]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0xa8]
test eax, eax
jne 0x447c92
mov eax, dword [esi + 0x94]
mov ecx, dword [ebp - 0x3c]
and eax, 0xffff0000
or eax, edx
mov dword [esi + 0x94], eax
cmp ecx, dword [esi + 0x14]
mov ecx, dword [ebp - 0x28]
jge 0x447cb7
mov ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x3c], ecx
jg 0x447cc7
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, edx
mov edx, dword [ebp - 0x3c]
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 edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x28]
cmp edx, eax
jg 0x4143f4
lea edx, [eax + 2]
mov dword [ebp + 0xc], edx
jmp 0x4143f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
je 0x414801
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4489d5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x414827
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x4a4bc0]
cmp eax, 9
jne 0x4489fd
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4a32e0]
lea eax, [eax*4 + 0x4a32e0]
cmp edx, ecx
jb 0x448bfc
lea eax, [eax + 4]
cmp edx, ecx
je 0x41486a
mov ecx, dword [eax]
cmp edx, ecx
jae 0x414858
jmp 0x448bfc
cmp edi, 0x10
jne case.0x414306.157
add ebx, 6
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
cmp dword [ebp - 0x20], 0
je 0x4492df
mov ax, word [ebx + 2]
add ebx, 2
mov ecx, 0xfc00
mov dword [ebp - 0x24], ebx
and ax, cx
mov edx, 1
mov ecx, 0xd800
cmp ax, cx
je 0x414c86
mov eax, dword [esi + 0x7c]
mov edi, dword [ebp - 8]
sub eax, edi
sar eax, 1
cmp edx, eax
jg 0x44d7ff
test edx, edx
jle 0x4142e0
mov cx, word [ebx]
dec edx
mov ax, word [edi]
add ebx, 2
add edi, 2
mov dword [ebp - 0x24], ebx
mov dword [ebp - 8], edi
cmp cx, ax
jne case.0x414306.157
test edx, edx
jle 0x4142e0
jmp 0x4148c7
movzx edx, word [ebx + 4]
mov dword [ebp - 0x18], edx
lea eax, [edx + edx]
mov dword [ebp - 0x3c], eax
cmp eax, dword [esi + 0x14]
jge case.0x414306.129
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x40], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x18]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
cmp edi, 0x88
jae 0x44ee36
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 + 0x4a4ad0]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414280
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x44ee8d
cmp edx, 0xfffffc20
je 0x44ee45
test edx, edx
je 0x44ee6a
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [edi - 0x55]
add ebx, 2
test al, 1
je 0x44a175
mov dword [ebp - 0x2c], 1
movsx edx, byte [eax + 0x4a4abc]
movsx edi, byte [eax + 0x4a4ab0]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x10], edx
test edx, edx
jne 0x4149d3
mov edx, bind
mov dword [ebp - 0x10], edx
movzx ecx, word [ebx]
add ebx, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x24], ebx
cmp ecx, 0x10
je 0x44a18a
cmp ecx, 0xf
je 0x44a181
or eax, 0xffffffff
mov dword [ebp - 0xc], eax
test edi, edi
jg 0x44a1a9
cmp edi, edx
je 0x4142e0
cmp dword [ebp - 0x2c], 0
je 0x44b758
test eax, eax
jns 0x44dc44
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
cmp ecx, 0x16
mov ecx, dword [ebp - 8]
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
je 0x44e58d
call fcn.00414280
add esp, 0x14
cmp dword [ebp - 0x20], 0
je 0x44ea99
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov ecx, dword [esi + 0x7c]
mov edx, dword [ebp - 8]
cmp edx, ecx
jae 0x44dad6
mov edx, dword [ebp - 0x14]
cmp edx, 0xc
jne 0x414a98
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44e72c
push dword [ebp - 0x20]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041ecb2
add esp, 0xc
test eax, eax
jne case.0x414306.157
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
je 0x44e76f
cmp edx, 0xc
jne 0x44e796
cmp dword [esi + 0x8c], 0
jne 0x44ea57
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
jmp 0x414a50
cmp dword [esi + 0x8c], 0
je case.0x414306.157
jmp 0x44d48a
cmp dword [esi + 0x8c], 0
je case.0x414306.157
jmp 0x44d587
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x414b30
movzx eax, byte [eax + 0x414ea8]
jmp dword [eax*4 + 0x414ea0]
lea eax, [edx - 0x62]
add ebx, 2
mov dword [ebp - 0x24], ebx
cmp eax, 8
jb 0x414c39
mov dword [ebp - 0x30], 1
movsx ecx, byte [eax + 0x4a4abc]
movsx edx, byte [eax + 0x4a4ab0]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
test ecx, ecx
jne 0x41447a
mov dword [ebp - 0x10], bind
jmp 0x41447a
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0x414306.119
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
jmp 0x447972
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x34], 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 + 0x4a4ad0]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414280
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x44d26f
test edx, edx
jne 0x44eeb7
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
jne case.0x414306.157
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x94], eax
jmp case.0x414306.129
test al, 1
jne 0x414c7a
mov dword [ebp - 0x2c], 0
jmp 0x414b50
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jl 0x414640
jmp 0x414690
add ebx, 2
jmp 0x4479cb
mov eax, dword [ebp - 8]
jmp 0x447d66
mov dword [ebp - 0x2c], 1
jmp 0x414b50
mov edx, 2
jmp 0x4148ad
mov eax, 0xfffffc19
jmp 0x414447
mov eax, 0xfffffffb
jmp 0x414447
mov eax, 0xffffffeb
jmp 0x414447
cmp dword [ebp + 0x18], 0
jne 0x447074
push 1
push 0
push 0
push 0
push 0
xor edx, edx
lea ecx, [ebp + 0x18]
call fcn.00414280
add esp, 0x14
jmp 0x414447
lea eax, [ebp + 0x18]
sub eax, dword [ebp - 8]
test eax, eax
jle 0x414447
neg eax
jmp 0x414447
mov eax, dword [ebp - 8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
mov dword [ebp + 0x14], eax
mov dword [esi + 0x9c], 0
jmp 0x4142e0
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x44d29b
movzx eax, word [ebx]
movzx ecx, byte [eax + 0x4a4ad0]
movzx eax, word [ebx + 2]
add ecx, eax
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
mov eax, dword [ebp - 8]
mov edi, dword [esi + 0xb0]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x34], 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.00414280
add esp, 0x14
cmp eax, 1
je 0x447151
cmp eax, 0xfffffc20
jne 0x447131
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0x414447
cmp word [ebx], 0x77
je 0x447139
cmp word [ecx], 0x77
jne 0x414447
jmp 0x447139
test eax, eax
jne 0x414447
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x4470e3
mov ecx, dword [ebp + 8]
jmp 0x44715a
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x447170
cmp eax, 0x77
jne case.0x414306.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447170
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 0x449ab5
cmp eax, dword [ebp - 0x34]
jne 0x44d09c
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
mov dword [ebp - 0x28], 0
jmp 0x447a06
movzx edx, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x30], edx
cmp word [ebx], 0x76
jne 0x447298
cmp dword [0x4c4420], 0
je 0x44728f
mov dword [ebp - 0xa0], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x88], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x78], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x84], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0x80], eax
test eax, eax
jne 0x44725c
mov dword [ebp - 0x80], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0x7c], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0xa0]
push eax
call dword [0x4c4420]
add esp, 4
test eax, eax
jg case.0x414306.157
js 0x414447
mov edx, dword [ebp - 0x30]
add ebx, 8
sub edx, 4
mov dword [ebp - 0x30], edx
movzx eax, word [ebx]
xor ecx, ecx
mov dword [ebp - 0x18], eax
add eax, 0xffffff73
mov dword [ebp - 0x2c], ecx
cmp eax, 4
ja case.default.0x4472b1
jmp dword [eax*4 + 0x44f19e]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x447429
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x447343
cmp eax, dword [ecx + 4]
je 0x447343
xor ecx, ecx
jmp case.0x4472b1.145
cmp dword [esi + 0xa8], ecx
je case.0x4472b1.145
movzx ecx, word [ebx + 2]
imul ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
movzx edx, word [ebx + 4]
lea ecx, [eax + ecx*2]
test edx, edx
jle 0x447426
mov eax, dword [esi + 0xa8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x2c], eax
movzx eax, word [ecx]
dec edx
cmp eax, dword [ebp - 0x34]
je 0x447343
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x447314
jmp 0x447426
movzx ecx, word [ebx + 2]
add ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, dword [ebp + 0xc]
jge 0x4472d6
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x4472d6
mov ecx, 1
jmp 0x44740b
movzx ecx, word [ebx + 2]
imul ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
movzx edx, word [ebx + 4]
lea ecx, [eax + ecx*2]
test edx, edx
jle 0x447426
xor eax, eax
mov dword [ebp - 0x2c], eax
movzx eax, word [ecx]
dec edx
add eax, eax
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp + 0xc]
jge 0x447389
mov eax, dword [esi + 0xc]
mov esi, dword [ebp - 0x3c]
cmp dword [eax + esi*4], 0
mov esi, dword [ebp + 0x10]
jge 0x447343
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x44736c
jmp 0x447426
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.00414280
add esp, 0x14
cmp eax, 1
jne 0x447417
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x4473d0
mov dword [ebp + 0xc], eax
mov eax, 1
mov dword [ebp - 0x2c], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
jne 0x4473f4
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x4473e6
mov eax, dword [ebp - 0x18]
mov ecx, 2
movzx eax, byte [eax + 0x4a4ad0]
sub ecx, eax
lea ebx, [edx + ecx*2]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
movzx edx, byte [eax + 0x4a4ad0]
jmp case.0x4472b1.145
test eax, eax
je 0x447426
cmp eax, 0xfffffc20
jne 0x414447
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
lea ebx, [ebx + edx*2]
mov dword [ebp - 0x24], ebx
test ecx, ecx
jne 0x447441
cmp word [ebx - 4], 0x77
jne 0x4142e0
cmp edi, 0x8c
jne 0x414351
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.00414280
add esp, 0x14
jmp 0x414447
movzx edx, word [ebx + 2]
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, edx
lea edi, [edx + edx]
mov dword [esi + 0x94], eax
mov dword [ebp - 0x3c], edi
cmp edi, dword [esi + 0x14]
jl 0x4474a7
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x4474cf
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, edx
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 0x4474cf
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x18], eax
jne 0x4474fd
mov edi, 1
mov dword [esi + 0x9c], 0
jmp 0x4474ff
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.00414280
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x447571
cmp ecx, 0xfffffc19
je 0x447571
mov eax, dword [ebp - 0x18]
mov dword [esi + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x44755d
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x447556
cmp word [ebx], 0x77
je 0x447561
cmp word [eax], 0x77
je 0x447561
mov eax, ecx
jmp 0x414447
test ecx, ecx
jne 0x447556
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4474ff
jmp 0x44757a
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x414306.157
test edi, edi
jne 0x414442
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44758c
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x24], ebx
mov dword [ebp + 0xc], eax
jmp 0x4142e0
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x4475d0
mov dword [ebp - 0x18], 1
mov dword [esi + 0x9c], 0
jmp 0x4475d7
mov dword [ebp - 0x18], 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.00414280
mov ecx, eax
mov dword [esi + 0xb0], edi
add esp, 0x14
cmp ecx, 0xfffffc20
jg 0x447630
jne 0x447643
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44765e
cmp word [ebx], 0x77
je 0x447620
cmp word [eax], 0x77
jne 0x44765e
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4475d7
jmp 0x44766c
mov eax, ecx
sub eax, 0
je 0x447620
dec eax
je case.0x414306.157
jmp 0x447556
cmp ecx, 0xfffffc19
je case.0x414306.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x447556
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44765e
cmp dword [ebp - 0x18], 0
jne 0x414442
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
cmp dword [ebp - 0x20], 0
je 0x4476c6
movzx ecx, word [ebx + 2]
test ecx, ecx
jle 0x4476e0
mov eax, dword [ebp - 8]
dec ecx
sub eax, 2
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0x414306.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x4476c0
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x44768f
jmp 0x4476e3
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.0x414306.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x4476f1
mov dword [esi + 0x88], eax
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
cmp dword [0x4c4420], 0
je 0x4477cc
mov dword [ebp - 0xd4], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xbc], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0xac], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xb8], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0xb4], eax
test eax, eax
jne 0x447796
mov dword [ebp - 0xb4], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xb0], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xd4]
push eax
call dword [0x4c4420]
add esp, 4
test eax, eax
jg case.0x414306.157
js 0x414447
add ebx, 8
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp - 0x18], edi
cmp edi, ecx
jne 0x4477ec
xor ecx, ecx
jmp 0x4477f0
movzx ecx, word [edi + 4]
mov eax, dword [esi + 0xa8]
test eax, eax
je 0x447817
mov edx, dword [ebp - 8]
cmp ecx, dword [eax + 4]
jne 0x447811
cmp edx, dword [eax + 0x14]
jne 0x447811
mov eax, 0xffffffe6
jmp 0x414447
mov eax, dword [eax]
test eax, eax
jne 0x4477fd
mov dword [ebp - 0x54], ecx
add ebx, 4
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
mov dword [esi + 0xa8], eax
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x4c], ecx
cmp ecx, 0x1e
jg 0x447857
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x50], eax
jmp 0x447876
lea eax, [ecx*4]
push eax
call dword [0x4b16c4]
add esp, 4
mov dword [ebp - 0x50], eax
test eax, eax
je 0x44d335
mov ecx, dword [ebp - 0x4c]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.0041fdb0
mov eax, 0x88
add esp, 0xc
cmp word [edi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x34], eax
test eax, eax
je 0x4478a2
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 + 0x4a4ad0]
push dword [ebp + 8]
lea edx, [edi + eax*2]
call fcn.00414280
mov ecx, dword [ebp - 0x4c]
add esp, 0x14
shl ecx, 2
mov edi, eax
push ecx
push dword [ebp - 0x50]
push dword [esi + 0xc]
call fcn.0041fdb0
mov eax, dword [ebp - 0x48]
add esp, 0xc
mov dword [esi + 0x94], eax
mov eax, dword [ebp - 0x58]
mov dword [esi + 0xa8], eax
cmp edi, 1
je 0x447944
cmp edi, 0xfffffc19
je 0x447944
cmp edi, 0xfffffc1c
jl 0x447913
cmp edi, 0xfffffc20
jle case.0x414306.157
test edi, edi
jne 0x44d30c
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x58]
mov dword [esi + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
mov dword [ebp - 0x18], edi
jne 0x44d2e3
mov eax, dword [ebp - 0x34]
jmp 0x447894
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44795b
push eax
call dword [0x4b16c0]
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x4142e0
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447972
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
add ebx, 2
mov dword [ebp - 0x24], ebx
mov edx, ebx
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x447993
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.00414280
add esp, 0x14
test eax, eax
je 0x4142e0
jmp 0x414447
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4479cb
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x28], 1
cmp edi, 0x86
je 0x447a06
cmp edi, 0x8b
jne 0x447b89
movzx edx, word [ebx + 4]
mov dword [ebp - 0x34], edx
lea eax, [edx + edx]
mov dword [ebp - 0x3c], eax
cmp eax, dword [esi + 0x14]
jge case.0x414306.132
mov ecx, dword [esi + 0xc]
xor eax, eax
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, ebx
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x34]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x18], eax
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 8]
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x34]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x447a7c
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 + 0x4a4ad0]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414280
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x447ae7
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x30]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x18], eax
mov eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x447a56
cmp ecx, 0xfffffc20
jne 0x447b13
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x447556
cmp word [ebx], 0x77
je 0x447b1b
cmp word [eax], 0x77
je 0x447b1b
jmp 0x447556
test ecx, ecx
jne 0x447556
mov eax, dword [ebp - 0x18]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447a56
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x447b65
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
mov dword [eax + edx*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x24]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x10]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x28], 0
jne 0x449ab5
test eax, eax
je case.0x414306.157
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
mov dword [ebp - 0x28], 0
mov eax, ebx
mov dword [ebp - 0x18], 0
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x2c], eax
cmp edi, 0x88
jb 0x447bb5
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 + 0x4a4ad0]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414280
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x447c13
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x18], 1
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x447ba3
cmp ecx, 0xfffffc20
jne 0x447c3f
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x447556
cmp word [ebx], 0x77
je 0x447c47
cmp word [eax], 0x77
je 0x447c47
jmp 0x447556
test ecx, ecx
jne 0x447556
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x447c63
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x94], eax
jmp 0x447ba3
cmp dword [ebp - 0x18], 0
jne 0x449ab5
cmp dword [ebp - 0x28], 0
je case.0x414306.157
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp + 0x14], edx
jmp 0x414395
cmp dword [eax + 4], edx
jne 0x414767
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0x414447
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x4143f1
mov eax, dword [esi + 0xc]
lea edi, [eax + ecx*4]
mov ecx, dword [ebp - 0x3c]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x447ce3
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x18]
jmp 0x414795
cmp dword [ebp - 8], ecx
je 0x4143fe
movzx eax, word [ebx]
cmp eax, 0x7b
je 0x44d37f
cmp eax, 0x7a
mov eax, dword [ebp + 0x18]
jne 0x44d0e6
inc eax
push eax
push dword [ebp + 0x14]
push esi
push edx
push dword [ebp + 8]
lea edx, [ebx + 4]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
movzx eax, word [edi]
mov ecx, 0x81
cmp ax, cx
je 0x44d35f
mov ecx, 0x88
cmp ax, cx
jae 0x44d33f
mov ebx, edi
jmp 0x41434e
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x447d66
cmp eax, dword [esi + 0x78]
je case.0x414306.157
cmp eax, dword [esi + 0x78]
jne case.0x414306.157
add ebx, 2
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x447d8c
cmp eax, dword [esi + 0x78]
je case.0x414306.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x4145f4
cmp eax, dword [esi + 0x7c]
je case.0x414306.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x447dcf
cmp eax, ecx
jbe case.0x414306.157
push dword [ebp - 0x20]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0048d5f9
add esp, 0xc
test eax, eax
je case.0x414306.157
jmp 0x4145f4
mov edi, dword [esi + 0x1c]
lea edx, [edi + edi]
lea eax, [edx + ecx]
cmp dword [ebp - 8], eax
jb case.0x414306.157
mov ecx, dword [ebp - 8]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0x414306.157
cmp edi, 1
je 0x4145f4
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x414306.157
jmp 0x4145f4
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp dword [ebp - 8], eax
jne case.0x414306.157
add ebx, 2
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x447f05
mov edx, dword [esi + 0x18]
test edx, edx
je 0x447ece
push dword [ebp - 0x20]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041ecb2
add esp, 0xc
test eax, eax
jne 0x4145f4
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414306.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0x414306.157
cmp dword [esi + 0x18], 0
jne case.0x414306.157
cmp dword [esi + 0x1c], 2
jne case.0x414306.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0x414306.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414306.157
mov eax, 0xfffffff4
jmp 0x414447
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x447e73
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x447e70
cmp edx, 1
je 0x4145f4
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x447e70
jmp 0x4145f4
cmp dword [esi + 0x4c], 0
jne case.0x414306.157
cmp dword [esi + 0x8c], 0
je 0x4145f4
cmp eax, dword [esi + 0x88]
jbe 0x4145f4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
add ebx, 2
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
cmp dword [esi + 0x4c], 0
jne case.0x414306.157
cmp dword [esi + 0x5c], 0
je case.0x414306.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0x414306.157
jmp 0x447f0f
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x447f0f
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x447f8d
push dword [ebp - 0x20]
push edi
push ecx
mov ecx, eax
call fcn.0041ecb2
add esp, 0xc
test eax, eax
jne 0x447fc2
jmp 0x447e70
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x447e73
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x447e70
cmp edx, 1
je 0x447fc2
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x447e70
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 0x447e73
jmp 0x447f0f
cmp dword [ebp - 0x20], 0
mov eax, dword [ebp - 8]
je 0x44818e
cmp eax, dword [esi + 0x78]
je 0x4480c6
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44800d
sub edx, 2
cmp edx, dword [esi + 0x88]
jae 0x44801b
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448046
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 0x4480a8
cmp ecx, 0x5f
jne 0x448059
mov eax, dword [ebp - 8]
lea edi, [ecx - 0x5e]
jmp 0x4480c8
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44807b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x44809e
cmp eax, 3
jne 0x4480c3
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x4480c8
cmp ecx, 0x100
jae 0x4480c3
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4480c3
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x4480c8
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x448130
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4480fb
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 0x448177
cmp ecx, 0x5f
je 0x4482be
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
js 0x44826a
jmp 0x44826f
cmp dword [esi + 0x8c], 0
je 0x448155
cmp eax, dword [esi + 0x88]
jbe 0x448155
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
xor ecx, ecx
mov ax, word [ebx]
add ebx, 2
mov dword [ebp - 0x24], ebx
cmp ax, 5
jne 0x4482c8
cmp ecx, edi
jne 0x4142e0
jmp case.0x414306.157
cmp ecx, 0x100
jae 0x448155
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x4482be
jmp 0x448155
cmp eax, dword [esi + 0x78]
je 0x448234
cmp eax, dword [esi + 0x88]
ja 0x4481ab
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
je 0x44820e
movzx ecx, word [eax - 2]
cmp ecx, 0x5f
jne 0x4481bf
lea edi, [ecx - 0x5e]
jmp 0x448236
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4481e1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x448204
cmp eax, 3
jne 0x448231
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x448236
movzx eax, word [eax - 2]
mov ecx, 0xff
cmp ax, cx
ja 0x448231
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x448231
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x448236
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x448130
cmp dword [esi + 0x58], 0
je 0x44829e
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x4482be
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44826f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x4482be
cmp eax, 3
jne 0x448155
lea ecx, [eax - 2]
jmp 0x448157
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x448155
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x448155
mov ecx, 1
jmp 0x448157
cmp ecx, edi
je 0x4142e0
jmp case.0x414306.157
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x448304
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x20]
cmp eax, ecx
jae 0x44833c
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041ecb2
add esp, 0xc
test eax, eax
jne case.0x414306.157
jmp 0x448339
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x448336
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x448336
cmp edx, 1
je case.0x414306.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0x414306.157
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
mov ecx, dword [ebp - 8]
je 0x448380
add eax, 2
cmp eax, dword [esi + 0x7c]
jb 0x448380
cmp dword [esi + 0x18], 0
jne 0x448380
cmp dword [esi + 0x1c], 2
jne 0x448380
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne 0x448380
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x448380
jmp 0x447ec4
mov ecx, dword [ebp - 8]
mov edi, dword [ebp - 0x20]
mov eax, dword [esi + 0x7c]
cmp ecx, eax
jae 0x44d3f4
add ecx, 2
mov dword [ebp - 8], ecx
test edi, edi
je 0x4145f4
cmp ecx, eax
jae 0x4145f4
mov ax, word [ecx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4145f4
add dword [ebp - 8], 2
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
add eax, 2
mov dword [ebp - 8], eax
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x448423
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448423
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 0x4145f4
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414306.157
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x44848a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44848a
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.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414306.157
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x4484f1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4484f1
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 0x4145f4
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414306.157
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x448558
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448558
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.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414306.157
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x4485bf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4485bf
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 0x4145f4
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414306.157
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x448626
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448626
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.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414306.157
jmp 0x4145f4
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x448692
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x448692
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 0x4486fe
je 0x4486b3
cmp ecx, 0xa
je 0x4145f4
jbe case.0x414306.157
cmp ecx, 0xc
ja case.0x414306.157
jmp 0x448715
cmp eax, edx
jb 0x4486e9
cmp dword [esi + 0x8c], 0
je 0x4145f4
cmp eax, dword [esi + 0x88]
jbe 0x4145f4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
jmp 0x4145f4
cmp word [eax], 0xa
jne 0x4145f4
add eax, 2
mov dword [ebp - 8], eax
jmp 0x4145f4
cmp ecx, 0x85
je 0x448715
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414306.157
cmp dword [esi + 0x6c], 0
jne case.0x414306.157
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x44876d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44876d
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 0x4487b1
je case.0x414306.157
cmp ecx, 0xa0
ja 0x4487a0
je case.0x414306.157
cmp ecx, 9
je case.0x414306.157
cmp ecx, 0x20
je case.0x414306.157
jmp 0x4145f4
cmp ecx, 0x1680
je case.0x414306.157
jmp 0x4145f4
cmp ecx, 0x205f
ja 0x4487e8
je case.0x414306.157
cmp ecx, 0x2000
jb 0x4145f4
cmp ecx, 0x200a
jbe case.0x414306.157
cmp ecx, 0x202f
je case.0x414306.157
jmp 0x4145f4
cmp ecx, 0x3000
je case.0x414306.157
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x448842
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448842
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 0x448886
je 0x4145f4
cmp ecx, 0xa0
ja 0x448875
je 0x4145f4
cmp ecx, 9
je 0x4145f4
cmp ecx, 0x20
jne case.0x414306.157
jmp 0x4145f4
cmp ecx, 0x1680
jne case.0x414306.157
jmp 0x4145f4
cmp ecx, 0x205f
ja 0x4488bd
je 0x4145f4
cmp ecx, 0x2000
jb case.0x414306.157
cmp ecx, 0x200a
jbe 0x4145f4
cmp ecx, 0x202f
jne case.0x414306.157
jmp 0x4145f4
cmp ecx, 0x3000
jne case.0x414306.157
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x448917
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448917
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 0x44893c
je case.0x414306.157
cmp ecx, 0xa
jb 0x4145f4
cmp ecx, 0xd
jbe case.0x414306.157
jmp 0x4145f4
cmp ecx, 0x2028
jb 0x4145f4
cmp ecx, 0x2029
jbe case.0x414306.157
jmp 0x4145f4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x4489a2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4489a2
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 0x4489c1
je 0x4145f4
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414306.157
jmp 0x4145f4
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414306.157
jmp 0x4145f4
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 - 0x18], ecx
jmp 0x414801
cmp eax, 0xa
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f1b2]
mov al, byte [ecx*8 + 0x4a1f41]
cmp al, 9
je 0x448a32
cmp al, 5
je 0x448a32
cmp al, 8
je 0x448a32
xor ecx, ecx
jmp 0x448a4e
cmp edi, 0xf
je case.0x414306.157
jmp 0x414873
mov ecx, 1
jmp 0x448a4e
movzx eax, byte [ecx*8 + 0x4a1f41]
xor ecx, ecx
cmp dword [eax*4 + 0x4b7390], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x414306.157
jmp 0x414873
movzx ecx, byte [ecx*8 + 0x4a1f41]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x4b7390]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0x414306.157
jmp 0x414873
movzx eax, byte [ecx*8 + 0x4a1f41]
jmp 0x448aa2
movzx eax, byte [ecx*8 + 0x4a1f40]
xor ecx, ecx
cmp word [ebx + 4], ax
setne cl
xor eax, eax
cmp edi, 0x10
sete al
cmp ecx, eax
je case.0x414306.157
jmp 0x414873
movzx eax, byte [ecx*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x448a32
cmp eax, 3
je 0x448a32
xor ecx, ecx
jmp 0x448a4e
cmp edx, 0x180e
ja 0x448b41
je case.0x448a06.0
cmp edx, 0x85
ja 0x448b24
je case.0x448a06.0
cmp edx, 9
jb case.0x448b65.8203
cmp edx, 0xd
jbe case.0x448a06.0
cmp edx, 0x20
je case.0x448a06.0
jmp case.0x448b65.8203
cmp edx, 0xa0
je case.0x448a06.0
cmp edx, 0x1680
je case.0x448a06.0
jmp case.0x448b65.8203
cmp edx, 0x202f
ja 0x448b6c
je case.0x448a06.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x448b65.8203
movzx eax, byte [edx + 0x44f1e6]
jmp dword [eax*4 + 0x44f1de]
cmp edx, 0x205f
je case.0x448a06.0
cmp edx, 0x3000
je case.0x448a06.0
jmp case.0x448b65.8203
movzx eax, byte [ecx*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x448a32
cmp eax, 3
je 0x448a32
cmp edx, 0x5f
je 0x448a32
xor ecx, ecx
jmp 0x448a4e
cmp edx, 0x24
je 0x448a32
cmp edx, 0x40
je 0x448a32
cmp edx, 0x60
je 0x448a32
cmp edx, 0xa0
jb 0x448be9
cmp edx, 0xd7ff
jbe 0x448a32
cmp edx, 0xe000
jae 0x448a32
xor ecx, ecx
jmp 0x448a4e
cmp edi, 0x10
je case.0x414306.157
jmp 0x414873
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 0x414527
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
jmp 0x414590
cmp eax, edi
jb 0x4145f4
jmp 0x447f1c
movzx ecx, word [ebx + 2]
xor eax, eax
movzx edx, word [ebx + 4]
cmp edi, 0x74
sete al
imul ecx, dword [esi + 0x24]
mov dword [ebp - 0x30], eax
add ebx, 6
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x24], ebx
lea ecx, [eax + ecx*2]
test edx, edx
jg 0x448c8c
mov edi, dword [ebp - 0x3c]
jmp 0x448cad
movzx edi, word [ecx]
dec edx
add edi, edi
mov dword [ebp - 0x3c], edi
cmp edi, dword [ebp + 0xc]
jge 0x448ca3
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jge 0x448cae
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*2]
test edx, edx
jg 0x448c8c
dec edx
test edx, edx
js 0x448cef
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x448cf9
movzx ecx, word [ebx + 2]
xor eax, eax
cmp edi, 0x72
sete al
add ecx, ecx
add ebx, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x24], ebx
cmp ecx, dword [ebp + 0xc]
jge 0x448cef
mov eax, dword [esi + 0xc]
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x448cef
mov ecx, dword [eax + ecx*4 + 4]
sub ecx, edx
jmp 0x448cf9
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
movzx edi, word [ebx]
mov edx, edi
mov dword [ebp - 0x2c], ecx
lea eax, [edx - 0x62]
cmp eax, 7
ja case.default.0x448d14
movzx eax, byte [eax + 0x44f21a]
jmp dword [eax*4 + 0x44f212]
lea eax, [edx - 0x62]
add ebx, 2
movsx edi, byte [eax + 0x4a4ab0]
movzx edx, al
movsx eax, byte [eax + 0x4a4abc]
and edx, 1
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x448d74
mov eax, bind
mov dword [ebp - 0x28], eax
jmp 0x448d74
movzx eax, word [ebx + 4]
xor edx, edx
cmp edi, 0x69
mov dword [ebp - 0x28], eax
movzx edi, word [ebx + 2]
sete dl
mov dword [ebp - 0x34], edx
test eax, eax
jne 0x448d6e
mov eax, bind
mov dword [ebp - 0x28], eax
add ebx, 6
mov dword [ebp - 0x24], ebx
test ecx, ecx
je 0x4142e0
jns 0x448d86
test edi, edi
je 0x4142e0
mov dword [ebp - 0x18], 1
cmp edi, 1
jl 0x448dca
push dword [ebp - 0x30]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.0048d389
add esp, 0xc
test eax, eax
js 0x44d467
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
cmp eax, edi
jle 0x448d92
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
cmp edi, eax
je 0x4142e0
test edx, edx
je 0x44d492
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x28]
jge case.0x414306.157
push dword [ebp - 0x30]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x3c]
push esi
push dword [ebp - 0x2c]
call fcn.0048d389
add esp, 0xc
test eax, eax
js 0x44d467
mov ecx, dword [ebp - 8]
mov edx, ebx
inc edi
lea ecx, [ecx + eax*2]
mov eax, dword [ebp + 0x18]
inc eax
mov dword [ebp - 8], ecx
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x448dfe
jmp 0x414447
push dword [ebp - 0x30]
mov edi, dword [ebp - 8]
mov edx, edi
push esi
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.0048d389
add esp, 0xc
test eax, eax
js 0x44d53f
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
jmp 0x4142e0
movzx edx, word [ebx + 2]
xor eax, eax
cmp ecx, 0x69
mov dword [ebp - 0x14], edx
sete al
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x10], ecx
sete al
mov dword [ebp - 0x30], eax
test ecx, ecx
jne 0x448ea7
mov dword [ebp - 0x10], bind
add ebx, 6
mov dword [ebp - 0x24], ebx
jmp 0x41447a
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 8], 2
jmp 0x4144c8
cmp edi, 0x6e
je case.0x414306.157
jmp 0x414602
mov eax, 1
mov dword [ebp - 0x18], eax
cmp edx, eax
jl 0x414614
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp edx, 0xff
jbe 0x448f1d
cmp edi, 0x6e
je case.0x414306.157
jmp 0x448f3e
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
je case.0x414306.157
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, edx
jle 0x448ef8
jmp 0x414614
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
mov ecx, 2
mov dword [ebp - 0x18], ecx
movzx eax, word [eax + 2]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
jmp 0x414669
cmp edi, 0x6e
je 0x414690
jmp 0x414c4c
cmp dword [esi + 0x8c], 0
je 0x414690
cmp eax, dword [esi + 0x88]
jbe 0x414690
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jg 0x447ec4
jmp 0x414690
cmp edx, ecx
jge 0x44902f
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x449004
movzx edx, word [edx]
cmp edx, 0xff
jbe 0x448fd4
cmp edi, 0x6e
jne 0x448ff1
jmp 0x44902c
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
je 0x44902c
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
inc eax
add edx, 2
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], edx
cmp eax, ecx
jl 0x448fbd
jmp 0x44902c
cmp dword [esi + 0x8c], 0
je 0x44902c
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jbe 0x44902c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb case.0x414306.157
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edi
jae 0x449047
jmp 0x414447
lea eax, [ebx + 4]
mov dword [ebp - 0x34], eax
movzx eax, word [ebx + 2]
movzx ecx, word [ebx + eax*2]
lea ebx, [ebx + eax*2]
mov edx, ecx
mov dword [ebp - 0x24], ebx
lea eax, [edx - 0x62]
cmp eax, 0xb
ja case.default.0x4490a3
movzx eax, byte [eax + 0x44f22a]
jmp dword [eax*4 + 0x44f222]
lea eax, [edx - 0x62]
add ebx, 2
mov dword [ebp - 0x24], ebx
cmp eax, 8
jae 0x4490c3
movzx edx, al
and edx, 1
mov dword [ebp - 0x2c], edx
jmp 0x4490cd
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], 1
movsx edi, byte [eax + 0x4a4ab0]
movsx eax, byte [eax + 0x4a4abc]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x44912b
mov eax, bind
jmp 0x449128
movzx edi, word [ebx + 2]
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
mov dword [ebp - 0x2c], edx
sete al
mov dword [ebp - 0x30], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x449116
mov eax, bind
mov dword [ebp - 0x14], eax
add ebx, 6
mov dword [ebp - 0x24], ebx
jmp 0x44912b
mov edx, dword [ebp - 0x2c]
mov eax, 1
mov edi, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 1
cmp edi, 1
jl 0x4491a6
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x414af9
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x20]
mov dword [ebp - 8], eax
test edx, edx
je 0x449181
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449181
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 - 0x34]
call fcn.0048d6b2
add esp, 4
test eax, eax
je case.0x414306.157
mov ecx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, edi
jle 0x449137
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x2c]
cmp edi, eax
je 0x4142e0
mov ecx, dword [ebp - 8]
test edx, edx
jne 0x44d74d
mov dword [ebp - 0x28], ecx
cmp edi, eax
jge 0x44925b
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], 1
cmp eax, dword [esi + 0x7c]
jae 0x449233
mov edx, dword [ebp - 0x20]
movzx ecx, word [eax]
test edx, edx
je 0x44920f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44920f
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov dword [ebp - 0x18], 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
push edx
mov edx, dword [ebp - 0x34]
call fcn.0048d6b2
mov ecx, dword [ebp - 8]
add esp, 4
test eax, eax
je 0x44925b
mov eax, dword [ebp - 0x18]
inc edi
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edi, dword [ebp - 0x14]
jl 0x4491c4
jmp 0x44925b
cmp dword [esi + 0x8c], 0
je 0x449258
cmp eax, dword [esi + 0x88]
jbe 0x449258
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
mov eax, ecx
sub ecx, 2
mov dword [ebp - 8], ecx
cmp eax, edi
je case.0x414306.157
cmp dword [ebp - 0x20], 0
je 0x4492bd
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4492bd
sub ecx, 2
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x449289
jmp 0x414447
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x44d3f4
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0x414306.157
add ebx, 4
jmp 0x4145f7
movzx eax, word [ebx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov edx, 2
add edi, 0x10000
jmp 0x414710
add eax, 2
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44936c
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 - 0x18], ecx
lea ebx, [ebx + edx*2]
mov dword [ebp - 0x24], ebx
cmp edi, ecx
je 0x4142e0
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44939d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4bc0]
mov eax, dword [eax*8 + 0x4a1f44]
add eax, edi
cmp dword [ebp - 0x18], eax
je 0x4142e0
jmp case.0x414306.157
movzx eax, word [ebx + 2]
mov ecx, 0xff
cmp ax, cx
ja 0x4493d7
mov ecx, eax
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
jmp 0x4493d9
mov edx, eax
mov eax, dword [ebp - 8]
mov ecx, 0xff
movzx eax, word [eax]
cmp ax, cx
ja 0x4493f2
mov ecx, eax
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + ecx]
cmp edx, eax
jne case.0x414306.157
add dword [ebp - 8], 2
add ebx, 4
jmp 0x4145f7
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, eax
mov dword [ebp - 0x10], edx
jmp 0x4494b4
mov dword [ebp - 0x30], 1
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], eax
cmp ecx, 0x28
je 0x449437
mov dword [ebp - 0x2c], edx
cmp ecx, 0x35
jne 0x44943e
mov dword [ebp - 0x2c], 1
add ebx, 4
jmp 0x4494b7
xor edx, edx
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x10], edx
add ebx, 2
jmp 0x4494af
mov edx, 1
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x10], edx
add ebx, 2
jmp 0x4494af
xor edx, edx
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x10], edx
add ebx, 2
lea eax, [edx + 1]
jmp 0x4494b4
cmp edi, 0x2e
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
movzx eax, cl
and eax, 1
mov dword [ebp - 0x2c], eax
movsx eax, byte [ecx + 0x4a4abc]
movsx edx, byte [ecx + 0x4a4ab0]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x4494b7
mov eax, bind
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
mov dword [ebp - 0x1c], ecx
je 0x44973e
mov eax, ecx
mov dword [ebp - 0xc], 1
and eax, 0xfc00
mov dword [ebp - 0x18], ebx
cmp eax, 0xd800
jne 0x449506
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x1c], ecx
jmp 0x44950b
mov eax, 1
lea esi, [eax + eax]
add ebx, esi
mov dword [ebp - 0x34], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x24], ebx
cmp eax, 1
jle 0x449746
cmp edi, 0x2e
jb 0x449576
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x1c]
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x44954d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4bc0]
mov ecx, dword [eax*8 + 0x4a1f44]
add ecx, edx
cmp ecx, edx
je 0x449573
lea edx, [ebp - 0x6c]
call fcn.0048dade
mov edx, dword [ebp - 0x10]
mov edi, eax
jmp 0x449578
mov edx, dword [ebp - 0x10]
xor edi, edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], 1
cmp edx, 1
jge 0x44958c
mov eax, dword [ebp - 8]
jmp 0x449605
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x34]
mov edx, dword [ebp - 8]
cmp edx, eax
ja 0x4495bd
mov eax, dword [ebp - 0xc]
add eax, eax
push eax
push dword [ebp - 0x18]
push edx
call fcn.004203f4
add esp, 0xc
test eax, eax
jne 0x4495ba
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x34]
mov dword [ebp - 8], eax
jmp 0x4495f7
mov edx, dword [ebp - 8]
test edi, edi
jle 0x44d823
mov eax, dword [esi + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp edx, eax
ja 0x44d823
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x6c]
push eax
push edx
call fcn.004203f4
add esp, 0xc
test eax, eax
jne 0x44d820
lea eax, [edi + edi]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, edx
jle 0x44958c
mov ecx, dword [ebp - 0x14]
cmp edx, ecx
je 0x4142e0
cmp dword [ebp - 0x2c], 0
jne 0x44d83e
mov dword [ebp - 0x28], eax
cmp edx, ecx
jge 0x449694
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x34]
mov edx, dword [ebp - 8]
cmp edx, eax
ja 0x449652
mov eax, dword [ebp - 0xc]
add eax, eax
push eax
push dword [ebp - 0x18]
push edx
call fcn.004203f4
add esp, 0xc
test eax, eax
jne 0x44964f
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x34]
mov dword [ebp - 8], eax
jmp 0x449685
mov edx, dword [ebp - 8]
test edi, edi
jle 0x449700
mov eax, dword [esi + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp edx, eax
ja 0x449700
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x6c]
push eax
push edx
call fcn.004203f4
add esp, 0xc
test eax, eax
jne 0x4496fd
lea eax, [edi + edi]
add dword [ebp - 8], eax
mov edx, dword [ebp - 0x10]
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x14]
jl 0x449621
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
cmp edx, eax
je 0x414351
mov edi, dword [ebp - 0x28]
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edx, dword [ebp - 8]
mov ecx, 0xfc00
sub edx, 2
mov dword [ebp - 8], edx
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4496f4
sub edx, 2
mov dword [ebp - 8], edx
cmp edx, edi
jne 0x4496ac
jmp 0x414351
mov edx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x449736
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb 0x449691
cmp eax, dword [esi + 0x88]
jbe 0x449691
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x449691
jmp 0x447ec4
mov eax, dword [ebp - 0x28]
jmp 0x449697
add ebx, 2
mov dword [ebp - 0x24], ebx
jmp 0x449749
mov eax, dword [ebp - 0x14]
cmp edi, 0x2e
jb 0x4498a2
cmp dword [ebp - 0x20], 0
je 0x44979f
cmp ecx, 0x7f
jbe 0x44979f
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, dword [ebp - 0x1c]
shl ecx, 7
and eax, 0x8000007f
jns 0x449781
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x10]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4bc0]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [eax*8 + 0x4a1f44]
mov eax, dword [ebp - 0x14]
add edi, ecx
jmp 0x4497b5
cmp ecx, 0xff
ja 0x4497b3
mov eax, dword [esi + 0x40]
movzx edi, byte [eax + ecx]
mov eax, dword [ebp - 0x14]
jmp 0x4497b5
mov edi, ecx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x34], 1
cmp edx, 1
jl 0x4497f1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
cmp ecx, eax
je 0x4497df
cmp edi, eax
jne case.0x414306.157
mov eax, dword [ebp - 0x34]
add dword [ebp - 8], 2
inc eax
mov dword [ebp - 0x34], eax
cmp eax, edx
jle 0x4497c4
mov eax, dword [ebp - 0x14]
cmp edx, eax
je 0x4142e0
cmp dword [ebp - 0x2c], 0
jne 0x44d93f
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
cmp edx, dword [ebp - 0x14]
jge 0x449855
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44982d
movzx eax, word [eax]
cmp ecx, eax
je 0x449821
cmp edi, eax
jne 0x449852
add dword [ebp - 8], 2
inc edx
cmp edx, dword [ebp - 0x14]
jl 0x44980e
jmp 0x449852
cmp dword [esi + 0x8c], 0
je 0x449852
cmp eax, dword [esi + 0x88]
jbe 0x449852
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
mov ecx, dword [ebp - 8]
cmp ecx, eax
je 0x414351
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
mov edx, dword [ebp - 8]
add esp, 0x14
sub edx, 2
mov dword [ebp - 8], edx
test eax, eax
jne 0x414447
mov ecx, edx
cmp edx, edi
jne 0x44986d
jmp 0x414351
mov edi, 1
cmp edx, edi
jl 0x4498d1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
add dword [ebp - 8], 2
mov esi, dword [ebp + 0x10]
cmp ecx, eax
jne case.0x414306.157
inc edi
cmp edi, edx
jle 0x4498ab
mov eax, dword [ebp - 0x14]
cmp edx, eax
je 0x4142e0
cmp dword [ebp - 0x2c], 0
jne 0x44d9b5
mov edi, dword [ebp - 8]
cmp edx, eax
jge 0x449903
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44994e
movzx eax, word [eax]
cmp ecx, eax
jne 0x449903
add dword [ebp - 8], 2
inc edx
cmp edx, dword [ebp - 0x14]
jl 0x4498ea
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
cmp eax, edi
je 0x414351
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.00414280
mov edx, dword [ebp - 8]
add esp, 0x14
sub edx, 2
mov dword [ebp - 8], edx
test eax, eax
jne 0x414447
cmp edx, edi
jne 0x449918
jmp 0x414351
cmp dword [esi + 0x8c], 0
je 0x449906
cmp eax, dword [esi + 0x88]
jbe 0x449906
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x449906
jmp 0x447ec4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
cmp dword [ebp - 0x20], 0
je 0x449a84
movzx edx, word [ebx + 2]
add ebx, 4
mov eax, edx
mov dword [ebp - 0x18], edx
and eax, 0xfc00
mov dword [ebp - 0x24], ebx
cmp eax, 0xd800
jne 0x4499c7
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 - 0x18], edx
mov dword [ebp - 0x24], 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 - 0x34], ecx
cmp eax, 0xd800
jne 0x449a07
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 - 0x34], ecx
cmp edi, 0x1f
jne 0x449a19
cmp edx, ecx
jne 0x4142e0
jmp case.0x414306.157
cmp edx, 0x7f
jbe 0x449a5c
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x449a44
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4bc0]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax*8 + 0x4a1f44]
add eax, edx
jmp 0x449a6f
cmp edx, 0xff
ja 0x449a6d
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edx]
jmp 0x449a6f
mov eax, edx
cmp edx, ecx
je case.0x414306.157
cmp eax, ecx
jne 0x4142e0
jmp case.0x414306.157
movzx edx, word [eax]
add eax, 2
movzx ecx, word [ebx + 2]
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x414306.157
cmp edi, 0x20
jne 0x449ab5
cmp ecx, 0xff
ja 0x449aad
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x414306.157
add ebx, 4
mov dword [ebp - 0x24], ebx
jmp 0x4142e0
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, eax
mov dword [ebp - 0x1c], edx
jmp 0x449b7f
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], eax
cmp ecx, 0x42
je 0x449aea
mov dword [ebp - 0x2c], edx
cmp ecx, 0x4f
jne 0x449af1
mov dword [ebp - 0x2c], 1
add ebx, 4
jmp 0x449b82
xor edx, edx
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x1c], edx
add ebx, 2
jmp 0x449b7a
mov edx, 1
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x1c], edx
add ebx, 2
jmp 0x449b7a
xor edx, edx
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x1c], edx
add ebx, 2
lea eax, [edx + 1]
jmp 0x449b7f
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0x30], 1
add ebx, 4
mov dword [ebp - 0x1c], edx
jmp 0x449b7f
cmp edi, 0x48
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
movzx eax, cl
and eax, 1
mov dword [ebp - 0x2c], eax
movsx eax, byte [ecx + 0x4a4abc]
movsx edx, byte [ecx + 0x4a4ab0]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x449b82
mov eax, bind
mov dword [ebp - 0x14], eax
movzx ecx, word [ebx]
add ebx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], ebx
je 0x449bc7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449bc4
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x14]
cmp edi, 0x48
jb 0x449e9f
cmp dword [ebp - 0x20], 0
je 0x449c1d
cmp ecx, 0x7f
jbe 0x449c1d
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, dword [ebp - 0x10]
shl ecx, 7
and eax, 0x8000007f
jns 0x449bff
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x1c]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4bc0]
mov ecx, dword [ebp - 0x10]
mov edi, dword [eax*8 + 0x4a1f44]
mov eax, dword [ebp - 0x14]
add edi, ecx
jmp 0x449c33
cmp ecx, 0xff
ja 0x449c31
mov eax, dword [esi + 0x40]
movzx edi, byte [eax + ecx]
mov eax, dword [ebp - 0x14]
jmp 0x449c33
mov edi, ecx
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], edi
je 0x449d9b
mov edi, 1
cmp edx, edi
jl 0x449ca9
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449c8c
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 dword [ebp - 0x10], ecx
je case.0x414306.157
cmp dword [ebp - 0xc], ecx
je case.0x414306.157
inc edi
cmp edi, edx
jle 0x449c49
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
cmp edx, eax
je 0x4142e0
cmp dword [ebp - 0x2c], 0
jne 0x44da26
cmp dword [ebp - 0x20], 0
mov esi, dword [ebp - 8]
mov dword [ebp - 0x18], esi
mov esi, dword [ebp + 0x10]
je 0x449e0a
cmp edx, eax
jge 0x449d32
mov eax, dword [ebp - 8]
mov edi, 1
cmp eax, dword [esi + 0x7c]
jae 0x449ddd
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449d19
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edi, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x10], ecx
je 0x449d35
cmp dword [ebp - 0xc], ecx
je 0x449d35
inc edx
lea eax, [eax + edi*2]
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x14]
jl 0x449cd5
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
mov edi, dword [ebp - 0x18]
cmp eax, edi
je 0x414351
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edx, dword [ebp - 8]
mov ecx, 0xfc00
sub edx, 2
mov dword [ebp - 8], edx
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x449d92
sub edx, 2
mov dword [ebp - 8], edx
cmp edx, edi
jne 0x449d4a
jmp 0x414351
mov ecx, 1
cmp edx, ecx
jl 0x449dd5
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
cmp edi, eax
je case.0x414306.157
cmp dword [ebp - 0xc], eax
je case.0x414306.157
add dword [ebp - 8], 2
inc ecx
cmp ecx, edx
jle 0x449da7
jmp 0x449ca3
mov ecx, dword [ebp - 0x10]
jmp 0x449cac
cmp dword [esi + 0x8c], 0
je 0x449d35
cmp eax, dword [esi + 0x88]
jbe 0x449d35
mov dword [esi + 0x68], edi
cmp dword [esi + 0x8c], edi
jle 0x449d35
jmp 0x447ec4
cmp edx, eax
jge 0x449e2b
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x449e79
movzx eax, word [eax]
cmp ecx, eax
je 0x449e2b
cmp edi, eax
je 0x449e2b
add dword [ebp - 8], 2
inc edx
cmp edx, dword [ebp - 0x14]
jl 0x449e0e
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
mov edi, dword [ebp - 0x18]
cmp eax, edi
je 0x414351
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edi
jne 0x449e46
jmp 0x414351
cmp dword [esi + 0x8c], 0
je 0x449e2e
cmp eax, dword [esi + 0x88]
jbe 0x449e2e
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x449e2e
jmp 0x447ec4
mov edi, dword [ebp - 0x20]
test edi, edi
je 0x449ff8
mov edi, 1
cmp edx, edi
jl 0x449f0a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449ef6
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 dword [ebp - 0x10], ecx
je case.0x414306.157
inc edi
cmp edi, edx
jle 0x449eb3
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x20]
cmp edx, eax
je 0x4142e0
cmp dword [ebp - 0x2c], 0
jne 0x44db46
cmp dword [ebp - 0x20], 0
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], edi
je 0x44a059
cmp edx, eax
jge 0x449f92
mov eax, dword [ebp - 8]
mov edi, 1
cmp eax, dword [esi + 0x7c]
jae 0x44a031
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449f77
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edi, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x10], ecx
je 0x44a051
inc edx
lea eax, [eax + edi*2]
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x14]
jl 0x449f33
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
cmp eax, edi
je 0x414351
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edx, dword [ebp - 8]
mov ecx, 0xfc00
sub edx, 2
mov dword [ebp - 8], edx
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x449fef
sub edx, 2
mov dword [ebp - 8], edx
cmp edx, edi
jne 0x449fa7
jmp 0x414351
mov ecx, 1
cmp edx, ecx
jl 0x44a029
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
add dword [ebp - 8], 2
cmp edi, eax
je case.0x414306.157
inc ecx
cmp ecx, edx
jle 0x44a004
jmp 0x449f04
mov ecx, dword [ebp - 0x10]
jmp 0x449f0d
cmp dword [esi + 0x8c], 0
je 0x44a051
cmp eax, dword [esi + 0x88]
jbe 0x44a051
mov dword [esi + 0x68], edi
cmp dword [esi + 0x8c], edi
jg 0x447ec4
mov edi, dword [ebp - 0x28]
jmp 0x449f95
cmp edx, eax
jge 0x44a076
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44a0c1
movzx eax, word [eax]
cmp ecx, eax
je 0x44a076
add dword [ebp - 8], 2
inc edx
cmp edx, dword [ebp - 0x14]
jl 0x44a05d
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
cmp eax, edi
je 0x414351
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edi
jne 0x44a08e
jmp 0x414351
cmp dword [esi + 0x8c], 0
je 0x44a079
cmp eax, dword [esi + 0x88]
jbe 0x44a079
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44a079
jmp 0x447ec4
movzx edx, word [ebx + 2]
add ebx, 4
mov edi, edx
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x1c], edi
jmp 0x4149d0
movzx edx, word [ebx + 2]
xor eax, eax
xor edi, edi
cmp ecx, 0x5c
mov dword [ebp - 0x1c], edi
sete al
add ebx, 4
mov dword [ebp - 0x2c], eax
jmp 0x4149d0
xor edi, edi
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x1c], edi
add ebx, 2
jmp 0x4149cb
mov edi, 1
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x1c], edi
add ebx, 2
jmp 0x4149cb
xor edi, edi
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x1c], edi
add ebx, 2
lea edx, [edi + 1]
jmp 0x4149d0
movzx edx, word [ebx + 2]
xor edi, edi
mov dword [ebp - 0x30], 1
add ebx, 4
mov dword [ebp - 0x1c], edi
jmp 0x4149d0
mov dword [ebp - 0x2c], 0
jmp 0x4149b3
mov dword [ebp - 0x38], 1
jmp 0x44a191
mov dword [ebp - 0x38], 0
movzx esi, word [ebx + 2]
movzx eax, word [ebx]
add ebx, 4
mov dword [ebp - 0x40], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x24], ebx
jmp 0x4149f4
test eax, eax
js 0x44a907
cmp eax, 0xa
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f236]
cmp dword [ebp - 0x38], 0
jne case.0x414306.157
mov ecx, 1
cmp edi, ecx
jl 0x44ac33
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
add dword [ebp - 8], 2
cmp dword [ebp - 0x20], 0
movzx eax, word [eax]
je 0x44a201
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a201
add dword [ebp - 8], 2
inc ecx
cmp ecx, edi
jle 0x44a1d8
jmp 0x44ac30
mov edi, 1
cmp dword [ebp - 0x1c], edi
jl 0x44b745
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x44a262
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a262
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 eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a284
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp eax, 9
je 0x44a2a9
cmp eax, 5
je 0x44a2a9
cmp eax, 8
je 0x44a2a9
xor eax, eax
jmp 0x44a2ae
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414306.157
inc edi
cmp edi, dword [ebp - 0x1c]
jle 0x44a219
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edi, 1
cmp dword [ebp - 0x1c], edi
jl 0x44b745
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x44a323
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a323
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 eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a345
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x40]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp dword [eax*4 + 0x4b7390], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414306.157
inc edi
cmp edi, dword [ebp - 0x1c]
jle 0x44a2da
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edi, 1
cmp dword [ebp - 0x1c], edi
jl 0x44b745
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x44a3db
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a3db
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 eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a3fd
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414306.157
inc edi
cmp edi, dword [ebp - 0x1c]
jle 0x44a392
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edi, 1
cmp dword [ebp - 0x1c], edi
jl 0x44b745
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x44a48c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a48c
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 eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a4ae
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f40]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414306.157
inc edi
cmp edi, dword [ebp - 0x1c]
jle 0x44a443
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edi, 1
cmp dword [ebp - 0x1c], edi
jl 0x44b745
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x44a53f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a53f
mov edx, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [edx]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a561
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x44a588
cmp eax, 3
je 0x44a588
xor eax, eax
jmp 0x44a58d
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414306.157
inc edi
cmp edi, dword [ebp - 0x1c]
jle 0x44a4f4
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov eax, dword [ebp - 0x1c]
mov edi, 1
cmp eax, edi
jl 0x44b73a
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44a606
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a603
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x1c]
cmp ecx, 0x180e
ja 0x44a653
je 0x44a6db
cmp ecx, 0x85
ja 0x44a63a
je 0x44a6db
cmp ecx, 9
jb case.0x44a66f.8203
cmp ecx, 0xd
jbe 0x44a6db
cmp ecx, 0x20
jne case.0x44a66f.8203
jmp 0x44a6db
cmp ecx, 0xa0
je 0x44a6db
cmp ecx, 0x1680
jne case.0x44a66f.8203
jmp 0x44a6db
cmp ecx, 0x202f
ja 0x44a676
je 0x44a6db
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44a66f.8203
movzx eax, byte [eax + 0x44f26a]
jmp dword [eax*4 + 0x44f262]
cmp ecx, 0x205f
je 0x44a6db
cmp ecx, 0x3000
je 0x44a6db
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a6a8
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp dword [eax*4 + 0x4b7390], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414306.157
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
jmp 0x44a6e5
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x38], 0
jne case.0x414306.157
inc edi
cmp edi, eax
jle 0x44a5be
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov dword [ebp - 0x18], 1
cmp edi, 1
jl 0x4149ff
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx edi, word [ecx]
add ecx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], ecx
je 0x44a751
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a751
movzx eax, word [ecx]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44a774
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x44a7a0
cmp eax, 3
je 0x44a7a0
cmp edi, 0x5f
je 0x44a7a0
xor eax, eax
jmp 0x44a7a5
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414306.157
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, edi
jle 0x44a709
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edi, 1
cmp dword [ebp - 0x1c], edi
jl 0x44b745
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44a81e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a81e
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x40]
mov edx, dword [eax*4 + 0x4a32e0]
lea eax, [eax*4 + 0x4a32e0]
cmp ecx, edx
jb 0x44a840
lea eax, [eax + 4]
cmp ecx, edx
je 0x44a85b
mov edx, dword [eax]
cmp ecx, edx
jae 0x44a833
cmp dword [ebp - 0x38], 0
je case.0x414306.157
inc edi
cmp edi, dword [ebp - 0x1c]
jle 0x44a7d6
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
cmp dword [ebp - 0x38], 0
jne case.0x414306.157
jmp 0x44a84a
mov edx, 1
cmp edi, edx
jl 0x44b750
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x44a8bd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a8bd
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, 0x24
je 0x44a8e8
cmp ecx, 0x40
je 0x44a8e8
cmp ecx, 0x60
je 0x44a8e8
cmp ecx, 0xa0
jb 0x44a8dc
cmp ecx, 0xd7ff
jbe 0x44a8e8
cmp ecx, 0xe000
jae 0x44a8e8
xor eax, eax
jmp 0x44a8ed
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414306.157
inc edx
cmp edx, edi
jle 0x44a874
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
cmp ecx, 0x16
jne 0x44aa91
mov dword [ebp - 0x34], 1
cmp edi, 1
jl 0x4149ff
mov edx, dword [ebp - 8]
mov edi, dword [esi + 0x7c]
cmp edx, edi
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44a96a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a96a
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44a98c
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 8]
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f42]
mov dword [ebp - 0x18], eax
cmp edx, edi
jae 0x44aa4e
mov ebx, dword [ebp - 0x20]
movzx ecx, word [edx]
mov edi, 1
test ebx, ebx
je 0x44a9e8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a9e8
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44aa0a
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x18]
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx ecx, byte [eax*8 + 0x4a1f42]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a4b80], eax
mov edx, dword [ebp - 8]
je 0x44aa48
lea edx, [edx + edi*2]
mov dword [ebp - 0x18], ecx
mov edi, dword [esi + 0x7c]
mov dword [ebp - 8], edx
cmp edx, edi
jb 0x44a9af
jmp 0x44aa4b
mov edi, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x24]
cmp dword [esi + 0x8c], 0
je 0x44aa77
cmp edx, edi
jb 0x44aa77
cmp edx, dword [esi + 0x88]
jbe 0x44aa77
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, edi
jle 0x44a923
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
cmp dword [ebp - 0x20], 0
lea eax, [ecx - 6]
je 0x44b219
cmp eax, 0xf
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f296]
mov dword [ebp - 0x18], 1
cmp edi, 1
jl 0x44b73d
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x44d927
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x44ab88
push dword [ebp - 0x20]
push edi
push ecx
mov ecx, eax
call fcn.0041ecb2
add esp, 0xc
test eax, eax
jne case.0x414306.157
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x44ab39
cmp edx, dword [esi + 0x7c]
jb 0x44ab39
cmp dword [esi + 0x18], 0
jne 0x44ab39
cmp dword [edi], 2
jne 0x44ab39
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44ab36
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov eax, dword [ebp - 8]
add eax, 2
add edx, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x28], edx
cmp eax, dword [esi + 0x7c]
jae 0x44ab6e
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 8]
jne 0x44ab6e
add eax, 2
add edx, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
inc edx
mov dword [ebp - 0x18], edx
cmp edx, edi
jle 0x44aaca
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44abc1
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44aafa
cmp edx, 1
je case.0x414306.157
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44aafd
jmp case.0x414306.157
mov edx, dword [ebp - 0x28]
jmp 0x44ab00
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44d927
add eax, 2
mov dword [ebp - 8], eax
cmp eax, ecx
jae 0x44ac12
mov ax, word [eax]
mov dword [ebp - 0x18], 0xfc00
and ax, word [ebp - 0x18]
mov dword [ebp - 0x18], 0xdc00
cmp ax, word [ebp - 0x18]
mov eax, dword [ebp - 8]
jne 0x44ac12
add eax, 2
mov dword [ebp - 8], eax
inc edx
cmp edx, edi
jle 0x44abdc
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov eax, dword [esi + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp dword [ebp - 8], eax
ja case.0x414306.157
add dword [ebp - 8], ecx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
jmp 0x4149ff
mov edi, 1
cmp dword [ebp - 0x1c], edi
jl 0x44b73a
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44ac93
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, 0xd
ja 0x44acbf
je 0x44acad
cmp ecx, 0xa
je 0x44ace3
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414306.157
jmp 0x44acd6
cmp eax, edx
jae 0x44ace3
cmp word [eax], 0xa
jne 0x44ace3
add eax, 2
mov dword [ebp - 8], eax
jmp 0x44ace3
cmp ecx, 0x85
je 0x44acd9
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414306.157
mov eax, dword [ebp - 8]
cmp dword [esi + 0x6c], 0
jne case.0x414306.157
inc edi
cmp edi, dword [ebp - 0x1c]
jle 0x44ac4f
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44ad4d
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, 0x180e
ja 0x44ad8b
je case.0x414306.157
cmp ecx, 0xa0
ja 0x44ad7d
je case.0x414306.157
cmp ecx, 9
je case.0x414306.157
cmp ecx, 0x20
je case.0x414306.157
jmp 0x44adc7
cmp ecx, 0x1680
je case.0x414306.157
jmp 0x44adc7
cmp ecx, 0x205f
ja 0x44adbb
je case.0x414306.157
cmp ecx, 0x2000
jb 0x44adc7
cmp ecx, 0x200a
jbe case.0x414306.157
cmp ecx, 0x202f
je case.0x414306.157
jmp 0x44adc7
cmp ecx, 0x3000
je case.0x414306.157
inc edx
cmp edx, edi
jle 0x44ad08
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44ae2d
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, 0x180e
ja 0x44ae5f
je 0x44ae97
cmp ecx, 0xa0
ja 0x44ae51
je 0x44ae97
cmp ecx, 9
je 0x44ae97
cmp ecx, 0x20
jne case.0x414306.157
jmp 0x44ae97
cmp ecx, 0x1680
jne case.0x414306.157
jmp 0x44ae97
cmp ecx, 0x205f
ja 0x44ae8b
je 0x44ae97
cmp ecx, 0x2000
jb case.0x414306.157
cmp ecx, 0x200a
jbe 0x44ae97
cmp ecx, 0x202f
jne case.0x414306.157
jmp 0x44ae97
cmp ecx, 0x3000
jne case.0x414306.157
inc edx
cmp edx, edi
jle 0x44ade8
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44aefd
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, 0x85
ja 0x44af1b
je case.0x414306.157
cmp ecx, 0xa
jb 0x44af2f
cmp ecx, 0xd
jbe case.0x414306.157
jmp 0x44af2f
cmp ecx, 0x2028
jb 0x44af2f
cmp ecx, 0x2029
jbe case.0x414306.157
inc edx
cmp edx, edi
jle 0x44aeb8
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44af91
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, 0x85
ja 0x44afa9
je 0x44afbb
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414306.157
jmp 0x44afb8
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
cmp edx, edi
jle 0x44af4c
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x44b01d
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, 0x80
jae 0x44b035
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
cmp edx, edi
jle 0x44afd8
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
cmp ecx, 0x80
jae case.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
add eax, 2
mov dword [ebp - 8], eax
cmp edx, edi
jle 0x44b052
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edi, 1
cmp dword [ebp - 0x1c], edi
jl 0x44b73a
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
cmp ecx, edx
jae 0x44d3f4
movzx ecx, word [ecx]
cmp ecx, 0x80
jae 0x44b0c7
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414306.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edx
jae 0x44b0f8
mov ax, word [ecx]
mov dword [ebp - 0x18], 0xfc00
and ax, word [ebp - 0x18]
mov dword [ebp - 0x18], 0xdc00
cmp ax, word [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
jne 0x44b0f8
add ecx, 2
mov dword [ebp - 8], ecx
inc edi
cmp edi, eax
jle 0x44b0a4
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
cmp ecx, 0x80
jae case.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
add eax, 2
mov dword [ebp - 8], eax
cmp edx, edi
jle 0x44b118
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edi, 1
cmp dword [ebp - 0x1c], edi
jl 0x44b73a
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
cmp ecx, edx
jae 0x44d3f4
movzx ecx, word [ecx]
cmp ecx, 0x80
jae 0x44b18d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414306.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edx
jae 0x44b1be
mov ax, word [ecx]
mov dword [ebp - 0x18], 0xfc00
and ax, word [ebp - 0x18]
mov dword [ebp - 0x18], 0xdc00
cmp ax, word [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
jne 0x44b1be
add ecx, 2
mov dword [ebp - 8], ecx
inc edi
cmp edi, eax
jle 0x44b16a
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx ecx, word [eax]
cmp ecx, 0x80
jae case.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
add eax, 2
mov dword [ebp - 8], eax
cmp edx, edi
jle 0x44b1de
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
cmp eax, 0xf
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f2d6]
mov dword [ebp - 0x18], 1
cmp edi, 1
jl 0x44b73d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44d927
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x44b2bf
push 0
push edi
push ecx
mov ecx, eax
call fcn.0041ecb2
add esp, 0xc
test eax, eax
jne case.0x414306.157
mov ecx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x44b2a3
lea eax, [ecx + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44b2a3
cmp dword [esi + 0x18], 0
jne 0x44b2a3
cmp dword [edi], 2
jne 0x44b2a3
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne 0x44b2a3
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov eax, dword [ebp - 0x18]
add ecx, 2
mov edi, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], eax
cmp eax, edi
jle 0x44b239
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
cmp dword [ebp - 8], ecx
ja 0x44b267
mov ecx, dword [ebp - 8]
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne 0x44b26a
cmp edx, 1
je case.0x414306.157
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
je case.0x414306.157
jmp 0x44b26a
mov eax, dword [esi + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp dword [ebp - 8], eax
jbe 0x44ac2d
cmp dword [esi + 0x8c], 0
je case.0x414306.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jmp 0x44d40f
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44d927
movzx eax, word [eax]
add dword [ebp - 8], 2
cmp eax, 0xd
jg 0x44b370
je 0x44b35b
cmp eax, 0xa
je 0x44b38f
add eax, 0xfffffff5
cmp eax, 1
ja case.0x414306.157
jmp 0x44b385
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44b392
cmp word [eax], 0xa
jne 0x44b392
add eax, 2
mov dword [ebp - 8], eax
jmp 0x44b392
cmp eax, 0x85
je 0x44b385
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x414306.157
cmp dword [esi + 0x6c], 0
jne case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
cmp edx, edi
jle 0x44b332
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov ecx, 1
cmp edi, ecx
jl 0x44ac30
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
add dword [ebp - 8], 2
cmp eax, 0x180e
jg 0x44b3fa
je case.0x414306.157
cmp eax, 0xa0
jg 0x44b3ed
je case.0x414306.157
cmp eax, 9
je case.0x414306.157
cmp eax, 0x20
je case.0x414306.157
jmp 0x44b431
cmp eax, 0x1680
je case.0x414306.157
jmp 0x44b431
cmp eax, 0x205f
jg 0x44b426
je case.0x414306.157
cmp eax, 0x2000
jl 0x44b431
cmp eax, 0x200a
jle case.0x414306.157
cmp eax, 0x202f
je case.0x414306.157
jmp 0x44b431
cmp eax, 0x3000
je case.0x414306.157
inc ecx
cmp ecx, edi
jle 0x44b3ac
jmp 0x44ac30
mov ecx, 1
cmp edi, ecx
jl 0x44ac30
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
add dword [ebp - 8], 2
cmp eax, 0x180e
jg 0x44b48e
je 0x44b4c1
cmp eax, 0xa0
jg 0x44b481
je 0x44b4c1
cmp eax, 9
je 0x44b4c1
cmp eax, 0x20
jne case.0x414306.157
jmp 0x44b4c1
cmp eax, 0x1680
jne case.0x414306.157
jmp 0x44b4c1
cmp eax, 0x205f
jg 0x44b4b6
je 0x44b4c1
cmp eax, 0x2000
jl case.0x414306.157
cmp eax, 0x200a
jle 0x44b4c1
cmp eax, 0x202f
jne case.0x414306.157
jmp 0x44b4c1
cmp eax, 0x3000
jne case.0x414306.157
inc ecx
cmp ecx, edi
jle 0x44b44c
jmp 0x44ac30
mov ecx, 1
cmp edi, ecx
jl 0x44ac30
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
add dword [ebp - 8], 2
cmp eax, 0x85
jg 0x44b508
je case.0x414306.157
cmp eax, 0xa
jl 0x44b51a
cmp eax, 0xd
jle case.0x414306.157
jmp 0x44b51a
cmp eax, 0x2028
jl 0x44b51a
cmp eax, 0x2029
jle case.0x414306.157
inc ecx
cmp ecx, edi
jle 0x44b4d8
jmp 0x44ac30
mov ecx, 1
cmp edi, ecx
jl 0x44ac30
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
add dword [ebp - 8], 2
cmp eax, 0x85
jg 0x44b55b
je 0x44b569
add eax, 0xfffffff6
cmp eax, 3
ja case.0x414306.157
jmp 0x44b569
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x414306.157
inc ecx
cmp ecx, edi
jle 0x44b531
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44b5a8
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
add eax, 2
mov dword [ebp - 8], eax
cmp edx, edi
jle 0x44b583
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja case.0x414306.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
add eax, 2
mov dword [ebp - 8], eax
cmp edx, edi
jle 0x44b5ce
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44b642
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
add eax, 2
mov dword [ebp - 8], eax
cmp edx, edi
jle 0x44b61d
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja case.0x414306.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
add eax, 2
mov dword [ebp - 8], eax
cmp edx, edi
jle 0x44b668
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44b6dc
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
add eax, 2
mov dword [ebp - 8], eax
cmp edx, edi
jle 0x44b6b7
mov edx, dword [ebp - 0x10]
jmp 0x44ac30
mov edx, 1
cmp edi, edx
jl 0x44b74d
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d927
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja case.0x414306.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414306.157
mov eax, dword [ebp - 8]
inc edx
add eax, 2
mov dword [ebp - 8], eax
cmp edx, edi
jle 0x44b6fe
jmp 0x44a2c4
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0xc]
jmp 0x4149ff
mov edi, dword [ebp - 0x1c]
jmp 0x4149ff
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
jmp 0x4149ff
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], ecx
test eax, eax
js 0x44c01f
cmp eax, 0xa
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f316]
cmp edi, edx
jge 0x44b7c8
mov eax, dword [ebp - 8]
mov ecx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44b836
cmp dword [ebp - 0x20], 0
je 0x44b7b4
mov ax, word [eax]
mov dword [ebp - 0x18], 0xfc00
and ax, word [ebp - 0x18]
mov dword [ebp - 0x18], 0xd800
cmp ax, word [ebp - 0x18]
mov eax, dword [ebp - 8]
jne 0x44b7b4
mov ecx, 2
cmp dword [ebp - 0x38], 0
jne 0x44b7c5
inc edi
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44b77d
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
cmp edx, ecx
je 0x414351
mov edi, dword [ebp - 0xc]
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edx, dword [ebp - 8]
sub edx, 2
mov dword [ebp - 8], edx
cmp dword [ebp - 0x20], eax
je 0x44b82d
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44b82d
sub edx, 2
mov dword [ebp - 8], edx
cmp edx, edi
jne 0x44b7e0
jmp 0x414351
cmp dword [esi + 0x8c], 0
mov edx, dword [ebp - 8]
je 0x44b859
cmp edx, dword [esi + 0x88]
jbe 0x44b859
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jg 0x447ec4
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44b7cb
mov edi, 1
cmp edx, dword [esi + 0x7c]
jae 0x44bd67
cmp dword [ebp - 0x20], 0
movzx ecx, word [edx]
je 0x44b8b0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b8b0
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b8d2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp eax, 9
je 0x44b8f7
cmp eax, 5
je 0x44b8f7
cmp eax, 8
je 0x44b8f7
xor eax, eax
jmp 0x44b8fc
mov eax, 1
mov edx, dword [ebp - 8]
cmp eax, dword [ebp - 0x38]
je 0x44b859
mov eax, dword [ebp - 0x1c]
lea edx, [edx + edi*2]
inc eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jl 0x44b86c
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44b7cb
mov edi, 1
cmp edx, dword [esi + 0x7c]
jae 0x44bd67
cmp dword [ebp - 0x20], 0
movzx ecx, word [edx]
je 0x44b975
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b975
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44b997
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x40]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp dword [eax*4 + 0x4b7390], edx
mov edx, dword [ebp - 8]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44b859
mov eax, dword [ebp - 0x1c]
lea edx, [edx + edi*2]
inc eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jl 0x44b931
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44b7cb
mov edi, 1
cmp edx, dword [esi + 0x7c]
jae 0x44bd67
cmp dword [ebp - 0x20], 0
movzx ecx, word [edx]
je 0x44ba31
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ba31
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44ba53
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 8]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44b859
mov eax, dword [ebp - 0x1c]
lea edx, [edx + edi*2]
inc eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jl 0x44b9ed
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44b7cb
mov edi, 1
cmp edx, dword [esi + 0x7c]
jae 0x44bd67
cmp dword [ebp - 0x20], 0
movzx ecx, word [edx]
je 0x44bae6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bae6
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bb08
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 8]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f40]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44b859
mov eax, dword [ebp - 0x1c]
lea edx, [edx + edi*2]
inc eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jl 0x44baa2
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44b7cb
mov edi, 1
cmp edx, dword [esi + 0x7c]
jae 0x44bd67
cmp dword [ebp - 0x20], 0
movzx ecx, word [edx]
je 0x44bb9b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bb9b
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bbbd
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x44bbe4
cmp eax, 3
je 0x44bbe4
xor eax, eax
jmp 0x44bbe9
mov eax, 1
mov edx, dword [ebp - 8]
cmp eax, dword [ebp - 0x38]
je 0x44b859
mov eax, dword [ebp - 0x1c]
lea edx, [edx + edi*2]
inc eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jl 0x44bb57
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp edi, edx
jge 0x44b7c8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 8]
mov edi, 1
cmp ecx, dword [esi + 0x7c]
jae 0x44bd64
cmp dword [ebp - 0x20], 0
movzx ecx, word [ecx]
je 0x44bc6b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bc68
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edi, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov eax, dword [ebp - 0x1c]
cmp ecx, 0x180e
ja 0x44bcb8
je 0x44bd40
cmp ecx, 0x85
ja 0x44bc9f
je 0x44bd40
cmp ecx, 9
jb case.0x44bcd4.8203
cmp ecx, 0xd
jbe 0x44bd40
cmp ecx, 0x20
jne case.0x44bcd4.8203
jmp 0x44bd40
cmp ecx, 0xa0
je 0x44bd40
cmp ecx, 0x1680
jne case.0x44bcd4.8203
jmp 0x44bd40
cmp ecx, 0x202f
ja 0x44bcdb
je 0x44bd40
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44bcd4.8203
movzx eax, byte [eax + 0x44f34a]
jmp dword [eax*4 + 0x44f342]
cmp ecx, 0x205f
je 0x44bd40
cmp ecx, 0x3000
je 0x44bd40
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44bd0d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp dword [eax*4 + 0x4b7390], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je 0x44b7c5
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x44bd4a
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x38], 0
jne 0x44b7c5
mov ecx, dword [ebp - 8]
inc eax
mov dword [ebp - 0x1c], eax
lea ecx, [ecx + edi*2]
mov dword [ebp - 8], ecx
cmp eax, edx
jl 0x44bc21
jmp 0x44b7c5
mov edx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x44b859
cmp edx, dword [esi + 0x88]
jbe 0x44b859
mov dword [esi + 0x68], edi
cmp dword [esi + 0x8c], edi
jg 0x447ec4
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44b7cb
mov dword [ebp - 0x18], 1
cmp edx, dword [esi + 0x7c]
jae 0x44be6b
cmp dword [ebp - 0x20], 0
movzx edi, word [edx]
je 0x44bdea
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bdea
movzx eax, word [edx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov dword [ebp - 0x18], 2
add edi, 0x10000
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44be0d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x44be39
cmp eax, 3
je 0x44be39
cmp edi, 0x5f
je 0x44be39
xor eax, eax
jmp 0x44be3e
mov eax, 1
mov edx, dword [ebp - 8]
cmp eax, dword [ebp - 0x38]
je 0x44b859
mov eax, dword [ebp - 0x18]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jl 0x44bda2
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp dword [esi + 0x8c], 0
je 0x44b859
cmp edx, dword [esi + 0x88]
jbe 0x44b859
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44b7cb
mov edi, 1
cmp edx, dword [esi + 0x7c]
jae 0x44bd67
cmp dword [ebp - 0x20], 0
movzx ecx, word [edx]
je 0x44beef
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44beef
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, dword [ebp - 0x40]
mov edx, dword [eax*4 + 0x4a32e0]
lea eax, [eax*4 + 0x4a32e0]
cmp ecx, edx
jb 0x44bf11
lea eax, [eax + 4]
cmp ecx, edx
je 0x44bf3c
mov edx, dword [eax]
cmp ecx, edx
jae 0x44bf04
cmp dword [ebp - 0x38], 0
je 0x44b7c5
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
lea edx, [edx + edi*2]
mov dword [ebp - 8], edx
cmp eax, dword [ebp - 0x10]
jl 0x44beab
mov ecx, dword [ebp - 0xc]
jmp 0x44b7cb
cmp dword [ebp - 0x38], 0
je 0x44bf1b
jmp 0x44b7c5
cmp edi, edx
jge 0x44b7c8
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44bfea
cmp dword [ebp - 0x20], 0
movzx ecx, word [eax]
je 0x44bf99
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bf99
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0x24
je 0x44bfc4
cmp ecx, 0x40
je 0x44bfc4
cmp ecx, 0x60
je 0x44bfc4
cmp ecx, 0xa0
jb 0x44bfb8
cmp ecx, 0xd7ff
jbe 0x44bfc4
cmp ecx, 0xe000
jae 0x44bfc4
xor eax, eax
jmp 0x44bfc9
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0x44b7c5
mov eax, dword [ebp - 8]
inc edi
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x10]
jl 0x44bf52
jmp 0x44b7c5
cmp dword [esi + 0x8c], 0
mov edx, dword [ebp - 8]
je 0x44b859
cmp edx, dword [esi + 0x88]
jbe 0x44b859
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44b859
jmp 0x447ec4
mov eax, dword [ebp - 0x14]
cmp eax, 0x16
jne 0x44c213
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44c1c4
mov edi, dword [esi + 0x7c]
cmp edx, edi
jae 0x44c19c
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44c07d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c07d
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c09f
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 8]
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f42]
mov dword [ebp - 0x18], eax
cmp edx, edi
jae 0x44c161
mov ebx, dword [ebp - 0x20]
movzx ecx, word [edx]
mov edi, 1
test ebx, ebx
je 0x44c0fb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c0fb
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44c11d
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x18]
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx ecx, byte [eax*8 + 0x4a1f42]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a4b80], eax
mov edx, dword [ebp - 8]
je 0x44c15b
lea edx, [edx + edi*2]
mov dword [ebp - 0x18], ecx
mov edi, dword [esi + 0x7c]
mov dword [ebp - 8], edx
cmp edx, edi
jb 0x44c0c2
jmp 0x44c15e
mov edi, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x24]
cmp dword [esi + 0x8c], 0
je 0x44c18a
cmp edx, edi
jb 0x44c18a
cmp edx, dword [esi + 0x88]
jbe 0x44c18a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jl 0x44c036
jmp 0x44c1c1
cmp dword [esi + 0x8c], 0
je 0x44c1c1
cmp edx, dword [esi + 0x88]
jbe 0x44c1c1
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov ecx, dword [ebp - 0xc]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
cmp edx, ecx
je 0x414351
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x20], eax
jne 0x44d130
movzx ecx, word [edi]
jmp 0x44d176
add eax, 0xfffffffa
cmp dword [ebp - 0x20], 0
je 0x44cac8
cmp eax, 0xf
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f376]
cmp edx, 0x7fffffff
jge 0x44c3bb
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44c280
lea eax, [edx + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edx, ecx
jae 0x44c63d
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x44c303
push dword [ebp - 0x20]
push edi
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041ecb2
add esp, 0xc
test eax, eax
je 0x44c335
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
cmp edx, ecx
je 0x414351
mov edi, dword [ebp - 0xc]
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edx, dword [ebp - 8]
mov ecx, 0xfc00
sub edx, 2
mov dword [ebp - 8], edx
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44c2dd
sub edx, 2
mov dword [ebp - 8], edx
cmp dword [ebp - 0x14], 0x11
jne 0x44c2fa
cmp edx, edi
jbe 0x44c2fc
cmp word [edx], 0xa
jne 0x44c2fa
cmp word [edx - 2], 0xd
jne 0x44c2fa
add edx, 0xfffffffe
mov dword [ebp - 8], edx
cmp edx, edi
jne 0x44c295
jmp 0x414351
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
cmp dword [ebp - 8], ecx
ja 0x44c335
mov ecx, dword [ebp - 8]
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne 0x44c338
cmp edx, 1
je 0x44c27a
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44c33b
jmp 0x44c27a
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44c371
cmp edx, dword [esi + 0x7c]
jb 0x44c371
cmp dword [esi + 0x18], 0
jne 0x44c371
cmp dword [edi], 2
jne 0x44c371
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne 0x44c371
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x28], edx
cmp ecx, dword [esi + 0x7c]
jae 0x44c3a3
mov ax, word [ecx]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x44c3a3
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jge 0x44c662
jmp 0x44c249
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44c280
lea eax, [edx + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [esi + 0x7c]
cmp edx, ecx
jae 0x44c63d
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x44c483
push dword [ebp - 0x20]
push edi
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041ecb2
add esp, 0xc
test eax, eax
jne 0x44c27a
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
cmp dword [esi + 0x8c], 0
je 0x44c439
cmp edx, dword [esi + 0x7c]
jb 0x44c439
cmp dword [esi + 0x18], 0
jne 0x44c439
cmp dword [edi], 2
jne 0x44c439
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne 0x44c439
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x28], edx
cmp ecx, dword [esi + 0x7c]
jae 0x44c46b
mov ax, word [ecx]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x44c46b
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jge 0x44c662
jmp 0x44c3cc
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
cmp dword [ebp - 8], ecx
ja 0x44c3fd
mov ecx, dword [ebp - 8]
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne 0x44c400
cmp edx, 1
je 0x44c27a
mov edx, dword [ebp - 0x28]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0x44c403
jmp 0x44c27a
cmp edx, 0x7fffffff
jge 0x44c517
cmp edi, edx
jge 0x44c27d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44c63a
add eax, 2
mov dword [ebp - 8], eax
cmp eax, ecx
jae 0x44c50d
mov ax, word [eax]
mov dword [ebp - 0x18], 0xfc00
and ax, word [ebp - 0x18]
mov dword [ebp - 0x18], 0xdc00
cmp ax, word [ebp - 0x18]
mov eax, dword [ebp - 8]
jne 0x44c50d
add eax, 2
mov dword [ebp - 8], eax
inc edi
cmp edi, edx
jl 0x44c4d7
jmp 0x44c27a
cmp dword [esi + 0x8c], 0
mov edx, dword [esi + 0x7c]
mov dword [ebp - 8], edx
je 0x44c280
cmp edx, dword [esi + 0x88]
jbe 0x44c280
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c280
jmp 0x447ec4
mov ecx, dword [esi + 0x7c]
sub edx, edi
mov edi, dword [ebp - 8]
mov eax, ecx
sub eax, edi
sar eax, 1
cmp edx, eax
jbe 0x44c56b
mov edx, ecx
mov dword [ebp - 8], edx
jmp 0x44c63d
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0x44c27a
cmp edi, edx
jge 0x44c27d
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, edi
jae 0x44c63a
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c5c4
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0xd
jne 0x44c5e8
mov edx, dword [ebp - 8]
add edx, 2
mov dword [ebp - 8], edx
cmp edx, edi
jae 0x44c662
cmp word [edx], 0xa
jne 0x44c628
add edx, 2
mov dword [ebp - 8], edx
jmp 0x44c628
cmp ecx, 0xa
je 0x44c61d
cmp dword [esi + 0x6c], 0
jne 0x44c27a
cmp ecx, 0xb
je 0x44c61d
cmp ecx, 0xc
je 0x44c61d
cmp ecx, 0x85
je 0x44c61d
cmp ecx, 0x2028
je 0x44c61d
cmp ecx, 0x2029
jne 0x44c27a
mov eax, dword [ebp - 8]
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
mov edx, eax
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jl 0x44c581
jmp 0x44c662
mov edx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x44c662
cmp edx, dword [esi + 0x88]
jbe 0x44c662
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov ecx, dword [ebp - 0xc]
jmp 0x44c280
cmp edi, edx
jge 0x44c27d
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44c63a
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c6b2
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x44c704
je 0x44c6d0
cmp ecx, 0xa0
ja 0x44c6fa
je 0x44c6d0
cmp ecx, 9
je 0x44c6d0
cmp ecx, 0x20
jne 0x44c730
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x14], 0x12
sete al
cmp ecx, eax
je 0x44c27a
mov eax, dword [ebp - 8]
inc edi
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x10]
jl 0x44c675
jmp 0x44c27a
cmp ecx, 0x1680
jne 0x44c730
jmp 0x44c6d0
cmp ecx, 0x205f
ja 0x44c728
je 0x44c6d0
cmp ecx, 0x2000
jb 0x44c730
cmp ecx, 0x200a
jbe 0x44c6d0
cmp ecx, 0x202f
jne 0x44c730
jmp 0x44c6d0
cmp ecx, 0x3000
je 0x44c6d0
xor ecx, ecx
jmp 0x44c6d5
cmp edi, edx
jge 0x44c27d
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44c63a
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c780
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0x85
ja 0x44c7bb
je 0x44c7c6
cmp ecx, 0xa
jb 0x44c794
cmp ecx, 0xd
jbe 0x44c7c6
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x14], 0x14
sete al
cmp ecx, eax
je 0x44c27a
mov eax, dword [ebp - 8]
inc edi
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x10]
jl 0x44c73f
jmp 0x44c27a
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x44c794
mov ecx, 1
jmp 0x44c796
cmp edi, edx
jge 0x44c27d
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44c63a
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c819
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44c82e
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44c27a
mov eax, dword [ebp - 8]
inc edi
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x10]
jl 0x44c7d8
jmp 0x44c27a
cmp edi, edx
jge 0x44c27d
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44c63a
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c88e
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44c27a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44c27a
mov eax, dword [ebp - 8]
inc edi
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x10]
jl 0x44c84d
jmp 0x44c27a
cmp edi, edx
jge 0x44c27d
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44c63a
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c907
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44c91c
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44c27a
mov eax, dword [ebp - 8]
inc edi
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x10]
jl 0x44c8c6
jmp 0x44c27a
cmp edi, edx
jge 0x44c27d
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44c63a
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c97c
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44c27a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44c27a
mov eax, dword [ebp - 8]
inc edi
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x10]
jl 0x44c93b
jmp 0x44c27a
cmp edi, edx
jge 0x44c27d
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44c63a
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c9f5
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44ca0a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44c27a
mov eax, dword [ebp - 8]
inc edi
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x10]
jl 0x44c9b4
jmp 0x44c27a
cmp edi, edx
jge 0x44c27d
mov eax, dword [ebp - 8]
mov edx, 1
cmp eax, dword [esi + 0x7c]
jae 0x44ca93
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ca66
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
mov edx, 2
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp ecx, 0x100
jae 0x44c27a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44c27a
mov eax, dword [ebp - 8]
inc edi
lea eax, [eax + edx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x10]
jl 0x44ca29
jmp 0x44c27a
cmp dword [esi + 0x8c], 0
mov edx, dword [ebp - 8]
je 0x44c662
cmp edx, dword [esi + 0x88]
jbe 0x44c662
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c662
jmp 0x447ec4
cmp eax, 0xf
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f3b6]
cmp edi, edx
mov edx, dword [ebp - 8]
jge 0x44cbc4
mov ecx, dword [esi + 0x7c]
cmp edx, ecx
jae 0x44cca3
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x44cb13
push 0
push edi
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041ecb2
mov edx, dword [ebp - 8]
add esp, 0xc
test eax, eax
je 0x44cb48
jmp 0x44ccc8
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44cb45
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44cb45
cmp edx, 1
mov edx, dword [ebp - 8]
je 0x44ccc8
mov ax, word [edx + 2]
cmp ax, word [esi + 0x36]
jne 0x44cb48
jmp 0x44ccc8
mov edx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x44cb81
lea eax, [edx + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44cb81
cmp dword [esi + 0x18], 0
jne 0x44cb81
cmp dword [edi], 2
jne 0x44cb81
mov ax, word [edx]
cmp ax, word [esi + 0x34]
jne 0x44cb81
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov eax, dword [ebp - 0x1c]
add edx, 2
inc eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0x10]
jl 0x44cae3
jmp 0x44ccc8
mov ecx, dword [esi + 0x7c]
sub edx, edi
mov edi, dword [ebp - 8]
mov eax, ecx
sub eax, edi
sar eax, 1
cmp edx, eax
jbe 0x44cbb8
mov edx, ecx
mov dword [ebp - 8], edx
jmp 0x44cca3
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
cmp dword [ebp - 0x30], 0
jne 0x4142e0
cmp edx, ecx
je 0x414351
mov edi, dword [ebp - 0xc]
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edx, dword [ebp - 8]
sub edx, 2
cmp dword [ebp - 0x14], 0x11
mov dword [ebp - 8], edx
jne 0x44cc23
cmp edx, edi
jbe 0x44cc25
cmp word [edx], 0xa
jne 0x44cc23
cmp word [edx - 2], 0xd
jne 0x44cc23
add edx, 0xfffffffe
mov dword [ebp - 8], edx
cmp edx, edi
jne 0x44cbd9
jmp 0x414351
cmp edi, edx
jge 0x44cbc1
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x44cca0
movzx eax, word [eax]
cmp eax, 0xd
jne 0x44cc5b
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
cmp eax, ecx
jae 0x44cbbe
cmp word [eax], 0xa
je 0x44cc90
jmp 0x44cc96
cmp eax, 0xa
je 0x44cc8d
cmp dword [esi + 0x6c], 0
jne 0x44cbbe
cmp eax, 0xb
je 0x44cc8d
cmp eax, 0xc
je 0x44cc8d
cmp eax, 0x85
je 0x44cc8d
cmp eax, 0x2028
je 0x44cc8d
cmp eax, 0x2029
jne 0x44cbbe
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
inc edi
cmp edi, edx
jl 0x44cc36
jmp 0x44cbbe
mov edx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x44ccc8
cmp edx, dword [esi + 0x88]
jbe 0x44ccc8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov ecx, dword [ebp - 0xc]
jmp 0x44cbc4
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cd6d
movzx eax, word [eax]
cmp eax, 0x180e
jg 0x44cd20
je 0x44cbc1
cmp eax, 0xa0
jg 0x44cd14
je 0x44cbc1
cmp eax, 9
je 0x44cbc1
cmp eax, 0x20
jne 0x44cd56
jmp 0x44cbc1
cmp eax, 0x1680
jne 0x44cd56
jmp 0x44cbc1
cmp eax, 0x205f
jg 0x44cd4b
je 0x44cbc1
cmp eax, 0x2000
jl 0x44cd56
cmp eax, 0x200a
jle 0x44cbc1
cmp eax, 0x202f
jne 0x44cd56
jmp 0x44cbc1
cmp eax, 0x3000
je 0x44cbc1
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44ccdb
jmp 0x44cbc1
cmp dword [esi + 0x8c], 0
mov edx, dword [ebp - 8]
je 0x44cbc4
cmp edx, dword [esi + 0x88]
jbe 0x44cbc4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44cbc4
jmp 0x447ec4
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cd6d
movzx eax, word [eax]
cmp eax, 0x180e
jg 0x44cde2
je 0x44ce14
cmp eax, 0xa0
jg 0x44cdd6
je 0x44ce14
cmp eax, 9
je 0x44ce14
cmp eax, 0x20
je 0x44ce14
jmp 0x44cbc1
cmp eax, 0x1680
je 0x44ce14
jmp 0x44cbc1
cmp eax, 0x205f
jg 0x44ce09
je 0x44ce14
cmp eax, 0x2000
jl 0x44cbc1
cmp eax, 0x200a
jle 0x44ce14
cmp eax, 0x202f
je 0x44ce14
jmp 0x44cbc1
cmp eax, 0x3000
jne 0x44cbc1
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44cdad
jmp 0x44cbc1
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cd6d
movzx eax, word [eax]
cmp eax, 0x85
jg 0x44ce5a
je 0x44cbc1
cmp eax, 0xa
jl 0x44ce6c
cmp eax, 0xd
jg 0x44ce6c
jmp 0x44cbc1
cmp eax, 0x2028
jl 0x44ce6c
cmp eax, 0x2029
jle 0x44cbc1
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44ce32
jmp 0x44cbc1
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cd6d
movzx eax, word [eax]
cmp eax, 0x85
jg 0x44ceac
je 0x44ceba
add eax, 0xfffffff6
cmp eax, 3
jbe 0x44ceba
jmp 0x44cbc1
add eax, 0xffffdfd8
cmp eax, 1
ja 0x44cbc1
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44ce8a
jmp 0x44cbc1
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cca0
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44cefd
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44cbbe
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44ced8
jmp 0x44cbbe
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cca0
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44cbbe
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44cbbe
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44cf1b
jmp 0x44cbbe
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cca0
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44cf87
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44cbbe
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44cf62
jmp 0x44cbbe
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cca0
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44cbbe
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44cbbe
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44cfa5
jmp 0x44cbbe
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44cca0
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44d011
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44cbbe
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44cfec
jmp 0x44cbbe
cmp edi, edx
jge 0x44cbc1
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d067
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x44cbbe
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44cbbe
mov eax, dword [ebp - 8]
inc edi
add eax, 2
mov dword [ebp - 8], eax
cmp edi, edx
jl 0x44d02f
jmp 0x44cbbe
cmp dword [esi + 0x8c], 0
mov edx, dword [ebp - 8]
je 0x44ccc8
cmp edx, dword [esi + 0x88]
jbe 0x44ccc8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44ccc8
jmp 0x447ec4
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 0x44d0cb
lea edx, [ebx + 4]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov ebx, dword [ebp - 0x18]
jmp 0x41434e
mov edx, dword [ebp - 0x18]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
add ebx, 4
jmp 0x41434e
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push edx
push dword [ebp + 8]
mov edx, edi
call fcn.00414280
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x44d112
cmp dword [esi + 0xb8], edi
jne 0x414447
jmp 0x44d11a
test eax, eax
jne 0x414447
mov eax, 0x81
cmp word [edi], ax
je 0x44d371
add ebx, 4
jmp 0x41434e
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d14b
sub edi, 2
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d176
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 + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d198
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f42]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0xc]
je 0x414351
cmp dword [ebp - 0x20], 0
lea edi, [edx - 2]
jne 0x44d1c7
movzx ecx, word [edi]
jmp 0x44d20a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d1df
sub edi, 2
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d20a
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 + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44d22c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x18]
movzx eax, word [eax*2 + 0x4a4bc0]
movzx edx, byte [eax*8 + 0x4a1f42]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a4b80], eax
je 0x44c1d6
mov dword [ebp - 8], edi
mov dword [ebp - 0x18], edx
jmp 0x44d1ad
mov dword [esi + 0x9c], 2
jmp 0x414bc2
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x44eef6
cmp word [ebx], 0x77
je 0x414c11
cmp word [eax], 0x77
jne 0x44eef6
jmp 0x414c11
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4a4ad0]
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x414447
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x14c]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x50]
cmp eax, ecx
je case.0x414306.157
push eax
call dword [0x4b16c0]
add esp, 4
jmp case.0x414306.157
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44d32e
push eax
call dword [0x4b16c0]
add esp, 4
jmp 0x44d32e
lea ecx, [ebx + 4]
mov dword [esi + 0xb0], ecx
mov eax, edi
jmp 0x414447
mov eax, 0xfffffffa
jmp 0x414447
mov eax, dword [ebp + 0x18]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
jmp 0x414447
mov eax, dword [ebp + 0x18]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
jmp 0x44d3b1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
jmp 0x44d3ab
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, 0xfffffc1a
mov dword [esi + 0x90], edx
jmp 0x414447
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push edx
mov ecx, dword [ebp - 8]
lea edx, [ebx + 4]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x414447
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 0x414442
cmp dword [esi + 0x8c], 0
je case.0x414306.157
cmp ecx, dword [esi + 0x88]
jmp 0x44d40f
cmp edx, dword [esi + 0x88]
jbe case.0x414306.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414306.157
mov eax, 0xfffffff4
jmp 0x414447
cmp edx, dword [esi + 0x88]
jbe case.0x414306.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414306.157
mov eax, 0xfffffff4
jmp 0x414447
mov eax, 0xfffffff2
jmp 0x414447
cmp eax, 0xfffffffe
jne 0x44d471
mov eax, dword [esi + 0x7c]
jmp 0x44d474
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414306.157
cmp eax, dword [esi + 0x7c]
jb case.0x414306.157
cmp eax, dword [esi + 0x88]
jmp 0x44d439
mov edx, dword [ebp - 8]
mov dword [ebp - 0x18], edx
cmp edi, eax
jl 0x44d4a2
mov edi, edx
mov ecx, edx
jmp 0x44d505
push dword [ebp - 0x30]
push esi
push ecx
mov ecx, dword [ebp - 0x3c]
call fcn.0048d389
add esp, 0xc
test eax, eax
js 0x44d4ca
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 0x2c]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edi, dword [ebp - 0x28]
jl 0x44d4a2
jmp 0x44d4f7
cmp eax, 0xfffffffe
jne 0x44d4f7
cmp dword [esi + 0x8c], 0
je 0x44d4f7
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x44d4f7
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
cmp ecx, edi
jb case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
neg eax
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp ecx, edi
jae 0x44d505
xor eax, eax
jmp 0x414447
cmp eax, 0xfffffffe
jne 0x44d547
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0x414306.157
cmp edi, dword [esi + 0x7c]
jb case.0x414306.157
cmp edi, dword [esi + 0x88]
jbe case.0x414306.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x414306.157
mov eax, 0xfffffff4
jmp 0x414447
cmp edx, dword [esi + 0x88]
jmp 0x44d439
mov ecx, dword [ebp - 8]
mov eax, ecx
sub ecx, 2
mov dword [ebp - 8], ecx
cmp eax, edi
je case.0x414306.157
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x44d5c0
sub ecx, 2
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44d592
jmp 0x414447
mov ecx, dword [ebp - 8]
test eax, eax
mov eax, dword [ebp + 0x18]
mov edx, ebx
je 0x44d6b6
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x14], eax
jge case.0x414306.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d65c
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 0x44d66f
cmp edi, 0x6e
je case.0x414306.157
jmp 0x44d68d
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
je case.0x414306.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x14]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44d60e
jmp 0x414447
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x10]
jge case.0x414306.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp edx, 0xff
jbe 0x44d706
cmp edi, 0x6e
je case.0x414306.157
jmp 0x44d727
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x28]
test byte [edx + ecx], al
je case.0x414306.157
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
inc eax
mov edx, ebx
mov dword [ebp - 0x14], eax
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.00414280
add esp, 0x14
test eax, eax
je 0x44d6d2
jmp 0x414447
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x14]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x414b0b
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44d7bf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d7bf
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
push dword [ebp - 0x20]
mov edx, dword [ebp - 0x34]
call fcn.0048d6b2
add esp, 4
test eax, eax
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44d76e
jmp 0x414447
cmp dword [esi + 0x8c], 0
je case.0x414306.157
cmp edi, dword [esi + 0x7c]
jb case.0x414306.157
cmp edi, dword [esi + 0x88]
jmp 0x44d439
mov edx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414306.157
cmp edx, dword [esi + 0x7c]
jb case.0x414306.157
jmp 0x44d433
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
lea ecx, [edx + edx]
mov dword [ebp - 0x34], ecx
cmp edi, dword [ebp - 0x14]
jge case.0x414306.157
mov eax, dword [esi + 0x7c]
sub eax, ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44d8a5
lea eax, [edx + edx]
push eax
push dword [ebp - 0x18]
push ecx
call fcn.004203f4
add esp, 0xc
test eax, eax
jne 0x44d8a2
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x34]
mov dword [ebp - 8], eax
jmp 0x44d8d9
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
test edx, edx
jle 0x44d90c
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
sub eax, ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x44d90c
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x6c]
push eax
push ecx
call fcn.004203f4
add esp, 0xc
test eax, eax
jne 0x44d909
mov ecx, dword [ebp - 0x28]
lea eax, [ecx + ecx]
add dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
mov ecx, dword [ebp - 0x34]
add esp, 0x14
mov edx, dword [ebp - 0xc]
test eax, eax
je 0x44d86e
jmp 0x414447
mov ecx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x414306.157
cmp ecx, dword [esi + 0x7c]
jb case.0x414306.157
jmp 0x44d401
cmp dword [esi + 0x8c], 0
je case.0x414306.157
cmp eax, dword [esi + 0x88]
jmp 0x44d40f
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edi, dword [ebp - 0x10]
cmp edi, dword [ebp - 0x14]
jge case.0x414306.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx eax, word [ecx]
cmp dword [ebp - 0x1c], eax
je 0x44d98c
cmp dword [ebp - 0x18], eax
jne case.0x414306.157
mov eax, dword [ebp + 0x18]
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44d966
jmp 0x414447
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov edi, dword [ebp - 0x10]
cmp edi, dword [ebp - 0x14]
jge case.0x414306.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x1c], eax
jne case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
inc edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44d9dc
jmp 0x414447
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.00414280
add esp, 0x14
cmp dword [ebp - 0x20], 0
je 0x44dae8
test eax, eax
jne 0x414447
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebp - 8], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44da9e
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
cmp dword [ebp - 0x10], ecx
je case.0x414306.157
cmp dword [ebp - 0xc], ecx
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44da57
jmp 0x414447
cmp dword [esi + 0x8c], 0
je case.0x414306.157
jmp 0x44d409
test eax, eax
jne 0x414447
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
jge case.0x414306.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx eax, word [ecx]
cmp dword [ebp - 0x10], eax
je case.0x414306.157
cmp dword [ebp - 0xc], eax
je case.0x414306.157
mov eax, dword [ebp + 0x18]
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44daf3
jmp 0x414447
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.00414280
add esp, 0x14
test edi, edi
je 0x44dbef
test eax, eax
jne 0x414447
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
mov eax, ecx
mov dword [ebp - 8], edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dbc0
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
cmp dword [ebp - 0x10], ecx
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44db75
jmp 0x414447
test eax, eax
jne 0x414447
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
jge case.0x414306.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x10], eax
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
inc edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44dbfa
jmp 0x414447
cmp eax, 0xa
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f3f6]
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx eax, word [ecx]
add ecx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], ecx
je 0x44dcae
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dcae
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x38], 0
jne case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
inc edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44dc78
jmp 0x414447
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44dd50
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dd50
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44dd72
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp eax, 9
je 0x44dd97
cmp eax, 5
je 0x44dd97
cmp eax, 8
je 0x44dd97
xor eax, eax
jmp 0x44dd9c
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44dcff
jmp 0x414447
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44de44
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44de44
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44de66
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x40]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp dword [eax*4 + 0x4b7390], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44ddf3
jmp 0x414447
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44df2f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44df2f
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44df51
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44dede
jmp 0x414447
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44e013
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e013
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e035
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f40]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44dfc2
jmp 0x414447
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44e0f7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e0f7
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e119
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x44e140
cmp eax, 3
je 0x44e140
xor eax, eax
jmp 0x44e145
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44e0a6
jmp 0x414447
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44e1ed
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e1ed
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
cmp ecx, 0x180e
ja 0x44e25a
je case.0x44e276.8192
cmp ecx, 0x85
ja 0x44e248
je case.0x44e276.8192
cmp ecx, 9
jb case.0x44e276.8203
cmp ecx, 0xd
jbe case.0x44e276.8192
cmp ecx, 0x20
jne case.0x44e276.8203
cmp dword [ebp - 0x38], 0
jne case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44e19c
jmp 0x414447
cmp ecx, 0xa0
je case.0x44e276.8192
cmp ecx, 0x1680
jne case.0x44e276.8203
jmp case.0x44e276.8192
cmp ecx, 0x202f
ja 0x44e27d
je case.0x44e276.8192
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x44e276.8203
movzx eax, byte [eax + 0x44f42a]
jmp dword [eax*4 + 0x44f422]
cmp ecx, 0x205f
je case.0x44e276.8192
cmp ecx, 0x3000
je case.0x44e276.8192
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e2af
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
cmp dword [eax*4 + 0x4b7390], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0x414306.157
jmp 0x44e21e
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d3f4
movzx edi, word [ecx]
add ecx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], ecx
je 0x44e351
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e351
movzx eax, word [ecx]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4b16d0]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x44e374
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a4bc0]
movzx eax, byte [eax*8 + 0x4a1f41]
mov eax, dword [eax*4 + 0x4b7390]
cmp eax, 1
je 0x44e3a0
cmp eax, 3
je 0x44e3a0
cmp edi, 0x5f
je 0x44e3a0
xor eax, eax
jmp 0x44e3a5
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 0x1c]
inc eax
mov ecx, dword [ebp - 8]
inc edi
push eax
push dword [ebp + 0x14]
mov dword [ebp - 0x1c], edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44e300
jmp 0x414447
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44e453
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e453
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x40]
mov edx, dword [eax*4 + 0x4a32e0]
lea eax, [eax*4 + 0x4a32e0]
cmp ecx, edx
jb 0x44e475
lea eax, [eax + 4]
cmp ecx, edx
je 0x44e4a9
mov edx, dword [eax]
cmp ecx, edx
jae 0x44e468
cmp dword [ebp - 0x38], 0
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44e402
jmp 0x414447
cmp dword [ebp - 0x38], 0
jne case.0x414306.157
jmp 0x44e47f
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.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov edx, dword [ebp - 8]
cmp edx, dword [esi + 0x7c]
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44e52a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e52a
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
cmp ecx, 0x24
je 0x44e555
cmp ecx, 0x40
je 0x44e555
cmp ecx, 0x60
je 0x44e555
cmp ecx, 0xa0
jb 0x44e549
cmp ecx, 0xd7ff
jbe 0x44e555
cmp ecx, 0xe000
jae 0x44e555
xor eax, eax
jmp 0x44e55a
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44e4d9
jmp 0x414447
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov edi, dword [esi + 0x7c]
mov edx, dword [ebp - 8]
cmp edx, edi
jae 0x44dad6
movzx ecx, word [edx]
add edx, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], edx
je 0x44e5f0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e5f0
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
mov dword [ebp - 8], edx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e612
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx ecx, byte [eax*8 + 0x4a1f42]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 8]
cmp ecx, edi
jae 0x44e6d6
mov esi, dword [ebp - 0x18]
mov ebx, ecx
cmp dword [ebp - 0x20], 0
movzx ecx, word [ebx]
mov dword [ebp - 0x18], 1
je 0x44e676
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e676
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x18], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4b16d0]
shl eax, 7
and ecx, 0x8000007f
jns 0x44e698
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a4bc0]
movzx ecx, byte [eax*8 + 0x4a1f42]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a4b80], eax
je 0x44e6ca
mov eax, dword [ebp - 0x18]
mov esi, ecx
lea ebx, [ebx + eax*2]
cmp ebx, edi
jb 0x44e637
mov esi, dword [ebp + 0x10]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x44e6ff
cmp ecx, edi
jb 0x44e6ff
cmp ecx, dword [esi + 0x88]
jbe 0x44e6ff
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 0x1c]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], edi
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44e59d
jmp 0x414447
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44e767
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x414a95
cmp edx, 1
je case.0x414306.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x414a95
jmp case.0x414306.157
mov edx, dword [ebp - 0x14]
jmp 0x414a9b
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
jmp 0x414ab9
lea eax, [edx - 6]
cmp eax, 0xf
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f456]
cmp ecx, 0xd
ja 0x44e7e8
je 0x44e7c7
cmp ecx, 0xa
je case.0x44e7a2.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414306.157
jmp 0x44e7ff
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae case.0x44e7a2.13
cmp word [eax], 0xa
jne case.0x44e7a2.13
add eax, 2
mov dword [ebp - 8], eax
jmp case.0x44e7a2.13
cmp ecx, 0x85
je 0x44e7ff
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414306.157
cmp dword [esi + 0x6c], 0
jne case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x180e
ja 0x44e852
je case.0x414306.157
cmp ecx, 0xa0
ja 0x44e841
je case.0x414306.157
cmp ecx, 9
je case.0x414306.157
cmp ecx, 0x20
je case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x1680
je case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x205f
ja 0x44e889
je case.0x414306.157
cmp ecx, 0x2000
jb case.0x44e7a2.13
cmp ecx, 0x200a
jbe case.0x414306.157
cmp ecx, 0x202f
je case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x3000
je case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x180e
ja 0x44e8de
je case.0x44e7a2.13
cmp ecx, 0xa0
ja 0x44e8cd
je case.0x44e7a2.13
cmp ecx, 9
je case.0x44e7a2.13
cmp ecx, 0x20
jne case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x1680
jne case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x205f
ja 0x44e915
je case.0x44e7a2.13
cmp ecx, 0x2000
jb case.0x414306.157
cmp ecx, 0x200a
jbe case.0x44e7a2.13
cmp ecx, 0x202f
jne case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x3000
jne case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x85
ja 0x44e94b
je case.0x414306.157
cmp ecx, 0xa
jb case.0x44e7a2.13
cmp ecx, 0xd
jbe case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x2028
jb case.0x44e7a2.13
cmp ecx, 0x2029
jbe case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x85
ja 0x44e987
je case.0x44e7a2.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414306.157
jmp case.0x44e7a2.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x100
jae case.0x44e7a2.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x100
jae case.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x100
jae case.0x44e7a2.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x100
jae case.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x100
jae case.0x44e7a2.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414306.157
jmp case.0x44e7a2.13
cmp ecx, 0x100
jae case.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414306.157
jmp case.0x44e7a2.13
mov eax, dword [ebp - 8]
jmp 0x414ac2
cmp eax, dword [esi + 0x7c]
jb case.0x44e7a2.13
cmp dword [esi + 0x18], 0
jne case.0x44e7a2.13
cmp dword [esi + 0x1c], 2
jne case.0x44e7a2.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44e7a2.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
jmp case.0x44e7a2.13
test eax, eax
jne 0x414447
cmp edi, dword [ebp - 0x10]
jge case.0x414306.157
mov ecx, dword [esi + 0x7c]
mov edx, dword [ebp - 8]
cmp edx, ecx
jae 0x44dad6
mov eax, dword [ebp - 0x14]
cmp eax, 0xc
jne 0x44eae7
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44eb03
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0041ecb2
add esp, 0xc
test eax, eax
jne case.0x414306.157
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
movzx ecx, word [edx]
add eax, 0xfffffffa
add edx, 2
mov dword [ebp - 8], edx
cmp eax, 0xf
ja case.default.0x448a06
jmp dword [eax*4 + 0x44f496]
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x44eae1
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x44eae1
cmp edx, 1
je case.0x414306.157
mov edx, dword [ebp - 8]
mov ax, word [edx + 2]
cmp ax, word [esi + 0x36]
jne 0x44eae4
jmp case.0x414306.157
cmp dword [esi + 0x8c], 0
je case.0x44eafc.13
cmp edx, dword [esi + 0x7c]
jb case.0x44eafc.13
cmp dword [esi + 0x18], 0
jne case.0x44eafc.13
cmp dword [esi + 0x1c], 2
jne case.0x44eafc.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44eafc.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x447ec4
jmp case.0x44eafc.13
cmp ecx, 0xd
ja 0x44ebc1
je 0x44eba3
cmp ecx, 0xa
je case.0x44eafc.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x414306.157
jmp 0x44ebd8
cmp edx, dword [esi + 0x7c]
jae case.0x44eafc.13
cmp word [edx], 0xa
jne case.0x44eafc.13
add edx, 2
mov dword [ebp - 8], edx
jmp case.0x44eafc.13
cmp ecx, 0x85
je 0x44ebd8
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414306.157
cmp dword [esi + 0x6c], 0
jne case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x180e
ja 0x44ec2b
je case.0x414306.157
cmp ecx, 0xa0
ja 0x44ec1a
je case.0x414306.157
cmp ecx, 9
je case.0x414306.157
cmp ecx, 0x20
je case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x1680
je case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x205f
ja 0x44ec62
je case.0x414306.157
cmp ecx, 0x2000
jb case.0x44eafc.13
cmp ecx, 0x200a
jbe case.0x414306.157
cmp ecx, 0x202f
je case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x3000
je case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x180e
ja 0x44ecb7
je case.0x44eafc.13
cmp ecx, 0xa0
ja 0x44eca6
je case.0x44eafc.13
cmp ecx, 9
je case.0x44eafc.13
cmp ecx, 0x20
jne case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x1680
jne case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x205f
ja 0x44ecee
je case.0x44eafc.13
cmp ecx, 0x2000
jb case.0x414306.157
cmp ecx, 0x200a
jbe case.0x44eafc.13
cmp ecx, 0x202f
jne case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x3000
jne case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x85
ja 0x44ed24
je case.0x414306.157
cmp ecx, 0xa
jb case.0x44eafc.13
cmp ecx, 0xd
jbe case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x2028
jb case.0x44eafc.13
cmp ecx, 0x2029
jbe case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0x85
ja 0x44ed60
je case.0x44eafc.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x414306.157
jmp case.0x44eafc.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0xff
ja case.0x44eafc.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0xff
ja case.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0xff
ja case.0x44eafc.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0xff
ja case.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0xff
ja case.0x44eafc.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x414306.157
jmp case.0x44eafc.13
cmp ecx, 0xff
ja case.0x414306.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x414306.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00414280
add esp, 0x14
test eax, eax
je 0x44eaa1
jmp 0x414447
mov dword [esi + 0x9c], 2
jmp 0x41494c
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0x414995
cmp word [ebx], 0x77
je 0x44ee68
cmp word [eax], 0x77
jne 0x414995
xor edx, edx
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x28]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
je 0x414940
mov eax, dword [esi + 0xc]
mov ebx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x40]
mov dword [eax + ebx*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x30]
mov dword [eax + ecx*4], esi
jmp 0x414995
cmp edx, 0xfffffc1b
jne 0x44eef6
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0x44eee8
cmp eax, 0x77
jne 0x44eedf
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44eed1
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 0x414447
lea eax, [ebx + 4]
mov dword [esi + 0xb4], 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 + 0x4a4ad0]
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.00414280
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x44ef4c
cmp edi, 0xfffffc19
jne 0x44ef59
cmp dword [esi + 0xb0], 0
je 0x44d325
cmp edi, 0xfffffc1f
jne 0x44d32e
mov edx, dword [esi + 0x80]
lea ecx, [ebx + 4]
call fcn.0048d594
test eax, eax
jne 0x44d32e
mov eax, dword [ebp - 8]
mov dword [esi + 0x80], eax
lea eax, [edi - 1]
jmp 0x414447
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 + 0x4a4ad0]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov eax, 0xfffffc1c
jmp 0x414447
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 + 0x4a4ad0]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov eax, 0xfffffc1d
jmp 0x414447
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 + 0x4a4ad0]
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.00414280
add esp, 0x14
cmp eax, 1
je 0x44f04a
cmp eax, 0xfffffc19
jne 0x44f059
cmp dword [esi + 0xb0], 0
jne 0x44f059
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x414447
mov eax, 0xfffffc1d
jmp 0x414447
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4a4ad0]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00414280
add esp, 0x14
test eax, eax
jne 0x414447
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x414447
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 + 0x4a4ad0]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00414280
add esp, 0x14
jmp 0x44f0db
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x414447
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0x414447
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 + 0x4a4ad0]
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.00414280
add esp, 0x14
cmp eax, 1
je 0x44f13f
cmp eax, 0xfffffc19
jne 0x44f0db
cmp dword [esi + 0xb0], 0
jne 0x44f0db
jmp 0x44f0d5
cmp edi, 0x9f
je 0x414425
cmp dword [esi + 0xa8], 0
jne 0x414425
cmp dword [esi + 0x60], 0
jne case.0x414306.157
cmp dword [esi + 0x64], 0
je 0x414425
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x414306.157
jmp 0x414425
inc dword [esi]
mov eax, 0xfffffff8
jmp 0x414447