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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push ebx
mov ebx, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x30], ebx
push esi
push edi
test ebx, ebx
je 0x44711b
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov eax, dword [esi]
mov ecx, dword [esi + 0x50]
mov dword [ebp - 0x28], ecx
cmp eax, dword [esi + 4]
jae 0x44f265
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0x44f25b
cmp dword [esi + 0x9c], 2
je 0x44714f
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x38], edi
cmp edi, 0xa1
ja case.0x40a206.98
movzx eax, byte [edi + 0x40aa80]
jmp dword [eax*4 + 0x40a934]
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
sub edi, eax
mov eax, 0x88
mov dword [ebp - 0x20], edi
movzx ecx, word [edi]
cmp cx, ax
jae 0x447eaa
mov eax, 0x81
cmp cx, ax
je 0x447eaa
mov dword [ebp - 0x2c], 0
cmp ecx, 0x7d
jb 0x40a253
mov eax, 0x80
cmp cx, ax
jbe 0x44d640
mov eax, 0x82
cmp cx, ax
je 0x44d640
mov eax, 0x85
cmp cx, ax
je 0x40a616
mov eax, 0x8a
cmp cx, ax
je 0x40a616
mov eax, 0x86
cmp cx, ax
je 0x40a616
mov eax, 0x8b
cmp cx, ax
je 0x40a616
mov ecx, dword [ebp + 0xc]
movzx eax, word [ebx]
cmp eax, 0x78
jne 0x447f22
mov eax, 0x81
cmp word [edi], ax
je 0x44d5eb
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a1dd
cmp edi, 0x88
jae 0x44d469
cmp edi, 0x81
je 0x44d469
cmp dword [esi + 0x70], 0
jne 0x44d473
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0x44d473
movzx eax, word [ebx]
movzx eax, byte [eax + 0x4c2160]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x28], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0x40a1c1
jmp 0x44f265
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0x44f201
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0x44f247
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x24], ecx
cmp eax, ecx
jae 0x44d99d
movzx edx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], eax
mov edi, eax
je 0x40a388
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x448de4
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af412]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x40a426
mov esi, dword [ebp - 8]
mov ebx, edi
jmp 0x40a3c0
cmp dword [ebp - 0x28], 0
mov edx, 1
movzx ecx, word [esi]
je 0x40a3e0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x448e10
mov esi, dword [ebp - 0x34]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
mov edi, ebx
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx ecx, byte [eax*8 + 0x4af412]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4c2210], eax
mov eax, dword [ebp - 0x24]
jne 0x40a4f1
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
jne 0x448e34
mov edx, dword [ebp - 8]
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0x40a1dd
movzx edx, word [ebx + 0x22]
lea eax, [ebx + 2]
add ebx, 0x22
mov dword [ebp - 0xc], eax
mov ecx, edx
mov dword [ebp - 0x30], ebx
cmp ecx, 0x6d
jbe 0x4490a8
mov edx, 1
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x28], 0
mov ecx, 1
mov dword [ebp - 0x24], ecx
je 0x449176
cmp edx, ecx
jl 0x40a4dd
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0x449143
cmp edx, 0xff
ja 0x449168
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je case.0x40a206.157
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, edx
jle 0x40a481
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x20]
jne 0x4491d8
mov edx, dword [ebp - 8]
jmp 0x40a1dd
lea esi, [ebx + edx*2]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 8], esi
mov ebx, esi
mov edi, esi
cmp esi, eax
jb 0x40a3c0
jmp 0x40a420
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
cmp dword [ebp - 0x28], 0
je 0x449743
movzx ecx, word [ebx + 2]
add ebx, 2
mov eax, ecx
mov dword [ebp - 0x34], 1
and eax, 0xfc00
mov edx, ecx
mov dword [ebp - 0x24], edx
cmp eax, 0xd800
je 0x449694
mov eax, dword [ebp - 8]
cmp edx, 0x80
jae 0x4496bf
movzx edx, word [eax]
mov eax, dword [esi + 0x3c]
cmp edx, 0xff
ja 0x40a567
movzx edx, byte [eax + edx]
movzx eax, byte [eax + ecx]
cmp eax, edx
jne case.0x40a206.157
add ebx, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x40a1dd
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx edx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x20], ecx
je 0x40a5ba
mov eax, edx
mov dword [ebp - 0x20], ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x448bac
mov eax, ecx
shr eax, 7
movzx ecx, byte [eax + 0x4bff60]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0x4b1c60]
cmp eax, 9
jne 0x448bd6
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0x4b0a90]
lea eax, [eax*4 + 0x4b0a90]
cmp dword [ebp - 0x20], ecx
jb 0x448dd6
lea eax, [eax + 4]
cmp edx, ecx
je 0x40a691
mov ecx, dword [eax]
cmp edx, ecx
jae 0x40a600
jmp 0x448dd6
movzx eax, word [edi + 4]
mov dword [ebp - 0x24], eax
lea edi, [eax + eax]
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x34], edi
mov ecx, edi
test eax, eax
jne 0x447ec2
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, dword [ebp - 0x24]
mov dword [esi + 0x94], eax
cmp ecx, dword [esi + 0x14]
jge 0x447eee
mov edx, dword [ebp + 0xc]
cmp ecx, edx
jg 0x447f01
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x24]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
mov ecx, dword [ebp + 0xc]
cmp ecx, edi
jg 0x40a689
lea ecx, [edi + 2]
mov dword [ebp + 0xc], ecx
mov edi, dword [ebp - 0x20]
jmp 0x40a29c
cmp edi, 0x10
jne case.0x40a206.157
add ebx, 6
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0x40a1dd
cmp dword [ebp - 0x28], 0
je 0x449662
mov ax, word [ebx + 2]
add ebx, 2
mov ecx, 0xfc00
mov edi, 1
and ax, cx
mov dword [ebp - 0x34], edi
mov ecx, 0xd800
cmp ax, cx
je 0x449655
mov ecx, dword [esi + 0x7c]
mov eax, ecx
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x34], eax
jg 0x44d965
lea esp, [esp]
movzx ecx, word [ebx]
dec edi
movzx eax, word [edx]
add ebx, 2
add edx, 2
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], edx
cmp cx, ax
jne case.0x40a206.157
test edi, edi
jle 0x40a4e9
jmp 0x40a6f0
lea ecx, [edi - 0x55]
add ebx, 2
mov eax, ebx
test cl, 1
je 0x44a4ba
mov edx, 1
movsx edi, byte [ecx + 0x4b1c4c]
mov dword [ebp - 0xc], edi
movsx edi, byte [ecx + 0x4b1c40]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], edi
test edi, edi
jne 0x40a751
mov dword [ebp - 0x14], bind
movzx edi, word [ebx]
lea ebx, [eax + 2]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], ebx
cmp edi, 0x10
je 0x44a4c1
cmp edi, 0xf
je 0x44a4c1
or eax, 0xffffffff
mov dword [ebp - 0x18], eax
test ecx, ecx
jg 0x44a4e8
mov edi, dword [ebp - 8]
cmp ecx, dword [ebp - 0x14]
je 0x40a4e9
test edx, edx
je 0x44ba25
test eax, eax
jns 0x44dd88
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
cmp dword [ebp - 0x20], 0x16
je 0x44e657
cmp dword [ebp - 0x28], 0
je 0x44eb4e
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44b5ad
cmp dword [ebp - 0x20], 0xc
jne 0x40a812
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44e7d7
push dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00408665
add esp, 0xc
test eax, eax
jne case.0x40a206.157
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 0x24], edi
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
je 0x44e810
cmp dword [ebp - 0x20], 0xc
jne 0x44e838
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x24]
cmp dword [esi + 0x8c], 0
jne 0x44eb0c
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov esi, dword [ebp + 0x10]
inc eax
inc dword [ebp - 0xc]
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
jmp 0x40a7d0
movzx edx, word [ebx + 4]
mov dword [ebp - 0x30], edx
lea eax, [edx + edx]
mov dword [ebp - 0x20], eax
cmp eax, dword [esi + 0x14]
jge case.0x40a206.129
mov ecx, dword [esi + 0xc]
lea edi, [edx + edx]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + edi*4 + 4]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0x10]
sub eax, edx
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
nop
cmp edi, 0x88
jae 0x44ef31
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 + 0x4c2160]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.0040a180
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1b
je 0x44ef85
cmp eax, 0xfffffc20
je 0x44ef40
test eax, eax
jne 0x40a34b
jmp 0x44ef62
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x18], 0
jne 0x44713d
push 1
push 0
push 0
push 0
push 0
xor edx, edx
lea ecx, [ebp + 0x18]
call fcn.0040a180
add esp, 0x14
jmp 0x40a34b
lea eax, [ebp + 0x18]
sub eax, dword [ebp - 8]
cdq
xor eax, edx
sub eax, edx
neg eax
jmp 0x40a34b
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 0x40a4e9
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0x44d54d
movzx eax, word [ebx]
movzx ecx, byte [eax + 0x4c2160]
movzx eax, word [ebx + 2]
add ecx, eax
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x30], ebx
jmp 0x40a1dd
mov eax, dword [ebp - 8]
mov edi, dword [esi + 0xb0]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
cmp eax, 1
je 0x447217
cmp eax, 0xfffffc20
jne 0x4471f7
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0x40a34b
cmp word [ebx], 0x77
je 0x4471ff
cmp word [ecx], 0x77
jne 0x40a34b
jmp 0x4471ff
test eax, eax
jne 0x40a34b
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0x4471a9
mov ecx, dword [ebp + 8]
jmp 0x447220
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0x447236
cmp eax, 0x77
jne case.0x40a206.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447236
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 0x447dda
cmp eax, dword [ebp - 0x1c]
je 0x447dda
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 0x44d284
lea edx, [ebx + 4]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov ecx, dword [ebp - 0x20]
mov ebx, ecx
jmp 0x40a2ff
mov dword [ebp - 0x24], 0
jmp 0x447c8e
mov dword [ebp - 0x24], 0
mov eax, ebx
mov dword [ebp - 0x34], 0
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x20], eax
cmp edi, 0x88
jb 0x4472dd
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 + 0x4c2160]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.0040a180
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1a
jne 0x447d7d
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x34], 1
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x84]
cmp dword [ebp - 8], eax
je 0x447dcc
mov dword [ebp - 8], eax
jmp 0x4472cb
cmp word [ebx + 4], 0x76
lea ecx, [ebx + 4]
movzx eax, word [ebx + 2]
mov ebx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], ecx
jne 0x447439
cmp dword [0x4d261c], 0
je 0x44742b
mov dword [ebp - 0xa0], 2
movzx eax, word [ecx + 2]
mov dword [ebp - 0x9c], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x88], eax
movzx eax, word [ecx + 4]
mov dword [ebp - 0x78], eax
movzx eax, word [ecx + 6]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x84], eax
mov eax, dword [esi + 0x94]
and eax, 0xffff
mov dword [ebp - 0x80], eax
jne 0x4473f2
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 [0x4d261c]
add esp, 4
test eax, eax
jg case.0x40a206.157
js 0x40a34b
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
lea ebx, [ecx + 8]
add eax, 0xfffffffc
mov ecx, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov dword [ebp - 0x20], ecx
movzx eax, word [eax]
mov dword [ebp - 0x30], eax
add eax, 0xffffff73
cmp eax, 0x10
ja case.0x44745c.146
movzx eax, byte [eax + 0x44f28b]
jmp dword [eax*4 + 0x44f273]
mov ecx, dword [esi + 0xa8]
mov ebx, dword [ebp - 0x2c]
test ecx, ecx
je 0x44766d
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0x447488
cmp eax, dword [ecx + 4]
jne 0x44766d
mov ecx, 1
jmp 0x447644
cmp dword [esi + 0xa8], ecx
je case.0x44745c.145
mov eax, dword [ebp - 0x2c]
movzx ecx, word [eax + 2]
imul ecx, dword [esi + 0x24]
movzx ebx, word [eax + 4]
mov eax, dword [esi + 0x30]
lea ecx, [eax + ecx*2]
test ebx, ebx
je 0x447665
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x34], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
movzx eax, word [ecx]
dec ebx
cmp eax, dword [ebp - 0x1c]
je 0x447535
mov ecx, dword [ebp - 0x34]
xor eax, eax
mov eax, dword [esi + 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x34], ecx
test ebx, ebx
jg 0x4474c6
xor ecx, ecx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
test ecx, ecx
jne 0x4474fe
cmp word [ebx - 4], 0x77
jne 0x40a1dd
cmp edi, 0x8c
jne 0x40a305
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.0040a180
add esp, 0x14
jmp 0x40a34b
mov ebx, dword [ebp - 0x2c]
mov ecx, 1
jmp 0x447644
mov ebx, dword [ebp - 0x2c]
movzx eax, word [ebx + 2]
lea ecx, [eax + eax]
cmp ecx, dword [ebp + 0xc]
jge 0x447561
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x447561
mov ecx, 1
jmp 0x447563
xor ecx, ecx
test ecx, ecx
jne 0x447644
jmp 0x4474e6
mov eax, dword [ebp - 0x2c]
movzx ecx, word [eax + 2]
imul ecx, dword [esi + 0x24]
movzx ebx, word [eax + 4]
mov eax, dword [esi + 0x30]
lea eax, [eax + ecx*2]
test ebx, ebx
je 0x447665
mov dword [ebp - 0x34], eax
movzx eax, word [eax]
dec ebx
lea ecx, [eax + eax]
cmp ecx, dword [ebp + 0xc]
jge 0x4475a5
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x447535
mov ecx, dword [ebp - 0x34]
xor eax, eax
mov eax, dword [esi + 0x24]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x34], eax
test ebx, ebx
jg 0x447590
jmp 0x4474e1
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
mov dword [esi + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
cmp eax, 1
jne 0x447653
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x4475f5
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
mov ecx, 0x92
mov dword [ebp - 0x20], 1
cmp word [eax], cx
jne 0x44760e
lea eax, [ebx + 2]
mov ebx, eax
movzx eax, word [eax + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
jne 0x44762a
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x44761c
mov eax, dword [ebp - 0x30]
mov ecx, 2
movzx eax, byte [eax + 0x4c2160]
sub ecx, eax
lea ebx, [edx + ecx*2]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax + 0x4c2160]
jmp 0x4474e9
test eax, eax
je 0x447662
cmp eax, 0xfffffc20
jne 0x40a34b
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
jmp case.0x44745c.145
mov ecx, dword [ebp - 0x20]
jmp 0x4474e6
movzx ecx, word [ebx + 2]
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
mov dword [ebp - 0x1c], ecx
or eax, ecx
lea edi, [ecx + ecx]
mov dword [esi + 0x94], eax
mov dword [ebp - 0x34], edi
cmp edi, dword [esi + 0x14]
jl 0x4476aa
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x40a2b6
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x1c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
mov ecx, dword [ebp + 0xc]
cmp edi, ecx
jl 0x449e29
mov eax, dword [esi + 0xc]
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0x4476f1
sub ecx, edx
mov edi, edx
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
jmp 0x449e29
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x1c], eax
jne 0x44771f
mov dword [esi + 0x9c], 0
mov edi, 1
jmp 0x447721
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.0040a180
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 1
je 0x447798
cmp eax, 0xfffffc19
je 0x447798
mov ecx, dword [ebp - 0x1c]
mov dword [esi + 0xb0], ecx
cmp eax, 0xfffffc20
jne 0x447780
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44efaa
cmp word [ebx], 0x77
je 0x447788
cmp word [eax], 0x77
je 0x447788
jmp 0x44efaa
test eax, eax
jne 0x40a34b
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447721
jmp 0x4477a1
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0x40a206.157
test edi, edi
jne 0x40a346
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4477b3
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0x40a4e9
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0x4477f7
mov dword [esi + 0x9c], 0
mov dword [ebp - 0x34], 1
jmp 0x4477fe
mov dword [ebp - 0x34], 0
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
mov dword [ebp - 0x2c], eax
mov dword [esi + 0xb0], edi
cmp eax, 0xfffffc20
jg 0x447857
jne 0x44786c
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x447885
cmp word [ebx], 0x77
je 0x447847
cmp word [eax], 0x77
jne 0x447885
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4477fe
jmp 0x447893
mov ecx, eax
sub ecx, 0
je 0x447847
sub ecx, 1
je case.0x40a206.157
jmp 0x40a34b
cmp eax, 0xfffffc19
je case.0x40a206.157
add eax, 0x3e4
cmp eax, 3
ja 0x44efaa
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447885
cmp dword [ebp - 0x34], 0
jne 0x40a346
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a4e9
cmp dword [ebp - 0x28], 0
je 0x4478ed
movzx ecx, word [ebx + 2]
test ecx, ecx
je 0x447907
mov eax, dword [ebp - 8]
dec ecx
add eax, 0xfffffffe
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0x40a206.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x4478e7
add eax, 0xfffffffe
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x4478b6
jmp 0x44790a
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.0x40a206.157
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x40a2b6
mov dword [esi + 0x88], eax
jmp 0x40a2b6
cmp dword [0x4d261c], 0
je 0x4479f9
mov dword [ebp - 0xd4], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0xd0], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xbc], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0xac], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xb8], eax
mov eax, dword [esi + 0x94]
and eax, 0xffff
mov dword [ebp - 0xb4], eax
jne 0x4479c0
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 [0x4d261c]
add esp, 4
test eax, eax
jg case.0x40a206.157
js 0x40a34b
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x30], ebx
jmp 0x40a1dd
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x24], eax
cmp eax, ecx
jne 0x447a19
xor edx, edx
jmp 0x447a1d
movzx edx, word [eax + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x447a44
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x447a3e
cmp eax, dword [ecx + 0x14]
jne 0x447a3e
mov eax, 0xffffffe6
jmp 0x40a34b
mov ecx, dword [ecx]
test ecx, ecx
jne 0x447a2a
mov dword [ebp - 0x54], edx
add ebx, 4
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x44], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
mov dword [esi + 0xa8], eax
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x4c], ecx
cmp ecx, 0x1e
jg 0x447a84
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x50], eax
jmp 0x447aa2
lea eax, [ecx*4]
push eax
call fcn.0040ab22
add esp, 4
mov dword [ebp - 0x50], eax
test eax, eax
je 0x44d5b4
mov ecx, dword [ebp - 0x4c]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.00420db0
mov ecx, dword [ebp - 0x24]
add esp, 0xc
mov eax, 0x88
cmp word [ecx], ax
sbb edi, edi
inc edi
test edi, edi
je 0x447ace
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ecx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4c2160]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ecx + eax*2]
mov ecx, dword [ebp - 8]
call fcn.0040a180
add esp, 0x14
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x4c]
shl eax, 2
push eax
push dword [ebp - 0x50]
push dword [esi + 0xc]
call fcn.00420db0
mov eax, dword [ebp - 0x48]
add esp, 0xc
mov dword [esi + 0x94], eax
mov eax, dword [ebp - 0x58]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x2c]
cmp eax, 1
je 0x447b8d
cmp eax, 0xfffffc19
je 0x447b8d
cmp eax, 0xfffffc1c
jl 0x447b3c
cmp eax, 0xfffffc20
jle 0x447b6e
test eax, eax
jne 0x44d595
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x58]
mov dword [esi + 0xa8], eax
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x77
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x24], ecx
je 0x447ac0
mov eax, dword [ebp - 0x58]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je case.0x40a206.157
push eax
call fcn.0040ab2b
add esp, 4
jmp case.0x40a206.157
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x447ba3
push eax
call fcn.0040ab2b
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x40a4e9
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0x40a206.119
mov dword [ebp - 0x30], ebx
jmp 0x40a1dd
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.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447bf7
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a4e9
add ebx, 2
mov dword [ebp - 0x30], ebx
mov edx, ebx
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x447c18
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.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
jmp 0x40a4e9
add ebx, 2
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447c53
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a1dd
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x24], 1
cmp edi, 0x86
je 0x447c8e
cmp edi, 0x8b
jne 0x4472b1
movzx edx, word [ebx + 4]
mov dword [ebp - 0x20], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge 0x4472b1
mov ecx, ebx
shl eax, 2
sub ecx, dword [esi + 0x74]
sar ecx, 1
mov dword [ebp - 0x1c], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], 0
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x10]
mov edx, eax
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x20]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0x447d05
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 + 0x4c2160]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.0040a180
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc1a
jne 0x447e00
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x34], eax
mov ecx, 1
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 8], eax
je 0x447e7f
mov dword [ebp - 8], eax
jmp 0x447ce0
cmp eax, 0xfffffc20
jne 0x447da8
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44efaa
cmp word [ebx], 0x77
je 0x447db0
cmp word [eax], 0x77
je 0x447db0
jmp 0x44efaa
test eax, eax
jne 0x40a34b
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0x447de5
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x94], eax
jmp 0x4472cb
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447dcc
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a4e9
cmp dword [ebp - 0x34], 0
jne 0x447dda
cmp dword [ebp - 0x24], 0
je case.0x40a206.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a4e9
cmp eax, 0xfffffc20
jne 0x447e2b
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44efaa
cmp word [ebx], 0x77
je 0x447e33
cmp word [eax], 0x77
je 0x447e33
jmp 0x44efaa
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447cdd
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x447e8d
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x10]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x20]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0xc]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x30]
jmp 0x447e8d
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x447e7f
cmp dword [ebp - 0x24], 0
jne 0x447dda
test ecx, ecx
je case.0x40a206.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a4e9
mov eax, dword [ebp + 0x14]
mov esi, eax
mov esi, dword [esi]
mov eax, dword [eax + 4]
mov dword [ebp + 0x14], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
jmp 0x40a240
mov edx, dword [ebp - 0x24]
mov ecx, edi
cmp dword [eax + 4], edx
mov edx, dword [ebp - 8]
jne 0x40a633
mov eax, edx
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0x40a34b
mov edi, dword [ebp - 0x20]
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0x40a299
mov eax, dword [esi + 0xc]
lea edi, [eax + edx*4]
lea ecx, [eax + ecx*4]
cmp edi, ecx
jae 0x447f1a
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
jmp 0x40a65b
cmp eax, 0x7b
je 0x44d61e
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 8], eax
jne 0x44d29f
mov edx, dword [ebp - 8]
jmp 0x40a2a8
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x447f56
cmp eax, dword [esi + 0x78]
je case.0x40a206.157
jmp 0x447f56
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x78]
jne case.0x40a206.157
jmp 0x40a433
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0x447f76
cmp eax, dword [esi + 0x78]
je case.0x40a206.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0x40a433
cmp eax, dword [esi + 0x7c]
je case.0x40a206.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0x447fba
cmp eax, ecx
jbe case.0x40a206.157
mov edi, dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push edi
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0049b974
add esp, 0xc
test eax, eax
je case.0x40a206.157
jmp 0x40a433
mov edi, dword [esi + 0x1c]
lea edx, [edi + edi]
lea eax, [ecx + edx]
mov ecx, dword [ebp - 8]
cmp ecx, eax
jb case.0x40a206.157
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0x40a206.157
cmp edi, 1
je 0x40a433
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0x40a206.157
jmp 0x40a433
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp edx, eax
jne case.0x40a206.157
jmp 0x40a436
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x40a4e9
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4480cb
mov edx, dword [esi + 0x18]
test edx, edx
je 0x448098
push dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00408665
add esp, 0xc
test eax, eax
jne 0x40a433
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x40a206.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0x40a206.157
cmp dword [esi + 0x18], 0
jne case.0x40a206.157
cmp dword [esi + 0x1c], 2
jne case.0x40a206.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0x40a206.157
jmp 0x44b5c6
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x448056
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x448053
cmp edx, 1
je 0x40a433
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x448053
jmp 0x40a433
cmp dword [esi + 0x4c], 0
jne case.0x40a206.157
cmp dword [esi + 0x8c], 0
je 0x40a433
cmp eax, dword [esi + 0x88]
jmp 0x4480f0
cmp edx, dword [esi + 0x88]
jbe 0x40a433
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
jmp 0x40a433
cmp dword [esi + 0x4c], 0
jne case.0x40a206.157
cmp dword [esi + 0x5c], 0
je case.0x40a206.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0x40a206.157
jmp 0x4480d5
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4480d5
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0x448159
push dword [ebp - 0x28]
push edi
push ecx
mov ecx, eax
call fcn.00408665
add esp, 0xc
test eax, eax
jne 0x44818e
jmp 0x448053
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x448056
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x448053
cmp edx, 1
je 0x44818e
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0x448053
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 0x448056
jmp 0x4480d5
cmp dword [ebp - 0x28], 0
mov eax, dword [ebp - 8]
je 0x44831d
cmp eax, dword [esi + 0x78]
je 0x448282
lea edx, [eax - 2]
mov edi, 0xfc00
mov ax, word [edx]
mov ecx, edx
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4481dd
lea ecx, [edx - 2]
mov edx, ecx
cmp ecx, dword [esi + 0x88]
jae 0x4481eb
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
mov edi, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44821a
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov edi, ecx
cmp dword [esi + 0x58], 0
je 0x448264
cmp edi, 0x5f
je 0x44825a
mov eax, edi
and edi, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x44825a
cmp eax, 3
jne 0x44827f
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x448284
cmp edi, 0x100
jae 0x44827f
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 8]
je 0x448282
mov edi, 1
jmp 0x448284
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x44843f
movzx ecx, word [eax]
mov eax, ecx
mov edx, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4482bf
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov edx, ecx
cmp dword [esi + 0x58], 0
je 0x4482e7
cmp edx, 0x5f
je 0x448491
mov eax, edx
and edx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, edx
jmp 0x4483dc
cmp edx, 0x100
jae 0x4482fc
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x448491
xor ecx, ecx
movzx eax, word [ebx]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 5
jne 0x44849b
cmp ecx, edi
je case.0x40a206.157
jmp 0x40a4e9
cmp eax, dword [esi + 0x78]
je 0x448396
cmp eax, dword [esi + 0x88]
ja 0x448336
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0x448417
cmp ecx, 0x5f
je 0x448410
mov eax, ecx
test eax, eax
jns 0x448356
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
and ecx, 0x8000007f
jns 0x448370
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x44840d
cmp eax, 3
mov eax, dword [ebp - 8]
je 0x448410
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0x44843f
cmp dword [esi + 0x58], 0
je 0x448471
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x448491
mov eax, ecx
test eax, eax
jns 0x4483c0
add eax, 0x7f
sar eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
and ecx, 0x8000007f
jns 0x4483da
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x448491
cmp eax, 3
jne 0x4482fc
lea ecx, [eax - 2]
jmp 0x4482fe
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0x448398
mov edx, 0xff
cmp cx, dx
ja 0x448396
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
mov eax, dword [ebp - 8]
je 0x448396
mov edi, 1
jmp 0x448398
cmp dword [esi + 0x8c], 0
je 0x4482fc
cmp eax, dword [esi + 0x88]
jbe 0x4482fc
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x4482fc
jmp 0x44ef27
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x4482fc
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x4482fc
mov ecx, 1
jmp 0x4482fe
cmp ecx, edi
jne case.0x40a206.157
jmp 0x40a4e9
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0x4484d7
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x28]
cmp eax, ecx
jae 0x44850f
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00408665
add esp, 0xc
test eax, eax
jne case.0x40a206.157
jmp 0x44850c
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x448509
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0x448509
cmp edx, 1
je case.0x40a206.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0x40a206.157
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0x448555
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, 2
cmp ecx, eax
jne 0x448552
cmp dword [esi + 0x18], 0
jne 0x448552
cmp dword [esi + 0x1c], 2
jne 0x448552
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne 0x448552
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x448552
jmp 0x44ef27
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0x44d99d
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0x40a433
cmp eax, ecx
jae 0x40a433
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x40a433
add dword [ebp - 8], 2
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
add eax, 2
add ebx, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x40a4e9
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x448602
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448602
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0x100
jae 0x40a433
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x44866d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44866d
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0xff
ja case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x4486d8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4486d8
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0x100
jae 0x40a433
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x448743
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448743
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0xff
ja case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x4487ae
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4487ae
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0x100
jae 0x40a433
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], eax
je 0x448819
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448819
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov edx, ecx
cmp edx, 0xff
ja case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x40a206.157
jmp 0x40a433
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov edx, eax
mov dword [ebp - 8], eax
je 0x448889
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, edx
jne 0x448889
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, edx
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
mov edx, eax
cmp ecx, 0xd
ja 0x4488d5
je 0x4488aa
cmp ecx, 0xa
je 0x40a433
jbe case.0x40a206.157
cmp ecx, 0xc
ja case.0x40a206.157
jmp 0x4488ec
cmp edx, edi
jb 0x4488c0
cmp dword [esi + 0x8c], 0
je 0x40a433
jmp 0x4480ea
cmp word [eax], 0xa
jne 0x40a433
lea eax, [edx + 2]
mov dword [ebp - 8], eax
jmp 0x40a433
cmp ecx, 0x85
je 0x4488ec
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a206.157
cmp dword [esi + 0x6c], 0
jne case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x448944
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448944
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 0x448988
je case.0x40a206.157
cmp ecx, 0xa0
ja 0x448977
je case.0x40a206.157
cmp ecx, 9
je case.0x40a206.157
cmp ecx, 0x20
je case.0x40a206.157
jmp 0x40a433
cmp ecx, 0x1680
je case.0x40a206.157
jmp 0x40a433
cmp ecx, 0x205f
ja 0x4489bf
je case.0x40a206.157
cmp ecx, 0x2000
jb 0x40a433
cmp ecx, 0x200a
jbe case.0x40a206.157
cmp ecx, 0x202f
je case.0x40a206.157
jmp 0x40a433
cmp ecx, 0x3000
je case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x448a19
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448a19
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 0x448a5d
je 0x40a433
cmp ecx, 0xa0
ja 0x448a4c
je 0x40a433
cmp ecx, 9
je 0x40a433
cmp ecx, 0x20
jne case.0x40a206.157
jmp 0x40a433
cmp ecx, 0x1680
jne case.0x40a206.157
jmp 0x40a433
cmp ecx, 0x205f
ja 0x448a94
je 0x40a433
cmp ecx, 0x2000
jb case.0x40a206.157
cmp ecx, 0x200a
jbe 0x40a433
cmp ecx, 0x202f
jne case.0x40a206.157
jmp 0x40a433
cmp ecx, 0x3000
jne case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x448aee
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448aee
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 0x448b13
je case.0x40a206.157
cmp ecx, 0xa
jb 0x40a433
cmp ecx, 0xd
jbe case.0x40a206.157
jmp 0x40a433
cmp ecx, 0x2028
jb 0x40a433
cmp ecx, 0x2029
jbe case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], eax
je 0x448b79
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x448b79
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 0x448b98
je 0x40a433
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x40a206.157
jmp 0x40a433
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a206.157
jmp 0x40a433
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 8], 2
mov ecx, edx
mov dword [ebp - 0x20], ecx
jmp 0x40a5ba
cmp eax, 0xa
ja case.default.0x448bdf
jmp dword [eax*4 + 0x44f29f]
mov al, byte [ecx*8 + 0x4af411]
cmp al, 9
je 0x448c0b
cmp al, 5
je 0x448c0b
cmp al, 8
je 0x448c0b
xor ecx, ecx
jmp 0x448c27
cmp edi, 0xf
je case.0x40a206.157
jmp 0x40a69a
mov ecx, 1
jmp 0x448c27
movzx eax, byte [ecx*8 + 0x4af411]
xor ecx, ecx
cmp dword [eax*4 + 0x4c5370], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0x40a206.157
jmp 0x40a69a
movzx ecx, byte [ecx*8 + 0x4af411]
xor edx, edx
movzx eax, word [ebx + 4]
cmp eax, dword [ecx*4 + 0x4c5370]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0x40a206.157
jmp 0x40a69a
movzx eax, byte [ecx*8 + 0x4af411]
jmp 0x448c7b
movzx eax, byte [ecx*8 + str.VirtualProtect]
xor ecx, ecx
cmp word [ebx + 4], ax
setne cl
xor eax, eax
cmp edi, 0x10
sete al
cmp ecx, eax
je case.0x40a206.157
jmp 0x40a69a
movzx eax, byte [ecx*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x448c0b
cmp eax, 3
je 0x448c0b
xor ecx, ecx
jmp 0x448c27
cmp edx, 0x180e
ja 0x448d1a
je case.0x448bdf.0
cmp edx, 0x85
ja 0x448cfd
je case.0x448bdf.0
cmp edx, 9
jb case.0x448d3e.8203
cmp edx, 0xd
jbe case.0x448bdf.0
cmp edx, 0x20
je case.0x448bdf.0
jmp case.0x448d3e.8203
cmp edx, 0xa0
je case.0x448bdf.0
cmp edx, 0x1680
je case.0x448bdf.0
jmp case.0x448d3e.8203
cmp edx, 0x202f
ja 0x448d45
je case.0x448bdf.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x448d3e.8203
movzx eax, byte [edx + 0x44f2d3]
jmp dword [eax*4 + 0x44f2cb]
cmp edx, 0x205f
je case.0x448bdf.0
cmp edx, 0x3000
je case.0x448bdf.0
jmp case.0x448d3e.8203
movzx eax, byte [ecx*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x448c0b
cmp eax, 3
je 0x448c0b
cmp dword [ebp - 0x20], 0x5f
je 0x448c0b
xor ecx, ecx
jmp 0x448c27
mov eax, dword [ebp - 0x20]
cmp eax, 0x24
je 0x448c0b
cmp eax, 0x40
je 0x448c0b
cmp eax, 0x60
je 0x448c0b
cmp eax, 0xa0
jb 0x448dc4
cmp eax, 0xd7ff
jbe 0x448c0b
cmp eax, 0xe000
jae 0x448c0b
xor ecx, ecx
jmp 0x448c27
cmp edi, 0x10
je case.0x40a206.157
jmp 0x40a69a
mov ecx, dword [ebp - 8]
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
and eax, 0x3ff
mov edi, dword [ebp - 8]
mov ecx, edx
and ecx, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x40a388
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
jmp 0x40a3e0
cmp edi, eax
jb 0x40a433
cmp edi, dword [esi + 0x88]
jbe 0x40a433
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
jmp 0x40a433
movzx ecx, word [ebx + 2]
xor eax, eax
cmp edi, 0x74
sete al
imul ecx, dword [esi + 0x24]
mov dword [ebp - 0x24], eax
movzx eax, word [ebx + 4]
add ebx, 6
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x30], ebx
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
xor edi, edi
neg ecx
mov dword [ebp - 0x18], edi
dec ecx
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x2c], edi
jbe 0x448f1a
mov dword [ebp - 0x34], eax
movzx eax, word [eax]
dec dword [ebp - 0x2c]
lea edi, [eax + eax]
mov dword [ebp - 0x18], edi
cmp edi, dword [ebp + 0xc]
jge 0x448ec4
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x448ec4
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x448f17
cmp dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x34]
mov eax, dword [esi + 0x24]
lea eax, [edx + eax*2]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x34], eax
jg 0x448ea1
jmp 0x448f1a
xor eax, eax
cmp edi, 0x72
sete al
mov dword [ebp - 0x24], eax
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x30], ebx
lea edi, [eax + eax]
mov dword [ebp - 0x18], edi
cmp edi, dword [ebp + 0xc]
jge 0x448f0d
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0x448f0d
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0x448f17
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x20], ecx
movzx eax, word [ebx]
mov dword [ebp - 0x1c], eax
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0x448f33
movzx eax, byte [eax + 0x44f307]
jmp dword [eax*4 + 0x44f2ff]
mov eax, dword [ebp - 0x1c]
add ebx, 2
mov dword [ebp - 0x30], ebx
lea edi, [eax - 0x62]
and edi, 1
mov dword [ebp - 0x1c], edi
movsx edi, byte [eax + 0x4b1bea]
movsx eax, byte [eax + 0x4b1bde]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x448f9b
mov dword [ebp - 0x2c], bind
jmp 0x448f9b
cmp word [ebx], 0x69
mov eax, 0
movzx edi, word [ebx + 2]
sete al
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x448f95
mov dword [ebp - 0x2c], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
mov eax, edi
test ecx, ecx
je 0x40a1dd
jns 0x448faf
test edi, edi
je 0x40a1dd
cmp eax, 1
mov dword [ebp - 0x34], 1
mov eax, dword [ebp - 8]
jl 0x448ff1
push dword [ebp - 0x24]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0049b23b
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44d731
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x34], ecx
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
jle 0x448fbe
mov edx, dword [ebp - 0x2c]
cmp edi, edx
je 0x40a4e9
cmp dword [ebp - 0x1c], 0
je 0x44d683
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.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x14], eax
jge case.0x40a206.157
push dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov edx, edi
push esi
push dword [ebp - 0x20]
call fcn.0049b23b
add esp, 0xc
test eax, eax
js 0x44d660
inc dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44902c
jmp 0x40a34b
push dword [ebp - 0x24]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.0049b23b
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x44d731
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x40a4e9
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0x4490bb
movzx eax, byte [eax + 0x44f317]
jmp dword [eax*4 + 0x44f30f]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x4490da
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x4490e1
mov dword [ebp - 0x2c], 1
movsx edx, byte [eax + 0x4b1c4c]
movsx eax, byte [eax + 0x4b1c40]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x40a46b
mov dword [ebp - 0x20], bind
jmp 0x40a46b
xor eax, eax
cmp edx, 0x69
sete al
mov dword [ebp - 0x10], eax
xor eax, eax
cmp edx, 0x6d
movzx edx, word [ebx + 2]
mov dword [ebp - 0x18], edx
sete al
mov dword [ebp - 0x2c], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x449138
mov dword [ebp - 0x20], bind
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x40a46b
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 0x40a4a8
cmp edi, 0x6e
je case.0x40a206.157
jmp 0x40a4d2
cmp edx, 1
jl 0x40a4dd
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x4491a7
cmp edi, 0x6e
je case.0x40a206.157
jmp 0x4491c8
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je case.0x40a206.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, edx
jle 0x449182
jmp 0x40a4e0
cmp dword [ebp - 0x10], 0
jne 0x44d75f
cmp dword [ebp - 0x28], 0
mov ecx, eax
mov dword [ebp - 0x14], ecx
je 0x449328
cmp edx, dword [ebp - 0x20]
jl 0x4491fe
jmp 0x4492ae
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x449289
movzx edx, word [eax]
mov ecx, 1
mov eax, edx
mov dword [ebp - 0x34], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449245
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
mov ecx, 2
mov dword [ebp - 0x34], ecx
movzx eax, word [eax + 2]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
cmp edx, 0xff
jbe 0x449254
cmp edi, 0x6e
jne 0x44926e
jmp 0x4492ae
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je 0x4492ae
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x20]
jl 0x4491fb
jmp 0x4492ae
cmp dword [esi + 0x8c], 0
je 0x4492ae
cmp eax, dword [esi + 0x88]
jbe 0x4492ae
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
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.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, edi
add edi, 0xfffffffe
cmp eax, dword [ebp - 0x14]
jbe case.0x40a206.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x449304
add edi, 0xfffffffe
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x4492de
jmp 0x40a34b
cmp edx, dword [ebp - 0x20]
jge 0x44939d
mov ecx, dword [ebp - 0x18]
cmp eax, dword [esi + 0x7c]
jae 0x449375
movzx edx, word [eax]
cmp edx, 0xff
jbe 0x449347
cmp edi, 0x6e
jne 0x449364
jmp 0x44939a
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
mov eax, dword [ebp - 8]
je 0x44939a
mov ecx, dword [ebp - 0x18]
inc ecx
add eax, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], ecx
cmp ecx, dword [ebp - 0x20]
jl 0x449330
jmp 0x44939a
cmp dword [esi + 0x8c], 0
je 0x44939a
cmp eax, dword [esi + 0x88]
jbe 0x44939a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp eax, ecx
jb case.0x40a206.157
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
sub edi, 2
cmp edi, dword [ebp - 0x14]
jae 0x4493b2
jmp case.0x40a206.157
lea eax, [ebx + 4]
mov dword [ebp - 0x24], eax
movzx eax, word [ebx + 2]
movzx ecx, word [ebx + eax*2]
lea ebx, [ebx + eax*2]
mov edi, ecx
mov dword [ebp - 0x30], ebx
lea eax, [edi - 0x62]
cmp eax, 0xb
ja case.default.0x44940b
movzx eax, byte [eax + 0x44f32b]
jmp dword [eax*4 + 0x44f323]
lea eax, [edi - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0x44942a
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x449431
mov dword [ebp - 0x2c], 1
movsx ecx, byte [eax + 0x4b1c40]
movsx edi, byte [eax + 0x4b1c4c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x44949e
mov ecx, bind
jmp 0x44949b
movzx edi, word [ebx + 2]
xor eax, eax
cmp ecx, 0x69
mov dword [ebp - 0x18], edi
sete al
cmp ecx, 0x6d
mov ecx, 0
mov dword [ebp - 0x10], eax
sete cl
mov dword [ebp - 0x2c], ecx
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x20], ecx
test ecx, ecx
jne 0x449486
mov ecx, bind
mov dword [ebp - 0x20], ecx
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0x44949e
mov eax, dword [ebp - 0x10]
mov ecx, 1
mov edi, ecx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x34], 1
cmp edi, 1
jl 0x44951c
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x28]
mov dword [ebp - 8], eax
test edx, edx
je 0x4494f4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4494f4
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
push edx
mov edx, dword [ebp - 0x24]
call fcn.0049b436
add esp, 4
test eax, eax
je case.0x40a206.157
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, edi
jle 0x4494aa
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x10]
cmp edi, ecx
je 0x40a1dd
test eax, eax
jne 0x44d8b4
mov eax, dword [ebp - 8]
mov dword [ebp - 0x38], eax
cmp edi, ecx
jl 0x44953e
jmp 0x4495d5
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x4495b0
mov edx, dword [ebp - 0x28]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x34], 1
test edx, edx
je 0x449586
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449586
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x34], 2
add ecx, 0x10000
push edx
mov edx, dword [ebp - 0x24]
call fcn.0049b436
add esp, 4
test eax, eax
je 0x4495d8
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x18], edi
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x20]
jl 0x44953b
jmp 0x4495d5
cmp dword [esi + 0x8c], 0
je 0x4495d5
cmp eax, dword [esi + 0x88]
jbe 0x4495d5
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov edi, dword [ebp - 8]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, edi
add edi, 0xfffffffe
cmp eax, dword [ebp - 0x38]
jbe case.0x40a206.157
cmp dword [ebp - 0x28], 0
je 0x449631
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x449631
add edi, 0xfffffffe
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x449605
jmp 0x40a34b
mov edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40a6d7
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x44d985
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0x40a206.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0x40a4e9
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x34], 2
add ecx, 0x10000
mov edx, ecx
mov dword [ebp - 0x24], edx
jmp 0x40a546
movzx edi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4496f8
mov ecx, dword [ebp - 8]
and edi, 0x3ff
shl edi, 0xa
movzx eax, word [ecx]
add ecx, 2
and eax, 0x3ff
mov dword [ebp - 8], ecx
or edi, eax
add edi, 0x10000
mov eax, dword [ebp - 0x34]
cmp edx, edi
mov edx, dword [ebp - 8]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
je 0x40a1dd
mov edx, dword [ebp - 0x24]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4bff60]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c60]
mov eax, dword [eax*8 + 0x4af414]
add eax, edx
cmp edi, eax
jne case.0x40a206.157
jmp 0x40a4e9
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0x44975d
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x44975f
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0x449776
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x40a206.157
add eax, 2
add ebx, 4
mov dword [ebp - 8], eax
mov dword [ebp - 0x30], ebx
jmp 0x40a4e9
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov ecx, ebx
jmp 0x449851
mov dword [ebp - 0x2c], 1
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0x4497c5
mov dword [ebp - 0x10], edx
cmp ecx, 0x35
jne 0x4497cc
mov dword [ebp - 0x10], 1
add ebx, 4
mov ecx, ebx
jmp 0x449851
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0x14], edx
mov ecx, ebx
jmp 0x44984a
mov edx, 1
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0x14], edx
mov ecx, ebx
jmp 0x44984a
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], 1
mov ecx, ebx
jmp 0x449851
cmp edi, 0x2e
mov edx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
mov ecx, ebx
add eax, 0x2e
sub edx, eax
mov eax, edx
and edx, 1
mov dword [ebp - 0x10], edx
movsx edx, byte [eax + 0x4b1c4c]
movsx eax, byte [eax + 0x4b1c40]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x449851
mov dword [ebp - 0x18], bind
cmp dword [ebp - 0x28], 0
movzx eax, word [ebx]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
je 0x449add
and eax, 0xfc00
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x1c], 1
cmp eax, 0xd800
jne 0x4498c4
movzx eax, word [ebx + 2]
mov ebx, dword [ebp - 0x20]
and eax, 0x3ff
and ebx, 0x3ff
mov dword [ebp - 0xc], 2
shl ebx, 0xa
or ebx, eax
mov dword [ebp - 0x30], 2
add ebx, 0x10000
mov dword [ebp - 0x1c], 2
mov eax, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], eax
jmp 0x4498c7
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x1c], 1
mov ebx, dword [ebp - 0x30]
lea ebx, [ecx + ebx*2]
mov dword [ebp - 0x30], ebx
jbe 0x449ae3
cmp edi, 0x2e
jb 0x44991a
mov edi, dword [ebp - 0x24]
shr eax, 7
movzx ecx, byte [eax + 0x4bff60]
mov eax, edi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c60]
mov ecx, dword [eax*8 + 0x4af414]
add ecx, edi
cmp ecx, edi
je 0x44991a
lea edx, [ebp - 0x6c]
call fcn.0049b8c1
mov edx, dword [ebp - 0x14]
mov edi, eax
jmp 0x44991c
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], 1
cmp edx, 1
jl 0x4499b3
mov eax, dword [ebp - 0xc]
lea ecx, [eax + eax]
mov dword [ebp - 0x1c], ecx
mov eax, dword [esi + 0x7c]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x449961
push ecx
push dword [ebp - 0x34]
push edi
call fcn.00421324
add esp, 0xc
test eax, eax
jne 0x449961
mov ecx, dword [ebp - 0x1c]
mov eax, edi
add eax, ecx
mov dword [ebp - 8], eax
jmp 0x4499a0
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x44d668
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44d668
push ecx
lea eax, [ebp - 0x6c]
push eax
push edi
call fcn.00421324
add esp, 0xc
test eax, eax
jne 0x44d668
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
mov eax, edi
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, edx
jle 0x449938
mov edi, dword [ebp - 0x20]
jmp 0x4499b6
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x40a4e9
cmp dword [ebp - 0x10], 0
jne 0x44d9b5
mov ecx, eax
mov dword [ebp - 0x10], ecx
cmp edx, dword [ebp - 0x18]
jge 0x449a79
mov eax, dword [ebp - 0xc]
lea edx, [eax + eax]
mov dword [ebp - 0x1c], edx
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, edx
cmp ecx, eax
ja 0x449a0e
push edx
push dword [ebp - 0x34]
push ecx
call fcn.00421324
add esp, 0xc
test eax, eax
jne 0x449a0b
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x449a35
mov ecx, dword [ebp - 8]
test edi, edi
jle 0x449a46
mov eax, dword [esi + 0x7c]
add edi, edi
sub eax, edi
cmp ecx, eax
ja 0x449a46
push edi
lea eax, [ebp - 0x6c]
push eax
push ecx
call fcn.00421324
add esp, 0xc
test eax, eax
jne 0x449a46
add dword [ebp - 8], edi
mov edi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
inc edx
cmp edx, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x1c]
jl 0x4499e0
jmp 0x449a73
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x449a76
cmp eax, dword [esi + 0x7c]
jb 0x449a73
cmp eax, dword [esi + 0x88]
jbe 0x449a73
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp eax, ecx
jbe 0x40a302
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x449ad3
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x449a8e
jmp 0x40a302
lea ebx, [ecx + 2]
mov dword [ebp - 0x30], ebx
cmp edi, 0x2e
jb 0x449c21
cmp dword [ebp - 0x28], 0
je 0x449b23
cmp eax, 0x7f
jbe 0x449b23
shr eax, 7
movzx ecx, byte [eax + 0x4bff60]
mov eax, dword [ebp - 0x24]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c60]
mov eax, dword [eax*8 + 0x4af414]
add dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x24]
jmp 0x449b3c
cmp eax, 0xff
ja 0x449b36
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp - 0x20]
movzx edi, byte [eax + ecx]
jmp 0x449b39
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp edx, 1
jl 0x449b75
cmp eax, dword [esi + 0x7c]
jae 0x44dc60
movzx ecx, word [eax]
cmp dword [ebp - 0x20], ecx
je 0x449b64
cmp edi, ecx
jne case.0x40a206.157
mov ecx, dword [ebp - 0x1c]
add eax, 2
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x1c], ecx
cmp ecx, edx
jle 0x449b4b
cmp edx, dword [ebp - 0x18]
je 0x40a4e9
cmp dword [ebp - 0x10], 0
jne 0x44da6e
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp edx, dword [ebp - 0x18]
jge 0x449bd9
cmp eax, dword [esi + 0x7c]
jae 0x449bb1
movzx ecx, word [eax]
cmp dword [ebp - 0x20], ecx
je 0x449ba3
cmp edi, ecx
jne 0x449bd6
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x449b92
jmp 0x449bd6
cmp dword [esi + 0x8c], 0
je 0x449bd6
cmp eax, dword [esi + 0x88]
jbe 0x449bd6
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp eax, ecx
je 0x40a302
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x40a34b
cmp edi, dword [ebp - 0x14]
jne 0x449bee
jmp 0x40a302
mov ecx, 1
cmp edx, ecx
jge 0x449c2f
mov edi, dword [ebp - 8]
jmp 0x449c55
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44dc60
mov edi, dword [ebp - 8]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x20], eax
jne case.0x40a206.157
inc ecx
cmp ecx, edx
jle 0x449c2f
cmp edx, dword [ebp - 0x18]
je 0x40a4e9
cmp dword [ebp - 0x10], 0
jne 0x44dae5
mov eax, dword [ebp - 8]
mov ecx, eax
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
cmp edx, edi
jge 0x449c98
mov ecx, dword [ebp - 0x20]
cmp eax, dword [esi + 0x7c]
jae 0x449ce0
movzx eax, word [eax]
cmp ecx, eax
jne 0x449c92
add dword [ebp - 8], 2
inc edx
mov eax, dword [ebp - 8]
cmp edx, edi
jl 0x449c7a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp eax, ecx
je 0x40a302
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0x40a34b
cmp edi, dword [ebp - 0x14]
jne 0x449cad
jmp 0x40a302
cmp dword [esi + 0x8c], 0
je 0x449c95
cmp eax, dword [esi + 0x88]
jbe 0x449c95
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
jmp 0x449c95
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44dc60
cmp dword [ebp - 0x28], 0
movzx ecx, word [ebx + 2]
je 0x449dfc
mov eax, ecx
mov dword [ebp - 0x1c], ecx
add ebx, 4
mov dword [ebp - 0x24], ecx
and eax, 0xfc00
mov dword [ebp - 0x30], ebx
cmp eax, 0xd800
jne 0x449d60
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 8]
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449d99
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add ecx, 2
or edx, eax
mov dword [ebp - 8], ecx
add edx, 0x10000
cmp edi, 0x1f
jne 0x449dac
cmp dword [ebp - 0x24], edx
je case.0x40a206.157
jmp 0x40a4e9
mov edi, dword [ebp - 0x24]
cmp edi, 0x7f
jbe 0x449ddd
mov eax, edi
shr eax, 7
movzx ecx, byte [eax + 0x4bff60]
mov eax, edi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c60]
mov eax, dword [eax*8 + 0x4af414]
add eax, edi
jmp 0x449de7
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp - 0x1c]
movzx eax, byte [eax + ecx]
cmp edi, edx
je case.0x40a206.157
cmp eax, edx
je case.0x40a206.157
jmp 0x40a4e9
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x40a206.157
cmp edi, 0x20
jne 0x449e29
cmp ecx, 0xff
ja 0x449e21
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x40a206.157
mov edx, dword [ebp - 8]
jmp 0x40a2b6
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], edx
mov ecx, ebx
jmp 0x449f09
movzx eax, word [ebx + 2]
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x42
je 0x449e60
mov dword [ebp - 0x10], edx
cmp ecx, 0x4f
jne 0x449e67
mov dword [ebp - 0x10], 1
add ebx, 4
mov ecx, ebx
jmp 0x449f09
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov ecx, ebx
jmp 0x449f02
mov edx, 1
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov ecx, ebx
jmp 0x449f02
xor edx, edx
mov dword [ebp - 0x2c], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], 1
mov ecx, ebx
jmp 0x449f09
movzx eax, word [ebx + 2]
xor edx, edx
add ebx, 4
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0xc], edx
mov ecx, ebx
mov dword [ebp - 0x18], eax
jmp 0x449f09
cmp edi, 0x48
mov edx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
mov ecx, ebx
add eax, 0x48
sub edx, eax
mov eax, edx
and edx, 1
mov dword [ebp - 0x10], edx
movsx edx, byte [eax + 0x4b1c4c]
movsx eax, byte [eax + 0x4b1c40]
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x449f09
mov dword [ebp - 0x18], bind
cmp dword [ebp - 0x28], 0
movzx eax, word [ebx]
lea ebx, [ecx + 2]
mov dword [ebp - 0x14], eax
mov ecx, eax
mov dword [ebp - 0x30], ebx
je 0x449f51
and eax, 0xfc00
cmp eax, 0xd800
jne 0x449f4e
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or eax, ecx
add eax, 0x10000
add ebx, 2
mov dword [ebp - 0x14], eax
mov ecx, eax
mov dword [ebp - 0x30], ebx
jmp 0x449f51
mov eax, dword [ebp - 0x14]
cmp edi, 0x48
jb 0x44a1fa
cmp dword [ebp - 0x28], 0
je 0x449f90
cmp ecx, 0x7f
jbe 0x449f90
mov eax, ecx
shr eax, 7
movzx ecx, byte [eax + 0x4bff60]
mov eax, dword [ebp - 0x14]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c60]
mov eax, dword [eax*8 + 0x4af414]
add eax, dword [ebp - 0x14]
jmp 0x449fa2
cmp ecx, 0xff
ja 0x449fa2
mov eax, dword [esi + 0x40]
mov ecx, dword [ebp - 0x14]
movzx eax, byte [eax + ecx]
cmp dword [ebp - 0x28], 0
mov edi, 1
mov dword [ebp - 0x20], eax
je 0x44a019
cmp edx, edi
jl 0x44a04a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44dc60
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 0x44a000
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], ecx
je case.0x40a206.157
cmp dword [ebp - 0x20], ecx
je case.0x40a206.157
inc edi
cmp edi, edx
jle 0x449fb8
jmp 0x44a04d
mov eax, dword [ebp - 8]
cmp edx, 1
jl 0x44a04d
cmp eax, dword [esi + 0x7c]
jae 0x44dc60
movzx ecx, word [eax]
cmp dword [ebp - 0x14], ecx
je case.0x40a206.157
cmp dword [ebp - 0x20], ecx
je case.0x40a206.157
add eax, 2
inc edi
mov dword [ebp - 8], eax
cmp edi, edx
jle 0x44a021
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
je 0x40a4e9
cmp dword [ebp - 0x10], 0
jne 0x44db54
cmp dword [ebp - 0x28], 0
mov edi, eax
mov dword [ebp - 0x10], edi
je 0x44a164
cmp edx, ecx
jge 0x44a0d6
cmp eax, dword [esi + 0x7c]
jae 0x44a13a
movzx edi, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a0b3
movzx eax, word [ecx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, 2
add edi, 0x10000
jmp 0x44a0b8
mov eax, 1
cmp dword [ebp - 0x14], edi
je 0x44a0d0
cmp dword [ebp - 0x20], edi
je 0x44a0d0
lea ecx, [ecx + eax*2]
inc edx
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x18]
jl 0x44a075
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp eax, edi
jbe 0x40a302
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44a130
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x44a0eb
jmp 0x40a302
cmp dword [esi + 0x8c], 0
je 0x44a0d3
cmp eax, dword [esi + 0x88]
jbe 0x44a0d3
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
jmp 0x44a0d3
cmp edx, ecx
jge 0x44a1b2
mov edi, dword [ebp - 0x20]
cmp eax, dword [esi + 0x7c]
jae 0x44a18a
movzx ecx, word [eax]
cmp dword [ebp - 0x14], ecx
je 0x44a1af
cmp edi, ecx
je 0x44a1af
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x44a16b
jmp 0x44a1af
cmp dword [esi + 0x8c], 0
je 0x44a1af
cmp eax, dword [esi + 0x88]
jbe 0x44a1af
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp eax, edi
je 0x40a302
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
jne 0x44a1c7
jmp 0x40a302
cmp dword [ebp - 0x28], 0
mov edi, 1
je 0x44a26c
cmp edx, edi
jge 0x44a211
mov ecx, dword [ebp - 0x14]
jmp 0x44a294
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44dc60
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 0x44a259
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, dword [ebp - 8]
add ecx, 0x10000
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], ecx
je case.0x40a206.157
inc edi
cmp edi, edx
jle 0x44a211
mov ecx, dword [ebp - 0x14]
jmp 0x44a297
mov ecx, dword [ebp - 0x14]
cmp edx, 1
jl 0x44a294
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44dc60
movzx eax, word [eax]
add dword [ebp - 8], 2
cmp ecx, eax
je case.0x40a206.157
inc edi
cmp edi, edx
jle 0x44a274
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0x40a4e9
cmp dword [ebp - 0x10], 0
jne 0x44dc92
cmp dword [ebp - 0x28], 0
mov edi, eax
mov dword [ebp - 0x20], edi
je 0x44a3a8
cmp edx, dword [ebp - 0x18]
jge 0x44a31a
cmp eax, dword [esi + 0x7c]
jae 0x44a37e
movzx edi, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a2fc
movzx eax, word [ecx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov eax, 2
add edi, 0x10000
jmp 0x44a301
mov eax, 1
cmp dword [ebp - 0x14], edi
je 0x44a314
lea ecx, [ecx + eax*2]
inc edx
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x18]
jl 0x44a2be
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x20]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp eax, edi
jbe 0x40a302
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44a374
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
ja 0x44a32f
jmp 0x40a302
cmp dword [esi + 0x8c], 0
je 0x44a317
cmp eax, dword [esi + 0x88]
jbe 0x44a317
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
jmp 0x44a317
cmp edx, dword [ebp - 0x18]
jge 0x44a3c9
cmp eax, dword [esi + 0x7c]
jae 0x44a411
movzx eax, word [eax]
cmp ecx, eax
je 0x44a3c6
add dword [ebp - 8], 2
inc edx
mov eax, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
jl 0x44a3ad
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp eax, edi
je 0x40a302
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
jne 0x44a3de
jmp 0x40a302
cmp dword [esi + 0x8c], 0
je 0x44a3c9
cmp eax, dword [esi + 0x88]
jbe 0x44a3c9
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44a3c9
jmp 0x44ef27
movzx edi, word [ebx + 2]
mov edx, 1
mov ecx, edi
mov dword [ebp - 0x14], edi
add ebx, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], edx
mov eax, ebx
jmp 0x40a751
movzx edi, word [ebx + 2]
xor edx, edx
cmp ecx, 0x5c
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x14], edi
sete dl
add ebx, 4
mov dword [ebp - 0x10], edx
mov eax, ebx
xor ecx, ecx
jmp 0x40a751
xor ecx, ecx
jmp 0x44a483
mov ecx, 1
mov dword [ebp - 0x14], bind
jmp 0x44a495
xor ecx, ecx
mov dword [ebp - 0x14], 1
add ebx, 2
jmp 0x44a4a6
movzx edi, word [ebx + 2]
xor ecx, ecx
mov dword [ebp - 0x14], edi
add ebx, 4
mov edx, dword [ebp - 0x10]
mov eax, ebx
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0xc], ecx
jmp 0x40a751
xor edx, edx
jmp 0x40a72c
movzx ecx, word [ebx]
xor eax, eax
cmp edi, 0xf
sete al
mov dword [ebp - 0x3c], eax
lea eax, [ebx + 2]
movzx ebx, word [eax]
mov dword [ebp - 0x40], ebx
lea ebx, [eax + 2]
mov eax, ecx
mov dword [ebp - 0x30], ebx
mov ecx, dword [ebp - 0xc]
jmp 0x40a772
test eax, eax
js 0x44ac17
cmp eax, 0xa
ja case.default.0x448bdf
jmp dword [eax*4 + 0x44f337]
cmp dword [ebp - 0x3c], 0
jne case.0x40a206.157
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jge 0x44a51f
mov ecx, dword [ebp - 0xc]
jmp 0x40a780
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], edi
je 0x44a549
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a549
add edi, 2
mov dword [ebp - 8], edi
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44a51f
mov ecx, dword [ebp - 0xc]
jmp 0x44ad9f
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x40a780
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x44a5b2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a5b2
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp eax, 9
je 0x44a5e9
cmp eax, 5
je 0x44a5e9
cmp eax, 8
je 0x44a5e9
xor eax, eax
jmp 0x44a5ee
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44a56a
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x40a780
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x44a669
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a669
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov edx, dword [ebp - 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp dword [eax*4 + 0x4c5370], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44a621
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x40a780
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x44a717
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a717
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44a6cf
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x40a780
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x44a7be
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a7be
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + str.VirtualProtect]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44a776
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x40a780
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x44a865
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a865
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x44a89e
cmp eax, 3
je 0x44a89e
xor eax, eax
jmp 0x44a8a3
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44a81d
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov eax, 1
mov dword [ebp - 0x24], eax
cmp ecx, eax
jl 0x44ad9f
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], edi
je 0x44a922
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44a91f
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov edx, ecx
mov eax, dword [ebp - 0x24]
cmp ecx, 0x180e
ja 0x44a968
je 0x44a9dd
cmp ecx, 0x85
ja 0x44a956
je 0x44a9dd
cmp ecx, 9
jb case.0x44a984.8203
cmp ecx, 0xd
jbe 0x44a9dd
cmp ecx, 0x20
jne case.0x44a984.8203
jmp 0x44a9dd
cmp ecx, 0xa0
je 0x44a9dd
cmp ecx, 0x1680
jne case.0x44a984.8203
jmp 0x44a9dd
cmp ecx, 0x202f
ja 0x44a98b
je 0x44a9dd
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x44a984.8203
movzx eax, byte [ecx + 0x44f36b]
jmp dword [eax*4 + 0x44f363]
cmp ecx, 0x205f
je 0x44a9dd
cmp ecx, 0x3000
je 0x44a9dd
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp dword [eax*4 + 0x4c5370], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp - 0x24]
jmp 0x44a9e7
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x3c], 0
jne case.0x40a206.157
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, ecx
jle 0x44a8d6
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x40a780
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
mov dword [ebp - 8], edi
je 0x44aa56
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44aa56
movzx edx, word [edi]
and ecx, 0x3ff
and edx, 0x3ff
shl ecx, 0xa
add edi, 2
or edx, ecx
mov dword [ebp - 8], edi
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4bff60]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x44aa96
cmp eax, 3
je 0x44aa96
cmp edx, 0x5f
je 0x44aa96
xor eax, eax
jmp 0x44aa9b
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44aa0e
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x40a780
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], ecx
je 0x44ab1c
mov eax, ecx
mov dword [ebp - 0x24], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ab1c
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [eax*4 + 0x4b0a90]
lea eax, [eax*4 + 0x4b0a90]
cmp dword [ebp - 0x24], edx
jb 0x44ab3f
lea eax, [eax + 4]
cmp ecx, edx
je 0x44ab60
mov edx, dword [eax]
cmp ecx, edx
jae 0x44ab32
cmp dword [ebp - 0x3c], 0
je case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44aace
jmp 0x44ad9c
cmp dword [ebp - 0x3c], 0
jne case.0x40a206.157
jmp 0x44ab49
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x40a780
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
je 0x44abc7
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44abc7
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x24
je 0x44abf2
cmp ecx, 0x40
je 0x44abf2
cmp ecx, 0x60
je 0x44abf2
cmp ecx, 0xa0
jb 0x44abe6
cmp ecx, 0xd7ff
jbe 0x44abf2
cmp ecx, 0xe000
jae 0x44abf2
xor eax, eax
jmp 0x44abf7
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44ab7f
jmp 0x44ad9c
cmp edi, 0x16
jne 0x44ada7
mov edi, dword [ebp - 8]
mov dword [ebp - 0x34], 1
cmp ecx, 1
jl 0x40a780
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], eax
cmp edi, eax
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov eax, edi
mov dword [ebp - 8], edi
mov ecx, edx
mov dword [ebp - 0x24], eax
je 0x44ac8d
mov dword [ebp - 0x24], eax
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ac8d
movzx ecx, word [edi]
and edx, 0x3ff
add edi, 2
shl edx, 0xa
and ecx, 0x3ff
mov dword [ebp - 8], edi
mov eax, edi
or ecx, edx
mov dword [ebp - 0x24], eax
add ecx, 0x10000
mov edx, dword [ebp - 0x24]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx ecx, byte [eax*8 + 0x4af412]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x38], ecx
cmp edx, eax
jae 0x44ad60
mov eax, edx
mov ebx, ecx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x28], 0
mov esi, 1
movzx ecx, word [edi]
je 0x44ad04
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ad04
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov edx, dword [ebp - 0x24]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx ecx, byte [eax*8 + 0x4af412]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4c2210], eax
je 0x44ad54
mov eax, edx
mov ebx, ecx
lea edi, [eax + esi*2]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
mov edx, edi
cmp edi, eax
jb 0x44acc9
jmp 0x44ad57
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44ad89
cmp edx, eax
jb 0x44ad89
cmp edx, dword [esi + 0x88]
jbe 0x44ad89
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov ecx, dword [ebp - 0x34]
inc ecx
mov dword [ebp - 0x34], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44ac33
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
jmp 0x40a780
cmp dword [ebp - 0x28], 0
lea eax, [edi - 6]
je 0x44b4cc
cmp eax, 0xf
ja case.default.0x448bdf
jmp dword [eax*4 + 0x44f397]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44ad9f
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44b5ad
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44ae01
push dword [ebp - 0x28]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00408665
add esp, 0xc
test eax, eax
jne case.0x40a206.157
jmp 0x44ae2d
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44ae2d
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44ae2d
cmp edx, 1
je case.0x40a206.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x40a206.157
cmp dword [esi + 0x8c], 0
je 0x44ae67
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44ae67
cmp dword [esi + 0x18], 0
jne 0x44ae67
cmp dword [esi + 0x1c], 2
jne 0x44ae67
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44ae67
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov ecx, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44ae8f
mov ax, word [edi]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x44ae8f
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, dword [ebp - 0xc]
jle 0x44add6
jmp 0x44ad99
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44b5ad
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44aef0
mov ax, word [edi]
mov dword [ebp - 0x38], 0xfc00
and ax, word [ebp - 0x38]
mov dword [ebp - 0x38], 0xdc00
cmp ax, word [ebp - 0x38]
mov eax, dword [ebp - 0xc]
jne 0x44aef0
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jle 0x44aeba
jmp 0x44ad99
mov eax, dword [esi + 0x7c]
add ecx, ecx
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja case.0x40a206.157
add edi, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], edi
jmp 0x44ad9f
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44ad9f
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
mov edx, edi
cmp eax, 0xd800
jne 0x44af71
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov edx, edi
cmp ecx, 0xd
ja 0x44afa0
je 0x44af8b
cmp ecx, 0xa
je 0x44afc1
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x40a206.157
jmp 0x44afb7
mov eax, dword [esi + 0x7c]
cmp edx, eax
jae 0x44afc4
cmp word [edi], 0xa
jne 0x44afc4
lea edi, [edx + 2]
mov dword [ebp - 8], edi
jmp 0x44afc4
cmp ecx, 0x85
je 0x44afb7
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a206.157
cmp dword [esi + 0x6c], 0
jne case.0x40a206.157
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44af2f
jmp 0x44ad99
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b028
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0x44b066
je case.0x40a206.157
cmp ecx, 0xa0
ja 0x44b058
je case.0x40a206.157
cmp ecx, 9
je case.0x40a206.157
cmp ecx, 0x20
je case.0x40a206.157
jmp 0x44b0a2
cmp ecx, 0x1680
je case.0x40a206.157
jmp 0x44b0a2
cmp ecx, 0x205f
ja 0x44b096
je case.0x40a206.157
cmp ecx, 0x2000
jb 0x44b0a2
cmp ecx, 0x200a
jbe case.0x40a206.157
cmp ecx, 0x202f
je case.0x40a206.157
jmp 0x44b0a2
cmp ecx, 0x3000
je case.0x40a206.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44afe9
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b102
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0x44b134
je 0x44b16c
cmp ecx, 0xa0
ja 0x44b126
je 0x44b16c
cmp ecx, 9
je 0x44b16c
cmp ecx, 0x20
jne case.0x40a206.157
jmp 0x44b16c
cmp ecx, 0x1680
jne case.0x40a206.157
jmp 0x44b16c
cmp ecx, 0x205f
ja 0x44b160
je 0x44b16c
cmp ecx, 0x2000
jb case.0x40a206.157
cmp ecx, 0x200a
jbe 0x44b16c
cmp ecx, 0x202f
jne case.0x40a206.157
jmp 0x44b16c
cmp ecx, 0x3000
jne case.0x40a206.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44b0c3
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b1cc
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
ja 0x44b1ea
je case.0x40a206.157
cmp ecx, 0xa
jb 0x44b1fe
cmp ecx, 0xd
jbe case.0x40a206.157
jmp 0x44b1fe
cmp ecx, 0x2028
jb 0x44b1fe
cmp ecx, 0x2029
jbe case.0x40a206.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44b18d
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44b25a
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
ja 0x44b272
je 0x44b281
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x40a206.157
jmp 0x44b281
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a206.157
mov ecx, dword [ebp - 0xc]
inc edx
cmp edx, ecx
jle 0x44b21b
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44ad9f
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44b2e4
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov edx, ecx
cmp edx, 0x80
jae 0x44b2f9
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44b2a1
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x40a206.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44b31c
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44ad9f
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44b5ad
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44b390
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x40a206.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44b3b8
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44b3b8
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
jle 0x44b36d
jmp 0x44ad99
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x40a206.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44b3d8
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44ad9f
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0x44b5ad
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0x44b44c
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x40a206.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0x44b474
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0x44b474
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, eax
jle 0x44b429
jmp 0x44ad99
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x40a206.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44b494
jmp 0x44ad9c
cmp eax, 0xf
ja case.default.0x448bdf
jmp dword [eax*4 + 0x44f3d7]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
cmp ecx, 1
jl 0x44ad9f
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44b5ad
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44b51c
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00408665
add esp, 0xc
test eax, eax
jne case.0x40a206.157
jmp 0x44b548
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44b548
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44b548
cmp edx, 1
je case.0x40a206.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x40a206.157
cmp dword [esi + 0x8c], 0
je 0x44b582
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44b582
cmp dword [esi + 0x18], 0
jne 0x44b582
cmp dword [esi + 0x1c], 2
jne 0x44b582
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44b582
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov eax, dword [ebp - 0x1c]
add edi, 2
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jle 0x44b4ef
jmp 0x44ad9c
mov eax, dword [esi + 0x7c]
add ecx, ecx
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
jbe 0x44b5ed
cmp dword [esi + 0x8c], 0
je case.0x40a206.157
cmp edi, dword [esi + 0x88]
jbe case.0x40a206.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x40a206.157
jmp 0x44ef27
mov eax, dword [esi + 0x7c]
add ecx, ecx
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0x44b5ad
add edi, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], edi
jmp 0x44ad9f
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
ja 0x44b646
je 0x44b634
cmp eax, 0xa
je 0x44b665
add eax, 0xfffffff5
cmp eax, 1
ja case.0x40a206.157
jmp 0x44b65b
cmp edi, ecx
jae 0x44b665
cmp word [edi], 0xa
jne 0x44b665
add edi, 2
mov dword [ebp - 8], edi
jmp 0x44b665
cmp eax, 0x85
je 0x44b65b
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40a206.157
cmp dword [esi + 0x6c], 0
jne case.0x40a206.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0x44b60d
jmp 0x44ad99
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x44a54f
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x180e
ja 0x44b6ce
je case.0x40a206.157
cmp eax, 0xa0
ja 0x44b6c1
je case.0x40a206.157
cmp eax, 9
je case.0x40a206.157
cmp eax, 0x20
je case.0x40a206.157
jmp 0x44b705
cmp eax, 0x1680
je case.0x40a206.157
jmp 0x44b705
cmp eax, 0x205f
ja 0x44b6fa
je case.0x40a206.157
cmp eax, 0x2000
jb 0x44b705
cmp eax, 0x200a
jbe case.0x40a206.157
cmp eax, 0x202f
je case.0x40a206.157
jmp 0x44b705
cmp eax, 0x3000
je case.0x40a206.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44b681
mov ecx, dword [ebp - 0xc]
jmp 0x44ad9f
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x44a54f
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x180e
ja 0x44b769
je 0x44b79c
cmp eax, 0xa0
ja 0x44b75c
je 0x44b79c
cmp eax, 9
je 0x44b79c
cmp eax, 0x20
jne case.0x40a206.157
jmp 0x44b79c
cmp eax, 0x1680
jne case.0x40a206.157
jmp 0x44b79c
cmp eax, 0x205f
ja 0x44b791
je 0x44b79c
cmp eax, 0x2000
jb case.0x40a206.157
cmp eax, 0x200a
jbe 0x44b79c
cmp eax, 0x202f
jne case.0x40a206.157
jmp 0x44b79c
cmp eax, 0x3000
jne case.0x40a206.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44b728
mov ecx, dword [ebp - 0xc]
jmp 0x44ad9f
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x44a54f
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
ja 0x44b7ea
je case.0x40a206.157
cmp eax, 0xa
jb 0x44b7fc
cmp eax, 0xd
jbe case.0x40a206.157
jmp 0x44b7fc
cmp eax, 0x2028
jb 0x44b7fc
cmp eax, 0x2029
jbe case.0x40a206.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44b7bb
mov ecx, dword [ebp - 0xc]
jmp 0x44ad9f
mov edi, dword [ebp - 8]
mov ecx, 1
cmp dword [ebp - 0xc], ecx
jl 0x44a54f
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
ja 0x44b844
je 0x44b852
add eax, 0xfffffff6
cmp eax, 3
ja case.0x40a206.157
jmp 0x44b852
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40a206.157
inc ecx
cmp ecx, dword [ebp - 0xc]
jle 0x44b81b
mov ecx, dword [ebp - 0xc]
jmp 0x44ad9f
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44b89b
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x40a206.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44b870
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x40a206.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x40a206.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44b8bb
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44b932
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x40a206.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44b907
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x40a206.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x40a206.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44b952
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44b9c9
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x40a206.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44b99e
jmp 0x44ad9c
mov edi, dword [ebp - 8]
mov edx, 1
cmp ecx, edx
jl 0x44ad9c
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0x40a206.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x40a206.157
mov ecx, dword [ebp - 0xc]
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jle 0x44b9e9
jmp 0x44ad9c
mov edx, edi
mov dword [ebp - 0x10], edx
test eax, eax
js 0x44c29c
cmp eax, 0xa
ja case.default.0x448bdf
jmp dword [eax*4 + 0x44f417]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
jge 0x44c237
cmp edi, dword [esi + 0x7c]
jae 0x44baa0
cmp dword [ebp - 0x28], 0
mov ecx, 1
je 0x44ba80
mov ax, word [edi]
mov dword [ebp - 0x38], 0xfc00
and ax, word [ebp - 0x38]
mov dword [ebp - 0x38], 0xd800
cmp ax, word [ebp - 0x38]
mov eax, dword [ebp - 0x14]
jne 0x44ba80
mov ecx, 2
cmp dword [ebp - 0x3c], 0
jne 0x44c237
lea edi, [edi + ecx*2]
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, eax
jl 0x44ba4d
jmp 0x44c237
cmp dword [esi + 0x8c], 0
je 0x44c237
cmp edi, dword [esi + 0x88]
jbe 0x44c237
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c237
jmp 0x44ef27
cmp ecx, dword [ebp - 0x14]
jge 0x44c237
cmp edi, dword [esi + 0x7c]
jae 0x44bb90
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44bb2b
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bb26
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44bb30
mov edx, dword [ebp - 0x38]
jmp 0x44bb30
mov edx, 1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp eax, 9
je 0x44bb67
cmp eax, 5
je 0x44bb67
cmp eax, 8
je 0x44bb67
xor eax, eax
jmp 0x44bb6c
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44c234
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44badb
jmp 0x44c234
cmp dword [esi + 0x8c], 0
je 0x44c234
cmp edi, dword [esi + 0x88]
jbe 0x44c234
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c234
jmp 0x44ef27
cmp ecx, dword [ebp - 0x14]
jge 0x44c237
cmp edi, dword [esi + 0x7c]
jae 0x44bb90
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44bc17
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bc12
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44bc1c
mov edx, dword [ebp - 0x38]
jmp 0x44bc1c
mov edx, 1
mov esi, dword [ebp - 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp dword [eax*4 + 0x4c5370], esi
mov esi, dword [ebp + 0x10]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44c234
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44bbcb
jmp 0x44c234
cmp ecx, dword [ebp - 0x14]
jge 0x44c237
cmp edi, dword [esi + 0x7c]
jae 0x44bb90
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44bccf
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bcca
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44bcd4
mov edx, dword [ebp - 0x38]
jmp 0x44bcd4
mov edx, 1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44c234
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44bc7f
jmp 0x44c234
cmp ecx, dword [ebp - 0x14]
jge 0x44c237
cmp edi, dword [esi + 0x7c]
jae 0x44bb90
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44bd7d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44bd78
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44bd82
mov edx, dword [ebp - 0x38]
jmp 0x44bd82
mov edx, 1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + str.VirtualProtect]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44c234
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44bd2d
jmp 0x44c234
cmp ecx, dword [ebp - 0x14]
jge 0x44c237
cmp edi, dword [esi + 0x7c]
jae 0x44bb90
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
mov dword [ebp - 0x38], 1
je 0x44be2b
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44be26
movzx ecx, word [edi + 2]
and edx, 0x3ff
shl edx, 0xa
and ecx, 0x3ff
or ecx, edx
mov edx, 2
add ecx, 0x10000
jmp 0x44be30
mov edx, dword [ebp - 0x38]
jmp 0x44be30
mov edx, 1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x44be69
cmp eax, 3
je 0x44be69
xor eax, eax
jmp 0x44be6e
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44c234
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44bddb
jmp 0x44c234
cmp ecx, dword [ebp - 0x14]
jge 0x44c237
mov eax, 1
mov dword [ebp - 0x24], eax
cmp edi, dword [esi + 0x7c]
jae 0x44bfce
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov edx, ecx
je 0x44beee
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44beeb
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x24], eax
mov edx, ecx
jmp 0x44beee
mov eax, dword [ebp - 0x24]
cmp ecx, 0x180e
ja 0x44bf34
je 0x44bfa9
cmp ecx, 0x85
ja 0x44bf22
je 0x44bfa9
cmp ecx, 9
jb case.0x44bf50.8203
cmp ecx, 0xd
jbe 0x44bfa9
cmp ecx, 0x20
jne case.0x44bf50.8203
jmp 0x44bfa9
cmp ecx, 0xa0
je 0x44bfa9
cmp ecx, 0x1680
jne case.0x44bf50.8203
jmp 0x44bfa9
cmp ecx, 0x202f
ja 0x44bf57
je 0x44bfa9
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x44bf50.8203
movzx eax, byte [ecx + 0x44f44b]
jmp dword [eax*4 + 0x44f443]
cmp ecx, 0x205f
je 0x44bfa9
cmp ecx, 0x3000
je 0x44bfa9
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp dword [eax*4 + 0x4c5370], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x44c234
mov eax, dword [ebp - 0x24]
jmp 0x44bfb3
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x3c], 0
jne 0x44c234
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44be9b
jmp 0x44c234
cmp dword [esi + 0x8c], 0
je 0x44c234
cmp edi, dword [esi + 0x88]
jbe 0x44c234
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0x44c234
jmp 0x44ef27
cmp ecx, dword [ebp - 0x14]
jge 0x44c237
cmp edi, dword [esi + 0x7c]
jae 0x44bb90
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov edx, ecx
mov dword [ebp - 0x1c], 1
je 0x44c04f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c04f
movzx edx, word [edi + 2]
and ecx, 0x3ff
and edx, 0x3ff
shl ecx, 0xa
or edx, ecx
mov dword [ebp - 0x1c], 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4bff60]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x44c08f
cmp eax, 3
je 0x44c08f
cmp edx, 0x5f
je 0x44c08f
xor eax, eax
jmp 0x44c094
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44c234
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c004
jmp 0x44c234
cmp ecx, dword [ebp - 0x14]
jge 0x44c237
mov dword [ebp - 0x1c], 1
cmp edi, dword [esi + 0x7c]
jae 0x44bb90
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov dword [ebp - 0x24], ecx
je 0x44c115
mov eax, ecx
mov dword [ebp - 0x24], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c115
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [eax*4 + 0x4b0a90]
lea eax, [eax*4 + 0x4b0a90]
cmp dword [ebp - 0x24], edx
jb 0x44c138
lea eax, [eax + 4]
cmp ecx, edx
je 0x44c160
mov edx, dword [eax]
cmp ecx, edx
jae 0x44c12b
cmp dword [ebp - 0x3c], 0
je 0x44c234
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c0c4
jmp 0x44c234
cmp dword [ebp - 0x3c], 0
je 0x44c142
jmp 0x44c234
cmp ecx, dword [ebp - 0x14]
jge 0x44c237
mov dword [ebp - 0x1c], 1
cmp edi, dword [esi + 0x7c]
jae 0x44c20f
cmp dword [ebp - 0x28], 0
movzx edx, word [edi]
mov ecx, edx
je 0x44c1bf
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c1bf
movzx ecx, word [edi + 2]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
cmp ecx, 0x24
je 0x44c1ea
cmp ecx, 0x40
je 0x44c1ea
cmp ecx, 0x60
je 0x44c1ea
cmp ecx, 0xa0
jb 0x44c1de
cmp ecx, 0xd7ff
jbe 0x44c1ea
cmp ecx, 0xe000
jae 0x44c1ea
xor eax, eax
jmp 0x44c1ef
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x44c234
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c174
jmp 0x44c234
cmp dword [esi + 0x8c], 0
je 0x44c234
cmp edi, dword [esi + 0x88]
jbe 0x44c234
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp edi, edx
jbe 0x40a302
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp dword [ebp - 0x28], eax
je 0x44c292
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44c292
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0x44c249
jmp 0x40a302
mov eax, dword [ebp - 0x20]
cmp eax, 0x16
jne 0x44c489
cmp ecx, dword [ebp - 0x14]
jge 0x44c43d
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], eax
cmp edi, eax
jae 0x44c415
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], edi
je 0x44c307
mov eax, edx
mov dword [ebp - 0x24], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c307
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
add edi, 2
or ecx, edx
mov dword [ebp - 8], edi
add ecx, 0x10000
mov dword [ebp - 0x24], edi
mov edx, dword [ebp - 0x24]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx ecx, byte [eax*8 + 0x4af412]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x38], ecx
cmp edx, eax
jae 0x44c3da
mov eax, edx
mov ebx, ecx
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x28], 0
mov esi, 1
movzx ecx, word [edi]
je 0x44c37e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c37e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov edx, dword [ebp - 0x24]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx ecx, byte [eax*8 + 0x4af412]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0x4c2210], eax
je 0x44c3ce
mov eax, edx
mov ebx, ecx
lea edi, [eax + esi*2]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], edi
mov edx, edi
cmp edi, eax
jb 0x44c343
jmp 0x44c3d1
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44c403
cmp edx, eax
jb 0x44c403
cmp edx, dword [esi + 0x88]
jbe 0x44c403
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c2b1
jmp 0x44c43a
cmp dword [esi + 0x8c], 0
je 0x44c43a
cmp edi, dword [esi + 0x88]
jbe 0x44c43a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp edi, edx
jbe 0x40a302
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp dword [ebp - 0x28], eax
jne 0x44d354
movzx ecx, word [edi]
jmp 0x44d39a
add eax, 0xfffffffa
cmp dword [ebp - 0x28], 0
je 0x44ccad
cmp eax, 0xf
ja case.default.0x448bdf
jmp dword [eax*4 + 0x44f477]
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x24], eax
cmp edi, eax
jae 0x44c588
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44c4df
push dword [ebp - 0x28]
lea ecx, [esi + 0x1c]
push ecx
push eax
mov ecx, edi
call fcn.00408665
add esp, 0xc
test eax, eax
je 0x44c50e
jmp 0x44c5ad
mov ecx, dword [esi + 0x1c]
mov edx, dword [ebp - 0x24]
lea eax, [ecx + ecx]
sub edx, eax
cmp edi, edx
ja 0x44c50e
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c50e
cmp ecx, 1
je 0x44c5ad
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44c5ad
cmp dword [esi + 0x8c], 0
je 0x44c548
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44c548
cmp dword [esi + 0x18], 0
jne 0x44c548
cmp dword [esi + 0x1c], 2
jne 0x44c548
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44c548
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x24], eax
cmp edi, eax
jae 0x44c576
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0x24]
jne 0x44c576
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x44c4b5
jmp 0x44c5ad
cmp dword [esi + 0x8c], 0
je 0x44c5ad
cmp edi, dword [esi + 0x88]
jbe 0x44c5ad
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov edx, dword [ebp - 0x10]
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp edi, edx
jbe 0x40a302
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov ax, word [edi - 2]
add edi, 0xfffffffe
mov edx, 0xfc00
mov dword [ebp - 8], edi
and ax, dx
mov ecx, edi
mov edx, 0xdc00
cmp ax, dx
jne 0x44c60b
add edi, 0xfffffffe
mov dword [ebp - 8], edi
mov ecx, edi
cmp dword [ebp - 0x20], 0x11
mov eax, dword [ebp - 0x10]
jne 0x44c62b
cmp ecx, eax
jbe 0x44c62b
cmp word [edi], 0xa
jne 0x44c62b
cmp word [edi - 2], 0xd
jne 0x44c62b
lea edi, [ecx - 2]
mov dword [ebp - 8], edi
cmp edi, eax
ja 0x44c5c2
jmp 0x40a302
mov eax, dword [ebp - 0x14]
cmp eax, 0x7fffffff
jge 0x44c68c
cmp ecx, eax
jge 0x44c5b0
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0x44c692
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44c67e
mov ax, word [edi]
mov dword [ebp - 0x38], 0xfc00
and ax, word [ebp - 0x38]
mov dword [ebp - 0x38], 0xdc00
cmp ax, word [ebp - 0x38]
mov eax, dword [ebp - 0xc]
jne 0x44c67e
add edi, 2
mov dword [ebp - 8], edi
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c64c
jmp 0x44c5b0
mov edi, dword [esi + 0x7c]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0x44c5b0
cmp edi, dword [esi + 0x88]
jbe 0x44c5b0
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c5b0
jmp 0x44ef27
sub dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub eax, edi
sar eax, 1
cmp dword [ebp - 0x14], eax
jbe 0x44c70c
cmp dword [esi + 0x8c], 0
mov edi, ecx
mov dword [ebp - 8], edi
je 0x44c5b0
cmp ecx, dword [esi + 0x88]
jbe 0x44c5b0
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44c5b0
jmp 0x44ef27
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
jmp 0x44c5b0
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
mov eax, dword [esi + 0x7c]
cmp edi, eax
jae 0x44c588
movzx ecx, word [edi]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c763
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0xd
jne 0x44c784
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0x44c5ad
cmp word [edi], 0xa
jne 0x44c7c2
add edi, 2
jmp 0x44c7bf
cmp ecx, 0xa
je 0x44c7b9
cmp dword [esi + 0x6c], 0
jne 0x44c5ad
cmp ecx, 0xb
je 0x44c7b9
cmp ecx, 0xc
je 0x44c7b9
cmp ecx, 0x85
je 0x44c7b9
cmp ecx, 0x2028
je 0x44c7b9
cmp ecx, 0x2029
jne 0x44c5ad
mov eax, dword [esi + 0x7c]
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x44c726
jmp 0x44c5ad
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44c8aa
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c81e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0x44c87a
je 0x44c83c
cmp ecx, 0xa0
ja 0x44c870
je 0x44c83c
cmp ecx, 9
je 0x44c83c
cmp ecx, 0x20
jne 0x44c8a6
mov ecx, 1
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [ebp - 0x20], 0x12
sete al
cmp ecx, eax
je 0x44c5ad
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c7e0
jmp 0x44c5ad
cmp ecx, 0x1680
jne 0x44c8a6
jmp 0x44c83c
cmp ecx, 0x205f
ja 0x44c89e
je 0x44c83c
cmp ecx, 0x2000
jb 0x44c8a6
cmp ecx, 0x200a
jbe 0x44c83c
cmp ecx, 0x202f
jne 0x44c8a6
jmp 0x44c83c
cmp ecx, 0x3000
je 0x44c83c
xor ecx, ecx
jmp 0x44c841
cmp dword [esi + 0x8c], 0
je 0x44c5ad
cmp edi, dword [esi + 0x88]
jbe 0x44c5ad
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jmp 0x44c5a7
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0x44c8aa
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44c914
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0x44c955
je 0x44c960
cmp ecx, 0xa
jb 0x44c928
cmp ecx, 0xd
jbe 0x44c960
xor ecx, ecx
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [ebp - 0x20], 0x14
sete al
cmp ecx, eax
je 0x44c5ad
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c8da
jmp 0x44c5ad
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0x44c928
mov ecx, 1
jmp 0x44c92a
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
cmp edi, dword [esi + 0x7c]
jae 0x44c588
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44c9b9
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x1c], eax
mov edx, ecx
jmp 0x44c9be
mov eax, 1
cmp edx, 0x100
jae 0x44c9d6
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44c5ad
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c970
jmp 0x44c5ad
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
cmp edi, dword [esi + 0x7c]
jae 0x44c588
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44ca3c
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
mov edx, ecx
cmp edx, 0x100
jae 0x44c5ad
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44c5ad
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44c9f6
jmp 0x44c5ad
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
cmp edi, dword [esi + 0x7c]
jae 0x44c588
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44cac1
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x1c], eax
mov edx, ecx
jmp 0x44cac6
mov eax, 1
cmp edx, 0x100
jae 0x44cade
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44c5ad
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44ca78
jmp 0x44c5ad
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
cmp edi, dword [esi + 0x7c]
jae 0x44c588
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44cb44
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
mov edx, ecx
cmp edx, 0x100
jae 0x44c5ad
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44c5ad
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44cafe
jmp 0x44c5ad
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
cmp edi, dword [esi + 0x7c]
jae 0x44c588
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44cbc9
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x1c], eax
mov edx, ecx
jmp 0x44cbce
mov eax, 1
cmp edx, 0x100
jae 0x44cbe6
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44c5ad
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44cb80
jmp 0x44c5ad
cmp ecx, dword [ebp - 0x14]
jge 0x44c5b0
cmp edi, dword [esi + 0x7c]
jae 0x44cc7b
movzx ecx, word [edi]
mov eax, ecx
mov dword [ebp - 0x1c], 1
and eax, 0xfc00
mov edx, ecx
cmp eax, 0xd800
jne 0x44cc48
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x1c], 2
add ecx, 0x10000
mov edx, ecx
cmp edx, 0x100
jae 0x44c5ad
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44c5ad
mov eax, dword [ebp - 0x1c]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44cc06
jmp 0x44c5ad
cmp dword [esi + 0x8c], 0
je 0x44c5ad
cmp edi, dword [esi + 0x88]
jbe 0x44c5ad
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
jmp 0x44c5ad
cmp eax, 0xf
ja case.default.0x448bdf
jmp dword [eax*4 + 0x44f4b7]
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44cd6c
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44ccf2
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00408665
add esp, 0xc
test eax, eax
je 0x44cd1a
jmp 0x44cd91
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44cd1a
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44cd1a
cmp edx, 1
je 0x44cd91
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x44cd91
cmp dword [esi + 0x8c], 0
je 0x44cd54
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0x44cd54
cmp dword [esi + 0x18], 0
jne 0x44cd54
cmp dword [esi + 0x1c], 2
jne 0x44cd54
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44cd54
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44ccc6
jmp 0x44cd91
cmp dword [esi + 0x8c], 0
je 0x44cd91
cmp edi, dword [esi + 0x88]
jbe 0x44cd91
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov edx, dword [ebp - 0x10]
jmp 0x44d220
sub dword [ebp - 0x14], ecx
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub eax, edi
sar eax, 1
cmp dword [ebp - 0x14], eax
jbe 0x44cde1
cmp dword [esi + 0x8c], 0
mov edi, ecx
mov dword [ebp - 8], edi
je 0x44d220
cmp ecx, dword [esi + 0x88]
jbe 0x44d220
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44d220
jmp 0x44ef27
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44ce78
movzx eax, word [edi]
cmp eax, 0xd
jne 0x44ce1d
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x44d220
cmp word [edi], 0xa
je 0x44ce61
jmp 0x44ce67
cmp eax, 0xa
je 0x44ce61
cmp dword [esi + 0x6c], 0
jne 0x44d220
cmp eax, 0xb
je 0x44ce61
cmp eax, 0xc
je 0x44ce61
mov dword [ebp - 0x38], 0x85
cmp ax, word [ebp - 0x38]
je 0x44ce61
mov dword [ebp - 0x38], 0x2028
cmp ax, word [ebp - 0x38]
je 0x44ce61
mov dword [ebp - 0x38], 0x2029
cmp ax, word [ebp - 0x38]
jne 0x44d220
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44cdfb
jmp 0x44d220
cmp dword [esi + 0x8c], 0
je 0x44d220
cmp edi, dword [esi + 0x88]
jbe 0x44d220
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0x44d220
jmp 0x44ef27
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44ce78
movzx eax, word [edi]
cmp eax, 0x180e
ja 0x44cef4
je 0x44d220
cmp eax, 0xa0
ja 0x44cee8
je 0x44d220
cmp eax, 9
je 0x44d220
cmp eax, 0x20
jne 0x44cf2a
jmp 0x44d220
cmp eax, 0x1680
jne 0x44cf2a
jmp 0x44d220
cmp eax, 0x205f
ja 0x44cf1f
je 0x44d220
cmp eax, 0x2000
jb 0x44cf2a
cmp eax, 0x200a
jbe 0x44d220
cmp eax, 0x202f
jne 0x44cf2a
jmp 0x44d220
cmp eax, 0x3000
je 0x44d220
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44ceb3
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44ce78
movzx eax, word [edi]
cmp eax, 0x180e
ja 0x44cf81
je 0x44cfb3
cmp eax, 0xa0
ja 0x44cf75
je 0x44cfb3
cmp eax, 9
je 0x44cfb3
cmp eax, 0x20
je 0x44cfb3
jmp 0x44d220
cmp eax, 0x1680
je 0x44cfb3
jmp 0x44d220
cmp eax, 0x205f
ja 0x44cfa8
je 0x44cfb3
cmp eax, 0x2000
jb 0x44d220
cmp eax, 0x200a
jbe 0x44cfb3
cmp eax, 0x202f
je 0x44cfb3
jmp 0x44d220
cmp eax, 0x3000
jne 0x44d220
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44cf48
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44ce78
movzx eax, word [edi]
cmp eax, 0x85
ja 0x44cff5
je 0x44d220
cmp eax, 0xa
jb 0x44d007
cmp eax, 0xd
ja 0x44d007
jmp 0x44d220
cmp eax, 0x2028
jb 0x44d007
cmp eax, 0x2029
jbe 0x44d220
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44cfcd
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44ce78
movzx eax, word [edi]
cmp eax, 0x85
ja 0x44d043
je 0x44d051
add eax, 0xfffffff6
cmp eax, 3
jbe 0x44d051
jmp 0x44d220
add eax, 0xffffdfd8
cmp eax, 1
ja 0x44d220
add edi, 2
inc ecx
mov dword [ebp - 8], edi
cmp ecx, dword [ebp - 0x14]
jl 0x44d021
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44ce78
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44d096
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0x44d220
mov ecx, dword [ebp - 0xc]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x44d06b
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44ce78
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44d220
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0x44d220
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44d0b3
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44ce78
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44d127
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0x44d220
mov ecx, dword [ebp - 0xc]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x44d0fc
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44ce78
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44d220
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0x44d220
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44d144
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44ce78
movzx eax, word [edi]
mov dword [ebp - 0x38], 0xff
cmp ax, word [ebp - 0x38]
ja 0x44d1b4
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0x44d220
mov ecx, dword [ebp - 0xc]
inc ecx
add edi, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x14]
jl 0x44d18d
jmp 0x44d220
cmp ecx, dword [ebp - 0x14]
jge 0x44d220
cmp edi, dword [esi + 0x7c]
jae 0x44d1fb
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0x44d220
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0x44d220
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jl 0x44d1ca
jmp 0x44d220
cmp dword [esi + 0x8c], 0
je 0x44d220
cmp edi, dword [esi + 0x88]
jbe 0x44d220
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
cmp dword [ebp - 0x2c], 0
jne 0x40a4e9
cmp edi, edx
je 0x40a302
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x10]
add edi, 0xfffffffe
cmp dword [ebp - 0x20], 0x11
mov dword [ebp - 8], edi
jne 0x44d27b
cmp edi, eax
jbe 0x44d27d
cmp word [edi], 0xa
jne 0x44d27b
cmp word [edi - 2], 0xd
jne 0x44d27b
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, eax
jne 0x44d232
jmp 0x40a302
mov edx, dword [ebp - 0x20]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
add ebx, 4
jmp 0x40a2ff
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push ecx
push dword [ebp + 8]
jne 0x44d30c
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov ecx, dword [ebp - 0x20]
mov edx, 0x81
movzx eax, word [ecx]
cmp ax, dx
je 0x44d5be
mov edx, 0x88
cmp ax, dx
jb 0x447297
mov eax, dword [ebp + 0x18]
mov edx, ecx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
jmp 0x40a34b
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.0040a180
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x44d333
mov ecx, dword [ebp - 0x20]
cmp dword [esi + 0xb8], ecx
jne 0x40a34b
jmp 0x44d33e
test eax, eax
jne 0x40a34b
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x44d5c2
add ebx, 4
jmp 0x40a2ff
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d36f
add edi, 0xfffffffe
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d39a
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af412]
mov dword [ebp - 0x1c], eax
cmp edi, dword [ebp - 0x10]
jbe 0x40a302
cmp dword [ebp - 0x28], 0
lea edx, [edi - 2]
jne 0x44d3d8
movzx ecx, word [edx]
jmp 0x44d41b
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x44d3f0
add edx, 0xfffffffe
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d41b
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
mov ecx, dword [ebp - 0x1c]
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af412]
mov dword [ebp - 0x38], eax
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test dword [ecx*4 + 0x4c2210], eax
je 0x44c44f
mov edi, edx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], edi
jmp 0x44d3c1
mov dword [esi + 0x9c], 2
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4c2160]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.0040a180
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 0xfffffc20
jne 0x44d501
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44efaa
cmp word [ebx], 0x77
je 0x44d4d9
cmp word [eax], 0x77
jne 0x44efaa
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x38]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
jne case.0x40a206.157
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp case.0x40a206.129
test eax, eax
je 0x44d4d9
cmp eax, 0xfffffc1b
jne 0x40a34b
movzx ecx, word [ebx]
mov edx, 0x81
cmp cx, dx
je 0x44d53c
cmp ecx, 0x77
jne 0x44d530
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x44d522
movzx eax, word [ebx + 2]
neg eax
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x2c]
cmp dword [esi + 0xb8], ebx
jne 0x40a34b
jmp case.0x40a206.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0x4c2160]
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.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x40a34b
mov ecx, dword [ebp - 0x50]
lea edx, [ebp - 0x14c]
cmp ecx, edx
je 0x40a34b
push ecx
call fcn.0040ab2b
add esp, 4
jmp 0x44efaa
mov eax, 0xfffffffa
jmp 0x40a34b
mov edx, ecx
jmp 0x44d5c5
lea edx, [ebx + 4]
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov edi, dword [ebp - 0x20]
jmp 0x44d60e
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push ecx
push dword [ebp + 8]
mov ecx, dword [ebp - 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x40a34b
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, 0xfffffc1a
mov dword [esi + 0x90], ecx
jmp 0x40a34b
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 0x40a346
cmp eax, 0xfffffffe
jne 0x44d668
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jb case.0x40a206.157
jmp 0x44b5ba
mov dword [ebp - 0x1c], eax
cmp edi, edx
jl 0x44d691
mov edi, eax
jmp 0x44d6f6
mov eax, dword [ebp - 8]
push dword [ebp - 0x24]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0049b23b
add esp, 0xc
test eax, eax
js 0x44d6bb
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 0x20]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edi, dword [ebp - 0x2c]
jl 0x44d68e
jmp 0x44d6eb
cmp eax, 0xfffffffe
jne 0x44d6e8
cmp dword [esi + 0x8c], 0
je 0x44d6e8
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0x44d6e8
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x1c]
cmp edx, edi
jb case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 8]
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, edi
jae 0x44d6f6
jmp case.0x40a206.157
cmp ecx, 0xfffffffe
jne 0x44d73b
mov eax, dword [esi + 0x7c]
jmp 0x44d73e
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0x40a206.157
cmp eax, dword [esi + 0x7c]
jb case.0x40a206.157
cmp eax, dword [esi + 0x88]
jmp 0x44b5c0
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.0040a180
add esp, 0x14
cmp dword [ebp - 0x28], 0
je 0x44d835
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge case.0x40a206.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0x44d985
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d7db
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 0x44d7ee
cmp edi, 0x6e
je case.0x40a206.157
jmp 0x44d80c
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je case.0x40a206.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44d78d
jmp 0x40a34b
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge case.0x40a206.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0x44d99d
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0x44d871
cmp edi, 0x6e
je case.0x40a206.157
jmp 0x44d88c
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0xc]
test byte [edx + ecx], al
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
inc dword [ebp - 0x18]
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44d83d
jmp 0x40a34b
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.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x18], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x44d926
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44d926
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
push edx
mov edx, dword [ebp - 0x24]
call fcn.0049b436
add esp, 4
test eax, eax
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44d8da
jmp 0x40a34b
cmp dword [esi + 0x8c], 0
je case.0x40a206.157
cmp edx, ecx
jb case.0x40a206.157
cmp edx, dword [esi + 0x88]
jmp 0x44b5c0
cmp dword [esi + 0x8c], 0
je case.0x40a206.157
cmp ecx, dword [esi + 0x88]
jmp 0x44b5c0
cmp dword [esi + 0x8c], 0
je case.0x40a206.157
cmp eax, dword [esi + 0x88]
jmp 0x44b5c0
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.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jge case.0x40a206.157
mov eax, dword [ebp - 0xc]
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44da0c
push ecx
push dword [ebp - 0x34]
push edi
call fcn.00421324
add esp, 0xc
test eax, eax
jne 0x44da0c
mov eax, dword [ebp - 0xc]
jmp 0x44da40
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x44d668
lea ecx, [eax + eax]
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0x44d668
push ecx
lea eax, [ebp - 0x6c]
push eax
push edi
call fcn.00421324
add esp, 0xc
test eax, eax
jne 0x44d668
mov eax, dword [ebp - 0x20]
inc dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44d9db
jmp 0x40a34b
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.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
cmp dword [ebp - 0x20], ecx
je 0x44daba
cmp dword [ebp - 0x24], ecx
jne case.0x40a206.157
inc eax
add edi, 2
mov dword [ebp - 0x14], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44da94
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x18]
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x20], eax
jne case.0x40a206.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x14], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44db08
jmp 0x40a34b
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.0040a180
add esp, 0x14
cmp dword [ebp - 0x28], 0
je 0x44dc03
test eax, eax
jne 0x40a34b
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dbc9
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0x14], ecx
je case.0x40a206.157
cmp dword [ebp - 0x20], ecx
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0xc], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44db84
jmp 0x40a34b
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
cmp dword [ebp - 0x14], ecx
je case.0x40a206.157
cmp dword [ebp - 0x20], ecx
je case.0x40a206.157
inc eax
add edi, 2
mov dword [ebp - 0xc], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44dc0b
jmp 0x40a34b
cmp dword [esi + 0x8c], 0
je case.0x40a206.157
cmp eax, dword [esi + 0x88]
jbe case.0x40a206.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x40a206.157
jmp 0x44ef27
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.0040a180
add esp, 0x14
cmp dword [ebp - 0x28], 0
je 0x44dd34
test eax, eax
jne 0x40a34b
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44dd03
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0x14], ecx
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0xc], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44dcbe
jmp 0x40a34b
test eax, eax
jne 0x40a34b
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x14], eax
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0xc], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44dd3c
jmp 0x40a34b
cmp eax, 0xa
ja case.default.0x448bdf
jmp dword [eax*4 + 0x44f4f7]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x14]
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
je 0x44ddeb
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44ddeb
add edi, 2
cmp dword [ebp - 0x3c], 0
jne case.0x40a206.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0xc], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44ddbb
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44de8d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44de8d
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp eax, 9
je 0x44dec4
cmp eax, 5
je 0x44dec4
cmp eax, 8
je 0x44dec4
xor eax, eax
jmp 0x44dec9
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44de40
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44df6e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44df6e
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add edi, 2
add ecx, 0x10000
mov edx, dword [ebp - 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp dword [eax*4 + 0x4c5370], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44df20
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44e045
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e045
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44dff8
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44e115
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e115
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + str.VirtualProtect]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44e0c8
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44e1e6
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e1e6
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add edi, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x44e21f
cmp eax, 3
je 0x44e21f
xor eax, eax
jmp 0x44e224
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44e198
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x14]
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
je 0x44e2cd
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e2ca
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov edx, ecx
mov eax, dword [ebp - 0xc]
cmp ecx, 0x180e
ja 0x44e313
je 0x44e388
cmp ecx, 0x85
ja 0x44e301
je 0x44e388
cmp ecx, 9
jb case.0x44e32f.8203
cmp ecx, 0xd
jbe 0x44e388
cmp ecx, 0x20
jne case.0x44e32f.8203
jmp 0x44e388
cmp ecx, 0xa0
je 0x44e388
cmp ecx, 0x1680
jne case.0x44e32f.8203
jmp 0x44e388
cmp ecx, 0x202f
ja 0x44e336
je 0x44e388
add ecx, 0xffffe000
cmp ecx, 0x29
ja case.0x44e32f.8203
movzx eax, byte [ecx + 0x44f52b]
jmp dword [eax*4 + 0x44f523]
cmp ecx, 0x205f
je 0x44e388
cmp ecx, 0x3000
je 0x44e388
mov eax, edx
xor ecx, ecx
shr eax, 7
and edx, 0x7f
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
cmp dword [eax*4 + 0x4c5370], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp - 0xc]
jmp 0x44e392
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x3c], 0
jne case.0x40a206.157
inc eax
mov edx, ebx
mov dword [ebp - 0xc], eax
mov ecx, edi
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44e27b
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov edx, ecx
je 0x44e42e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e42e
movzx eax, word [edi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4bff60]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b1c60]
movzx eax, byte [eax*8 + 0x4af411]
mov eax, dword [eax*4 + 0x4c5370]
cmp eax, 1
je 0x44e46e
cmp eax, 3
je 0x44e46e
cmp edx, 0x5f
je 0x44e46e
xor eax, eax
jmp 0x44e473
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44e3e1
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov dword [ebp - 0x34], ecx
je 0x44e51e
mov eax, ecx
mov dword [ebp - 0x34], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e51e
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x40]
mov edx, dword [eax*4 + 0x4b0a90]
lea eax, [eax*4 + 0x4b0a90]
cmp dword [ebp - 0x34], edx
jb 0x44e541
lea eax, [eax + 4]
cmp ecx, edx
je 0x44e576
mov edx, dword [eax]
cmp ecx, edx
jae 0x44e534
cmp dword [ebp - 0x3c], 0
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44e4ca
jmp 0x40a34b
cmp dword [ebp - 0x3c], 0
jne case.0x40a206.157
jmp 0x44e54b
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx edx, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, edx
je 0x44e5f3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e5f3
movzx ecx, word [edi]
and edx, 0x3ff
and ecx, 0x3ff
shl edx, 0xa
or ecx, edx
add ecx, 0x10000
add edi, 2
cmp ecx, 0x24
je 0x44e61e
cmp ecx, 0x40
je 0x44e61e
cmp ecx, 0x60
je 0x44e61e
cmp ecx, 0xa0
jb 0x44e612
cmp ecx, 0xd7ff
jbe 0x44e61e
cmp ecx, 0xe000
jae 0x44e61e
xor eax, eax
jmp 0x44e623
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44e5a5
jmp 0x40a34b
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
cmp edi, dword [esi + 0x7c]
jae 0x44b5ad
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x28], 0
mov ecx, eax
mov dword [ebp - 0x38], eax
mov edx, edi
je 0x44e6b1
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e6b1
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add edi, 2
or ecx, eax
add ecx, 0x10000
mov edx, edi
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx ecx, byte [eax*8 + 0x4af412]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x1c], ecx
cmp edx, eax
jae 0x44e783
mov dword [ebp - 0x38], edx
mov ebx, edx
cmp dword [ebp - 0x28], 0
movzx ecx, word [edi]
mov dword [ebp - 0x34], 1
je 0x44e727
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x44e727
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x34], 2
add ecx, 0x10000
mov esi, dword [ebp - 0x1c]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
mov edx, ebx
movzx eax, byte [eax + 0x4bff60]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4b1c60]
movzx ecx, byte [eax*8 + 0x4af412]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4c2210], eax
mov esi, dword [ebp + 0x10]
je 0x44e77d
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], ecx
lea edi, [ebx + eax*2]
mov eax, dword [esi + 0x7c]
mov ebx, edi
mov edx, edi
cmp edi, eax
jb 0x44e6e8
jmp 0x44e780
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
je 0x44e7ac
cmp edx, eax
jb 0x44e7ac
cmp edx, dword [esi + 0x88]
jbe 0x44e7ac
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44e65f
jmp 0x40a34b
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x40a812
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x40a812
cmp edx, 1
je case.0x40a206.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x40a206.157
jmp 0x40a812
movzx eax, word [edi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, edi
mov edx, ecx
mov dword [ebp - 0x24], eax
jmp 0x40a82f
mov esi, dword [ebp - 0x20]
add esi, 0xfffffffa
cmp esi, 0xf
ja case.default.0x448bdf
mov esi, dword [ebp - 0x20]
add esi, 0xfffffffa
jmp dword [esi*4 + 0x44f557]
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x24]
cmp ecx, 0xd
ja 0x44e893
je 0x44e878
cmp ecx, 0xa
je case.0x44e84d.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x40a206.157
jmp 0x44e8aa
cmp edi, dword [esi + 0x7c]
jae case.0x44e84d.13
cmp word [edi], 0xa
jne case.0x44e84d.13
lea edi, [eax + 2]
jmp case.0x44e84d.13
cmp ecx, 0x85
je 0x44e8aa
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a206.157
cmp dword [esi + 0x6c], 0
jne case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x180e
ja 0x44e8fd
je case.0x40a206.157
cmp ecx, 0xa0
ja 0x44e8ec
je case.0x40a206.157
cmp ecx, 9
je case.0x40a206.157
cmp ecx, 0x20
je case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x1680
je case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x205f
ja 0x44e934
je case.0x40a206.157
cmp ecx, 0x2000
jb case.0x44e84d.13
cmp ecx, 0x200a
jbe case.0x40a206.157
cmp ecx, 0x202f
je case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x3000
je case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x180e
ja 0x44e989
je case.0x44e84d.13
cmp ecx, 0xa0
ja 0x44e978
je case.0x44e84d.13
cmp ecx, 9
je case.0x44e84d.13
cmp ecx, 0x20
jne case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x1680
jne case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x205f
ja 0x44e9c0
je case.0x44e84d.13
cmp ecx, 0x2000
jb case.0x40a206.157
cmp ecx, 0x200a
jbe case.0x44e84d.13
cmp ecx, 0x202f
jne case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x3000
jne case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x85
ja 0x44e9f6
je case.0x40a206.157
cmp ecx, 0xa
jb case.0x44e84d.13
cmp ecx, 0xd
jbe case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x2028
jb case.0x44e84d.13
cmp ecx, 0x2029
jbe case.0x40a206.157
jmp case.0x44e84d.13
cmp ecx, 0x85
ja 0x44ea32
je case.0x44e84d.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x40a206.157
jmp case.0x44e84d.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a206.157
jmp case.0x44e84d.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x44e84d.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x40a206.157
jmp case.0x44e84d.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x40a206.157
jmp case.0x44e84d.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x44e84d.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x40a206.157
jmp case.0x44e84d.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x40a206.157
jmp case.0x44e84d.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x44e84d.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x40a206.157
jmp case.0x44e84d.13
mov esi, dword [ebp + 0x10]
cmp edx, 0x100
jae case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x40a206.157
jmp case.0x44e84d.13
cmp eax, dword [esi + 0x7c]
jb case.0x44e84d.13
cmp dword [esi + 0x18], 0
jne case.0x44e84d.13
cmp dword [esi + 0x1c], 2
jne case.0x44e84d.13
movzx eax, word [esi + 0x34]
cmp edx, eax
jne case.0x44e84d.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0x44ef27
jmp case.0x44e84d.13
test eax, eax
jne 0x40a34b
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], eax
jge case.0x40a206.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0x44eefa
cmp dword [ebp - 0x20], 0xc
jne 0x44ebc1
mov edx, dword [esi + 0x18]
test edx, edx
je 0x44eb95
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00408665
add esp, 0xc
test eax, eax
jne case.0x40a206.157
jmp 0x44ebc1
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0x44ebc1
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x44ebc1
cmp edx, 1
je case.0x40a206.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0x40a206.157
movzx eax, word [edi]
add edi, 2
mov ecx, eax
mov edx, eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffffa
mov dword [ebp - 0x38], ecx
cmp eax, 0xf
ja case.default.0x448bdf
jmp dword [eax*4 + 0x44f597]
cmp dword [esi + 0x8c], 0
je case.0x44ebdd.13
cmp edi, dword [esi + 0x7c]
jb case.0x44ebdd.13
cmp dword [esi + 0x18], 0
jne case.0x44ebdd.13
cmp dword [esi + 0x1c], 2
jne case.0x44ebdd.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0x44ebdd.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x44ebdd.13
jmp 0x44ef27
cmp ecx, 0xd
ja 0x44ec6c
je 0x44ec51
cmp ecx, 0xa
je case.0x44ebdd.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0x40a206.157
jmp 0x44ec83
cmp edi, dword [esi + 0x7c]
jae case.0x44ebdd.13
cmp word [edi], 0xa
jne case.0x44ebdd.13
add edi, 2
jmp case.0x44ebdd.13
cmp ecx, 0x85
je 0x44ec83
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a206.157
cmp dword [esi + 0x6c], 0
jne case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x180e
ja 0x44ecd6
je case.0x40a206.157
cmp ecx, 0xa0
ja 0x44ecc5
je case.0x40a206.157
cmp ecx, 9
je case.0x40a206.157
cmp ecx, 0x20
je case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x1680
je case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x205f
ja 0x44ed0d
je case.0x40a206.157
cmp ecx, 0x2000
jb case.0x44ebdd.13
cmp ecx, 0x200a
jbe case.0x40a206.157
cmp ecx, 0x202f
je case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x3000
je case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x180e
ja 0x44ed62
je case.0x44ebdd.13
cmp ecx, 0xa0
ja 0x44ed51
je case.0x44ebdd.13
cmp ecx, 9
je case.0x44ebdd.13
cmp ecx, 0x20
jne case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x1680
jne case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x205f
ja 0x44ed99
je case.0x44ebdd.13
cmp ecx, 0x2000
jb case.0x40a206.157
cmp ecx, 0x200a
jbe case.0x44ebdd.13
cmp ecx, 0x202f
jne case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x3000
jne case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x85
ja 0x44edcf
je case.0x40a206.157
cmp ecx, 0xa
jb case.0x44ebdd.13
cmp ecx, 0xd
jbe case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x2028
jb case.0x44ebdd.13
cmp ecx, 0x2029
jbe case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0x85
ja 0x44ee0b
je case.0x44ebdd.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x40a206.157
jmp case.0x44ebdd.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a206.157
jmp case.0x44ebdd.13
cmp ecx, 0xff
ja case.0x44ebdd.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0x40a206.157
jmp case.0x44ebdd.13
mov eax, 0xff
cmp word [ebp - 0x38], ax
ja case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0x40a206.157
jmp case.0x44ebdd.13
mov eax, 0xff
cmp dx, ax
ja case.0x44ebdd.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0x40a206.157
jmp case.0x44ebdd.13
mov eax, 0xff
cmp dx, ax
ja case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0x40a206.157
jmp case.0x44ebdd.13
mov eax, 0xff
cmp dx, ax
ja case.0x44ebdd.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0x40a206.157
jmp case.0x44ebdd.13
mov eax, 0xff
cmp dx, ax
ja case.0x40a206.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0x40a206.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44eb56
jmp 0x40a34b
mov eax, 0xfffffff2
jmp 0x40a34b
cmp dword [esi + 0x8c], 0
je case.0x40a206.157
cmp edi, dword [esi + 0x88]
jbe case.0x40a206.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0x40a206.157
mov eax, 0xfffffff4
jmp 0x40a34b
mov dword [esi + 0x9c], 2
jmp 0x40a8dc
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x44efaa
cmp word [ebx], 0x77
je 0x44ef5b
cmp word [eax], 0x77
jne 0x44efaa
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x34]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
je 0x40a8d0
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov dword [eax + edx*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x40]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x30]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x3c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x2c]
jmp 0x40a34b
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 + 0x4c2160]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.0040a180
add esp, 0x14
mov dword [ebp - 0x2c], eax
cmp eax, 1
je 0x44f003
cmp eax, 0xfffffc19
jne 0x44f017
cmp dword [esi + 0xb0], 0
jne 0x44f017
mov dword [esi + 0xb0], edi
jmp 0x40a34b
cmp eax, 0xfffffc1f
jne 0x40a34b
mov edx, dword [esi + 0x80]
mov ecx, edi
call fcn.0049b866
test eax, eax
jne 0x44efaa
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x40a34b
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 + 0x4c2160]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov eax, 0xfffffc1c
jmp 0x40a34b
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 + 0x4c2160]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44f113
jmp 0x40a34b
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 + 0x4c2160]
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.0040a180
add esp, 0x14
cmp eax, 1
je 0x44f0fc
cmp eax, 0xfffffc19
jne 0x44f10b
cmp dword [esi + 0xb0], 0
jne 0x44f10b
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x40a34b
mov eax, 0xfffffc1d
jmp 0x40a34b
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0x4c2160]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.0040a180
add esp, 0x14
test eax, eax
jne 0x40a34b
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0x40a34b
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 + 0x4c2160]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.0040a180
add esp, 0x14
test eax, eax
je 0x44f1f1
jmp 0x40a34b
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 + 0x4c2160]
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.0040a180
add esp, 0x14
cmp eax, 1
je 0x44f1da
cmp eax, 0xfffffc19
jne 0x44f1e9
cmp dword [esi + 0xb0], 0
jne 0x44f1e9
mov dword [esi + 0xb0], edi
test eax, eax
jne 0x40a34b
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0x40a34b
cmp edi, 0x9f
je 0x40a329
cmp dword [esi + 0xa8], 0
jne 0x40a329
cmp dword [esi + 0x60], 0
jne case.0x40a206.157
cmp dword [esi + 0x64], 0
je 0x40a329
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0x40a206.157
jmp 0x40a329
mov eax, 0xfffffc19
jmp 0x40a34b
mov eax, 0xfffffffb
jmp 0x40a34b
mov eax, 0xffffffeb
jmp 0x40a34b
inc eax
mov dword [esi], eax
mov eax, 0xfffffff8
jmp 0x40a34b