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

Disassembly:
sub esp, 0x140
push ebx
push ebp
xor eax, eax
push esi
push edi
cmp dword [esp + 0x158], eax
jne 0x48f560
cmp dword [esp + 0x16c], eax
jne 0x48f540
push 1
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x184]
push eax
call fcn.0048f500
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
lea eax, [esp + 0x16c]
sub eax, dword [esp + 0x154]
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ebx, dword [esp + 0x164]
mov ecx, dword [ebx]
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
cmp ecx, dword [ebx + 4]
jae 0x494eae
mov ebp, dword [esp + 0x154]
jmp 0x48f585
xor eax, eax
inc ecx
mov dword [ebx], ecx
mov ecx, dword [esp + 0x16c]
cmp ecx, dword [ebx + 8]
jae 0x494ec0
cmp dword [ebx + 0x9c], 2
jne 0x48f5c1
mov edx, dword [esp + 0x168]
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x168], ecx
mov dword [ebx + 0x9c], eax
mov esi, dword [esp + 0x158]
movzx eax, word [esi]
xor ecx, ecx
mov edx, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
cmp edx, 0x9b
ja case.0x48f5ee.98
movzx edi, byte [edx + 0x49743c]
jmp dword [edi*4 + 0x4972f4]
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x70], ecx
je 0x49517b
movzx edx, byte [edx + 0x4bc8e0]
movzx eax, word [esi + 2]
add edx, eax
lea ecx, [esi + edx*2]
mov dword [esp + 0x158], ecx
jmp 0x48f5c1
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + 0xb0]
mov edi, dword [esp + 0x15c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edx
mov edi, edi
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x160]
mov esi, dword [esp + 0x158]
inc eax
push eax
push ecx
push ebx
push edx
push edi
lea eax, [esi + 4]
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 1
je 0x48f735
cmp eax, 0xfffffc20
jne 0x48f69e
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x4972e6
cmp word [esi], 0x71
je 0x48f6a6
cmp word [ecx], 0x71
jmp 0x48f6a0
test eax, eax
jne 0x4972e6
movzx edx, word [esi + 2]
mov ecx, dword [esp + 0x24]
lea eax, [esi + edx*2]
mov dword [ebx + 0xb0], ecx
cmp word [eax], 0x71
mov dword [esp + 0x158], eax
je 0x48f640
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x7c
je 0x48f6e0
cmp eax, 0x71
jne case.0x48f5ee.151
jmp 0x48f6e0
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
mov dword [esp + 0x158], eax
je 0x48f6e0
mov esi, dword [esp + 0x158]
cmp word [esi], 0x72
mov eax, dword [ebx + 0x90]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x160], eax
je 0x48f726
cmp ebp, dword [esp + 0x20]
jne 0x494b2d
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov edi, dword [ebx + 0x80]
mov dword [esp + 0x15c], edi
jmp 0x48f6ca
mov dword [esp + 0x24], ecx
jmp 0x490249
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
mov ebx, dword [esp + 0x164]
jne 0x48f844
mov ecx, dword [0x4d9634]
test ecx, ecx
je 0x48f83a
mov dword [esp + 0xa0], 2
movzx eax, word [esi + 6]
mov dword [esp + 0xa4], eax
mov edx, dword [ebx + 0xc]
mov dword [esp + 0xa8], edx
mov eax, dword [ebx + 0x78]
mov dword [esp + 0xac], eax
mov edx, dword [ebx + 0x7c]
sub edx, dword [ebx + 0x78]
mov eax, dword [esp + 0x15c]
sar edx, 1
mov dword [esp + 0xb0], edx
sub eax, dword [ebx + 0x78]
mov edx, ebp
sar eax, 1
mov dword [esp + 0xb4], eax
sub edx, dword [ebx + 0x78]
sar edx, 1
mov dword [esp + 0xb8], edx
movzx eax, word [esi + 8]
mov dword [esp + 0xc8], eax
movzx edx, word [esi + 0xa]
mov eax, dword [esp + 0x160]
mov dword [esp + 0xcc], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xbc], eax
mov eax, dword [ebx + 0x94]
mov dword [esp + 0xc0], eax
mov edx, dword [ebx + 0xac]
mov dword [esp + 0xc4], edx
mov eax, dword [ebx + 0xb4]
lea edx, [esp + 0xa0]
push edx
mov dword [esp + 0xd4], eax
call ecx
add esp, 4
test eax, eax
jg case.0x48f5ee.151
js 0x4972e6
mov edx, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x158], esi
movzx ecx, word [esi + 4]
lea eax, [esi + 4]
cmp ecx, 0x89
je 0x48fa4a
cmp ecx, 0x8a
je 0x48fa4a
cmp ecx, 0x87
je 0x48f8db
cmp ecx, 0x88
je 0x48f8db
cmp ecx, 0x8b
jne 0x48f887
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x48fb88
mov edx, dword [esp + 0x160]
mov dword [ebx + 0x9c], 1
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push 0
push ebx
push edx
push ecx
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 1
je 0x494ad0
test eax, eax
je 0x48f8cf
cmp eax, 0xfffffc20
jne 0x4972e6
mov edx, dword [esp + 0x14]
lea eax, [esi + edi*2]
jmp 0x48fb88
movzx eax, word [esi + 6]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x48f8f7
mov edi, dword [ebx + 0xc]
cmp dword [edi + eax*4], 0
jge 0x48fa35
mov dword [esp + 0x20], 0
cmp ecx, 0x88
jne 0x48f9ff
mov ecx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
sar eax, 1
xor edi, edi
mov dword [esp + 0x18], ecx
test ecx, ecx
jle 0x48f932
lea ecx, [ecx]
movzx edx, word [esi]
cmp edx, eax
je 0x48f932
mov edx, dword [ebx + 0x24]
inc edi
lea esi, [esi + edx*2]
cmp edi, ecx
jl 0x48f920
cmp edi, ecx
jge 0x48f9ff
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x28]
mov ebx, esi
mov dword [esp + 0x30], eax
cmp esi, eax
jbe 0x48f9a3
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x24]
add eax, eax
mov dword [esp + 0x24], eax
mov edi, edi
sub ebx, dword [esp + 0x24]
lea ecx, [esi + 2]
lea eax, [ebx + 2]
call fcn.00498740
test eax, eax
jne 0x48f9a3
movzx eax, word [ebx]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x48f995
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x48fa24
mov dword [esp + 0x20], 0
cmp ebx, dword [esp + 0x30]
ja 0x48f960
inc edi
cmp edi, dword [esp + 0x18]
jge 0x48f9ff
mov edx, dword [esp + 0x164]
mov ebx, dword [edx + 0x24]
lea eax, [esi + 2]
add ebx, ebx
mov dword [esp + 0x30], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x30]
add esi, ebx
lea eax, [esi + 2]
call fcn.00498740
test eax, eax
jne 0x48f9ff
movzx eax, word [esi]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x48f9f0
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x48fa28
inc edi
mov dword [esp + 0x20], 0
cmp edi, dword [esp + 0x18]
jl 0x48f9c0
mov eax, dword [esp + 0x158]
movzx eax, word [eax + 2]
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x164]
mov edx, dword [esp + 0x14]
lea eax, [esi + eax*2]
jmp 0x48fb7d
mov ebx, edx
jmp 0x48fa2a
mov ebx, ecx
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
mov eax, 2
mov dword [esp + 0x20], 1
lea eax, [esi + eax*2]
jmp 0x48fb7d
cmp dword [ebx + 0xa8], 0
jne 0x48fa5f
movzx ecx, word [esi + 2]
lea eax, [esi + ecx*2]
jmp 0x48fb88
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x48fba1
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
cmp edx, eax
je 0x48fba1
mov dword [esp + 0x20], 0
cmp ecx, 0x8a
jne 0x48fb54
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x20]
mov esi, dword [ecx + 0x28]
xor ebx, ebx
mov dword [esp + 0x18], eax
test eax, eax
jle 0x48fac2
nop
movzx edi, word [esi]
cmp edi, edx
je 0x48fac2
mov edi, dword [ecx + 0x24]
inc ebx
lea esi, [esi + edi*2]
cmp ebx, eax
jl 0x48fab0
cmp ebx, eax
jge 0x48fb54
mov eax, dword [ecx + 0x28]
mov edi, esi
mov dword [esp + 0x34], eax
cmp esi, eax
jbe 0x48fb0f
mov eax, dword [ecx + 0x24]
add eax, eax
mov dword [esp + 0x24], eax
sub edi, dword [esp + 0x24]
lea ecx, [esi + 2]
lea eax, [edi + 2]
call fcn.00498740
test eax, eax
jne 0x48fb0f
movzx ecx, word [edi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x48fba9
cmp edi, dword [esp + 0x34]
ja 0x48fae0
inc ebx
cmp ebx, dword [esp + 0x18]
jge 0x48fb54
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x24]
lea eax, [esi + 2]
add edi, edi
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x34]
add esi, edi
lea eax, [esi + 2]
call fcn.00498740
test eax, eax
jne 0x48fb54
movzx ecx, word [esi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x48fba9
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x48fb29
mov edx, dword [esp + 0x158]
movzx eax, word [edx + 2]
mov ecx, dword [esp + 0x158]
mov ebx, dword [esp + 0x164]
lea edx, [ecx + eax*2]
mov dword [esp + 0x158], edx
mov eax, edx
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x20], 0
jne 0x494b12
cmp word [eax], 0x71
je 0x494b12
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x48f5c1
mov dword [esp + 0x20], 1
mov eax, 2
jmp 0x48fb5f
mov eax, dword [esp + 0x158]
movzx esi, word [eax + 2]
mov ecx, dword [esp + 0x164]
lea eax, [esi + esi]
mov dword [ecx + 0x94], esi
cmp eax, dword [ecx + 0x14]
jl 0x48fbe4
add dword [esp + 0x158], 4
mov dword [ecx + 0x40], 1
jmp 0x48f5c1
mov edi, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
sub edi, esi
mov esi, dword [edx + edi*4]
mov dword [edx + eax*4], esi
mov edx, ebp
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0xc]
sar edx, 1
mov dword [ecx + eax*4 + 4], edx
cmp dword [esp + 0x160], eax
jg 0x48fc13
add eax, 2
mov dword [esp + 0x160], eax
add dword [esp + 0x158], 4
jmp 0x48f5c1
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0xb0]
mov eax, 1
mov dword [esp + 0x24], edx
cmp dword [esi + 0x9c], eax
jne 0x48fc4a
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x48fc4e
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x160]
lea esp, [esp]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x158]
inc eax
push eax
push 0
push esi
push ebx
push edi
add ecx, 4
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 1
je 0x48fcc4
cmp eax, 0xfffffc19
je 0x48fcc4
test eax, eax
je 0x48fc9d
cmp eax, 0xfffffc20
jne 0x4972e6
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
mov ecx, dword [esp + 0x24]
lea eax, [eax + edx*2]
mov dword [esi + 0xb0], ecx
cmp word [eax], 0x71
mov dword [esp + 0x158], eax
je 0x48fc60
jmp 0x48fcd1
mov edx, dword [esi + 0x80]
mov dword [esp + 0x15c], edx
mov eax, dword [esp + 0x158]
cmp word [eax], 0x72
je case.0x48f5ee.151
cmp dword [esp + 0x20], 0
jne 0x495531
lea ecx, [ecx]
mov eax, dword [esp + 0x158]
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
mov dword [esp + 0x158], eax
je 0x48fcf0
mov edx, dword [esi + 0x90]
add dword [esp + 0x158], 4
mov dword [esp + 0x160], edx
jmp 0x48f5c1
mov esi, dword [esp + 0x164]
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x24], eax
mov eax, 1
cmp dword [esi + 0x9c], eax
jne 0x48fd50
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x48fd54
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0x160]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x158]
inc ecx
push ecx
push 0
push esi
push ebx
push edx
lea eax, [edi + 4]
push eax
push ebp
call fcn.0048f500
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov dword [esi + 0xb0], ecx
cmp eax, 1
je case.0x48f5ee.151
cmp eax, 0xfffffc19
je case.0x48f5ee.151
cmp eax, 0xfffffc1e
je 0x48fde0
cmp eax, 0xfffffc1d
je 0x48fde0
cmp eax, 0xfffffc1a
je 0x48fde0
test eax, eax
je 0x48fdc6
cmp eax, 0xfffffc20
jne 0x4972e6
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea eax, [edi + edx*2]
mov dword [esp + 0x158], eax
jne 0x48fdfc
jmp 0x48fd5b
mov eax, dword [esp + 0x158]
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
mov dword [esp + 0x158], eax
je 0x48fde0
cmp dword [esp + 0x20], 0
jne 0x495531
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x48f5c1
movzx eax, word [esi + 2]
mov edx, dword [esp + 0x164]
cmp eax, ecx
jle 0x48fe51
mov ecx, dword [edx + 0x78]
sub ebp, 2
dec eax
cmp ebp, ecx
jb case.0x48f5ee.151
mov di, word [ebp]
mov ebx, 0xfc00
and di, bx
mov ebx, 0xdc00
cmp di, bx
jne 0x48fe4d
sub ebp, 2
test eax, eax
jg 0x48fe28
cmp ebp, dword [edx + 0x88]
jae 0x48fe5f
mov dword [edx + 0x88], ebp
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov esi, dword [0x4d9634]
mov edi, dword [esp + 0x158]
test esi, esi
je 0x48ff44
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x68], 2
movzx edx, word [edi + 2]
mov dword [esp + 0x6c], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x70], eax
mov edx, dword [ecx + 0x78]
mov dword [esp + 0x74], edx
mov eax, dword [ecx + 0x7c]
sub eax, dword [ecx + 0x78]
mov edx, dword [esp + 0x15c]
sar eax, 1
mov dword [esp + 0x78], eax
sub edx, dword [ecx + 0x78]
mov eax, ebp
sar edx, 1
mov dword [esp + 0x7c], edx
sub eax, dword [ecx + 0x78]
sar eax, 1
mov dword [esp + 0x80], eax
movzx edx, word [edi + 8]
mov dword [esp + 0x90], edx
movzx eax, word [edi + 0xa]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x160]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov edx, dword [ecx + 0x94]
mov dword [esp + 0x88], edx
mov eax, dword [ecx + 0xac]
mov dword [esp + 0x8c], eax
mov ecx, dword [ecx + 0xb4]
mov dword [esp + 0x98], ecx
mov edx, dword [edi + 4]
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0xa0], edx
call esi
add esp, 4
test eax, eax
jg case.0x48f5ee.151
js 0x4972e6
add edi, 0xc
mov dword [esp + 0x158], edi
jmp 0x48f5c1
mov ecx, dword [esp + 0x158]
movzx edx, word [ecx + 2]
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x74]
lea esi, [eax + edx*2]
cmp esi, eax
jne 0x48ff73
xor ecx, ecx
jmp 0x48ff77
movzx ecx, word [esi + 4]
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x48ff95
cmp ecx, dword [eax + 4]
jne 0x48ff8f
cmp ebp, dword [eax + 0x10]
je 0x49548c
mov eax, dword [eax]
test eax, eax
jne 0x48ff81
add dword [esp + 0x158], 4
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], ebp
mov ecx, dword [ebx + 0xa8]
mov dword [esp + 0x40], ecx
lea edx, [esp + 0x40]
mov dword [ebx + 0xa8], edx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x4c], ecx
cmp ecx, 0x1e
jg 0x48ffd2
lea eax, [esp + 0xd8]
mov dword [esp + 0x48], eax
jmp 0x48fff3
lea eax, [ecx*4]
push eax
call dword [0x4d4458]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x49549c
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebx + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.004a3390
mov eax, 0x82
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
test eax, eax
je 0x490022
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x160]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
movzx edx, word [esi]
push ebx
push eax
movzx eax, byte [edx + 0x4bc8e0]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.0048f500
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
add esp, 0x1c
mov edi, eax
lea eax, [edx*4]
mov edx, dword [ebx + 0xc]
push eax
push ecx
push edx
call fcn.004a3390
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov dword [ebx + 0xa8], eax
cmp edi, 1
je 0x4900c6
cmp edi, 0xfffffc19
je 0x4900c6
test edi, edi
je 0x4900a1
cmp edi, 0xfffffc20
jne 0x4954ac
lea ecx, [esp + 0x40]
mov dword [ebx + 0xa8], ecx
movzx edx, word [esi + 2]
cmp word [esi + edx*2], 0x71
lea esi, [esi + edx*2]
jne 0x4954d6
mov eax, dword [esp + 0x20]
jmp 0x490014
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x4900df
push eax
call dword [0x4d445c]
add esp, 4
mov edx, dword [ebx + 0x80]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x15c], edx
jmp 0x48f5c1
mov eax, dword [esp + 0x158]
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
mov dword [esp + 0x158], eax
je case.0x48f5ee.113
jmp 0x48f5c1
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov esi, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
push edx
push eax
add esi, 2
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
jmp 0x490170
movzx ecx, word [esi + 2]
cmp word [esi + ecx*2], 0x71
lea esi, [esi + ecx*2]
je 0x490170
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov esi, dword [esp + 0x158]
add esi, 2
mov eax, esi
lea esp, [esp]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
je 0x4901a0
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
inc ecx
push ecx
mov ecx, dword [esp + 0x168]
push edx
mov edx, dword [esp + 0x168]
push ecx
mov ecx, dword [esp + 0x168]
push edx
push ecx
add eax, 4
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov dword [esp + 0x158], esi
jmp 0x48f5c1
lea eax, [esi + 2]
jmp 0x490200
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
je 0x490200
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x48f5c1
movzx eax, word [esi + 2]
add esi, 2
mov dword [esp + 0x158], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], 1
cmp eax, 0x80
je 0x490249
cmp eax, 0x85
jne 0x4903fb
movzx edx, word [esi + 4]
mov ebx, dword [esp + 0x164]
lea ecx, [edx + edx]
mov dword [esp + 0x28], edx
cmp ecx, dword [ebx + 0x14]
jge 0x4903f3
mov eax, dword [ebx + 0xc]
mov edi, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
mov esi, dword [esp + 0x158]
sub esi, dword [ebx + 0x74]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 0x10]
sar esi, 1
sub ecx, edx
mov edx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x94]
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], eax
mov edx, dword [ebx + 0x10]
sub edx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x158]
mov ecx, ebp
sub ecx, dword [ebx + 0x78]
sar ecx, 1
cmp dword [esp + 0x14], 0x82
mov dword [eax + edx*4], ecx
jl 0x4902cf
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x160]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
movzx edx, word [edi]
push ebx
push eax
movzx eax, byte [edx + 0x4bc8e0]
push ecx
lea ecx, [edi + eax*2]
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x490346
mov edx, dword [ebx + 0x90]
mov eax, dword [ebx + 0x74]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x160], edx
mov edx, dword [ebx + 0x94]
lea ecx, [eax + esi*2]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], 1
jmp 0x4902a0
cmp eax, 0xfffffc20
jne 0x49036c
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x4972e6
cmp word [edi], 0x71
je 0x490374
cmp word [ecx], 0x71
jmp 0x49036e
test eax, eax
jne 0x4972e6
mov edx, dword [esp + 0x20]
mov dword [ebx + 0x94], edx
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea eax, [edi + eax*2]
mov dword [esp + 0x158], eax
je 0x4902a0
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x4903ca
mov ecx, dword [esp + 0x28]
mov esi, dword [ebx + 0xc]
mov edi, dword [esp + 0x34]
lea eax, [ecx + ecx]
mov dword [esi + eax*4], edi
mov esi, dword [ebx + 0xc]
mov edi, dword [esp + 0x1c]
mov dword [esi + eax*4 + 4], edi
mov eax, dword [ebx + 0x10]
mov esi, dword [esp + 0x30]
sub eax, ecx
mov ecx, dword [ebx + 0xc]
mov dword [ecx + eax*4], esi
cmp dword [esp + 0x24], 0
jne 0x4903d9
test edx, edx
je case.0x48f5ee.151
add dword [esp + 0x158], 4
jmp 0x48f5c1
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x24], ecx
jmp 0x490402
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x490402
mov ebx, dword [esp + 0x164]
mov edi, dword [esp + 0x164]
mov eax, esi
sub eax, dword [ebx + 0x74]
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x160]
sar eax, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], eax
cmp dword [esp + 0x14], 0x82
jl 0x49043a
mov dword [edi + 0x9c], 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x15c]
inc edx
push edx
movzx edx, word [esi]
push eax
movzx eax, byte [edx + 0x4bc8e0]
push edi
push ebx
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x49049a
mov ebx, dword [edi + 0x90]
mov edx, dword [edi + 0x74]
mov eax, dword [esp + 0x30]
mov ebp, dword [edi + 0x84]
mov dword [esp + 0x160], ebx
lea esi, [edx + eax*2]
mov dword [esp + 0x18], 1
jmp 0x490426
cmp eax, 0xfffffc20
jne 0x4904c0
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [edi + 0x80], ecx
jae 0x4972e6
cmp word [esi], 0x71
je 0x4904c8
cmp word [ecx], 0x71
jmp 0x4904c2
test eax, eax
jne 0x4972e6
movzx edx, word [esi + 2]
cmp word [esi + edx*2], 0x71
lea esi, [esi + edx*2]
je 0x490426
cmp dword [esp + 0x18], 0
jne 0x4904ec
cmp dword [esp + 0x24], 0
je case.0x48f5ee.151
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ecx, dword [esp + 0x158]
movzx eax, word [ecx + 2]
add eax, eax
mov edi, ecx
sub edi, eax
movzx eax, word [edi]
mov edx, 0x82
mov dword [esp + 0x18], edi
cmp ax, dx
jae 0x49052c
cmp eax, 0x7b
je 0x49052c
mov dword [esp + 0x20], 0
jmp 0x490543
mov edx, dword [esp + 0x168]
mov esi, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x20], esi
mov dword [esp + 0x168], edx
cmp eax, 0x77
jb 0x490551
cmp eax, 0x7a
jbe 0x49550a
cmp eax, 0x7c
je 0x49550a
cmp eax, 0x7f
je 0x490581
mov edx, 0x84
cmp ax, dx
je 0x490581
mov edx, 0x80
cmp ax, dx
je 0x490581
mov edx, 0x85
cmp ax, dx
jne 0x49061f
movzx eax, word [edi + 4]
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0xa8], 0
mov dword [esp + 0x28], eax
lea edx, [eax + eax]
je 0x4905ab
mov esi, dword [ebx + 0xa8]
cmp dword [esi + 4], eax
je 0x495541
mov esi, dword [esp + 0x160]
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x4905c9
mov dword [ebx + 0x40], 1
jmp 0x49062d
cmp edx, esi
jle 0x4905ea
mov eax, dword [ebx + 0xc]
lea edi, [eax + esi*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x4905e6
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x18]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebx + 0xc]
mov eax, ebp
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [esp + 0x158]
cmp esi, edx
jg 0x49062d
lea esi, [edx + 2]
mov dword [esp + 0x160], esi
jmp 0x49062d
mov esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
cmp word [ecx], 0x72
je 0x49063d
cmp ebp, dword [esp + 0x20]
jne 0x494dc4
cmp word [edi], 0x7b
je 0x495606
add ecx, 4
mov dword [esp + 0x158], ecx
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x490674
cmp ebp, dword [eax + 0x78]
je case.0x48f5ee.151
jmp 0x490674
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x78]
jne case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x4906a1
cmp ebp, dword [eax + 0x78]
je case.0x48f5ee.151
mov edx, dword [eax + 0x78]
cmp ebp, edx
je 0x490720
cmp ebp, dword [eax + 0x7c]
je case.0x48f5ee.151
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x4906e9
cmp ebp, edx
jbe case.0x48f5ee.151
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.004988b0
add esp, 8
test eax, eax
je case.0x48f5ee.151
add dword [esp + 0x158], 2
jmp 0x48f5c1
mov esi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x78]
lea edx, [esi + esi]
add ecx, edx
cmp ebp, ecx
jb case.0x48f5ee.151
mov ecx, ebp
sub ecx, edx
mov dx, word [ecx]
cmp dx, word [eax + 0x2c]
jne case.0x48f5ee.151
cmp esi, 1
je 0x490720
mov cx, word [ecx + 2]
cmp cx, word [eax + 0x2e]
jne case.0x48f5ee.151
add dword [esp + 0x158], 2
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x98]
mov eax, dword [eax + 0x78]
lea ecx, [eax + edx*2]
cmp ebp, ecx
jne case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
add esi, 2
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4907f8
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x4907b5
mov edx, dword [eax + 0x7c]
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.004987f0
add esp, 8
test eax, eax
je case.0x48f5ee.151
mov esi, dword [esp + 0x158]
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ecx, dword [eax + 0x1c]
mov edi, dword [eax + 0x7c]
lea edx, [ecx + ecx]
sub edi, edx
cmp ebp, edi
ja case.0x48f5ee.151
mov dx, word [ebp]
cmp dx, word [eax + 0x2c]
jne case.0x48f5ee.151
cmp ecx, 1
je 0x490825
mov cx, word [ebp + 2]
cmp cx, word [eax + 0x2e]
jne case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
cmp dword [eax + 0x48], ecx
jne case.0x48f5ee.151
cmp dword [eax + 0x8c], ecx
je 0x490825
cmp ebp, dword [eax + 0x88]
jbe 0x490825
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x49567f
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x48], ecx
jne case.0x48f5ee.151
cmp dword [ebx + 0x58], ecx
je 0x490895
jmp 0x490852
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jb case.0x48f5ee.151
cmp dword [ebx + 0x8c], ecx
je 0x49087f
cmp ebp, dword [ebx + 0x88]
jbe 0x49087f
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x49567f
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jae 0x490906
mov eax, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
cmp eax, ecx
je 0x4908c2
mov edx, dword [ebx + 0x7c]
push 1
push eax
mov ecx, ebp
call fcn.004987f0
add esp, 8
test eax, eax
je case.0x48f5ee.151
jmp 0x4908f5
mov eax, dword [esi]
mov ecx, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub ecx, edx
cmp ebp, ecx
ja case.0x48f5ee.151
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne case.0x48f5ee.151
cmp eax, 1
je 0x4908f5
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
jne case.0x48f5ee.151
mov ecx, dword [esi]
mov edx, dword [ebx + 0x7c]
add ecx, ecx
sub edx, ecx
cmp ebp, edx
jne case.0x48f5ee.151
cmp dword [ebx + 0x8c], 0
je 0x49092b
cmp ebp, dword [ebx + 0x88]
jbe 0x49092b
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x49567f
add dword [esp + 0x158], 2
jmp 0x48f5c1
mov edx, dword [esp + 0x164]
cmp ebp, dword [edx + 0x78]
je 0x490a04
mov ax, word [ebp - 2]
lea ecx, [ebp - 2]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x490964
sub ecx, 2
cmp ecx, dword [edx + 0x88]
jae 0x490972
mov dword [edx + 0x88], ecx
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x49099e
movzx ecx, word [ecx + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
cmp dword [edx + 0x54], 0
je 0x4909ed
cmp eax, 0x5f
jne 0x4909b1
lea ecx, [eax - 0x5e]
jmp 0x490a06
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4be208]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0408]
movzx ecx, byte [eax*8 + 0x4bd129]
mov eax, dword [ecx*4 + 0x4bc980]
cmp eax, 1
je 0x4909e6
cmp eax, 3
jne 0x490a04
mov ecx, 1
jmp 0x490a06
cmp eax, 0x100
jae 0x490a04
mov ecx, dword [edx + 0x3c]
test byte [eax + ecx], 0x10
je 0x490a04
mov ecx, 1
jmp 0x490a06
xor ecx, ecx
cmp ebp, dword [edx + 0x7c]
jb 0x490a55
cmp dword [edx + 0x8c], 0
je 0x490a30
cmp ebp, dword [edx + 0x88]
jbe 0x490a30
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x49567f
xor eax, eax
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x158], esi
cmp dx, 5
jne 0x490af9
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x490b00
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x490a82
movzx edi, word [ebp + 2]
and eax, 0x3ff
and edi, 0x3ff
shl eax, 0xa
or eax, edi
add eax, 0x10000
cmp dword [edx + 0x54], 0
je 0x490ad7
cmp eax, 0x5f
jne 0x490a94
mov eax, 1
jmp 0x490a32
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4be208]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4c0408]
movzx edx, byte [eax*8 + 0x4bd129]
mov eax, dword [edx*4 + 0x4bc980]
cmp eax, 1
je 0x490acd
cmp eax, 3
jne 0x490a30
mov eax, 1
jmp 0x490a32
cmp eax, 0x100
jae 0x490a30
mov edx, dword [edx + 0x3c]
test byte [eax + edx], 0x10
je 0x490a30
mov eax, 1
jmp 0x490a32
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x48f5c1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x18]
cmp eax, ecx
je 0x490b54
cmp ebp, dword [ebx + 0x7c]
jae 0x490b8d
mov edx, dword [ebx + 0x7c]
push 1
lea esi, [ebx + 0x1c]
push eax
mov ecx, ebp
call fcn.004987f0
add esp, 8
test eax, eax
jne case.0x48f5ee.151
mov esi, dword [esp + 0x158]
xor ecx, ecx
jmp 0x490b8d
mov eax, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x490b8d
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne 0x490b8d
cmp eax, 1
je case.0x48f5ee.151
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
je case.0x48f5ee.151
jmp 0x490b8d
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x7c]
cmp ebp, eax
jae 0x495653
add ebp, 2
cmp ebp, eax
jae 0x490bb8
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x490bb8
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x49568f
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x4956cb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490c2c
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0x100
jae 0x490c40
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
jne case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x4956cb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490c92
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
ja case.0x48f5ee.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
je case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x4956cb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490cfc
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0x100
jae 0x490d10
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
jne case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x4956cb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490d62
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
ja case.0x48f5ee.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
je case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x4956cb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490dcc
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0x100
jae 0x490de0
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x4956cb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490e32
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
ja case.0x48f5ee.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
je case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x495708
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x490e9e
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0xd
ja 0x490ed2
je 0x490eb5
cmp eax, 0xa
je 0x490ef9
jbe case.0x48f5ee.151
cmp eax, 0xc
jmp 0x490ee9
cmp ebp, ecx
jae 0x490ef9
cmp word [ebp], 0xa
jne 0x490ef9
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
cmp eax, 0x85
je 0x490eef
cmp eax, 0x2027
jbe case.0x48f5ee.151
cmp eax, 0x2029
ja case.0x48f5ee.151
cmp dword [edx + 0x68], 0
jne case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x49568f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490f4b
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0x180e
ja 0x490f7a
je case.0x48f5ee.151
cmp eax, 0xa0
ja 0x490f73
je case.0x48f5ee.151
cmp eax, 9
je case.0x48f5ee.151
cmp eax, 0x20
jmp 0x490fa5
cmp eax, 0x1680
jmp 0x490fa5
cmp eax, 0x205f
ja 0x490fa0
je case.0x48f5ee.151
cmp eax, 0x2000
jb 0x490fab
cmp eax, 0x200a
jbe case.0x48f5ee.151
cmp eax, 0x202f
jmp 0x490fa5
cmp eax, 0x3000
je case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x49568f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490ffd
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0x180e
ja 0x491020
je 0x49104d
cmp eax, 0xa0
ja 0x491019
je 0x49104d
cmp eax, 9
je 0x49104d
cmp eax, 0x20
jmp 0x491047
cmp eax, 0x1680
jmp 0x491047
cmp eax, 0x205f
ja 0x491042
je 0x49104d
cmp eax, 0x2000
jb case.0x48f5ee.151
cmp eax, 0x200a
jbe 0x49104d
cmp eax, 0x202f
jmp 0x491047
cmp eax, 0x3000
jne case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x49568f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x49109f
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0x85
ja 0x4910b6
je case.0x48f5ee.151
cmp eax, 0xa
jb 0x4910c8
cmp eax, 0xd
jmp 0x4910c2
cmp eax, 0x2028
jb 0x4910c8
cmp eax, 0x2029
jbe case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x49568f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x49111a
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0x85
ja 0x491131
je 0x491147
cmp eax, 0xa
jb case.0x48f5ee.151
cmp eax, 0xd
jmp 0x491141
cmp eax, 0x2028
jb case.0x48f5ee.151
cmp eax, 0x2029
ja case.0x48f5ee.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x49568f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x491199
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4be208]
shl ecx, 7
mov edx, eax
and edx, 0x7f
add ecx, edx
movzx edx, word [esi + 2]
movzx ecx, word [ecx*2 + 0x4c0408]
lea ecx, [ecx*8 + 0x4bd128]
cmp edx, 8
ja case.default.0x4911cb
jmp dword [edx*4 + 0x4974d8]
cmp dword [esp + 0x14], 0xf
jmp 0x4912fb
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x4912ea
cmp cl, 5
je 0x4912ea
cmp cl, 8
je 0x4912ea
xor eax, eax
jmp 0x4912ef
movzx edx, byte [ecx + 1]
movzx eax, word [esi + 4]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x4bc980]
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x4912fb
movzx eax, byte [ecx + 1]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x4912fb
movzx eax, byte [ecx]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x4912fb
movzx eax, byte [ecx + 1]
mov eax, dword [eax*4 + 0x4bc980]
cmp eax, 1
je 0x4912ea
cmp eax, 3
je 0x4912ea
xor eax, eax
jmp 0x4912ef
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4bc980], 6
je 0x4912ea
cmp eax, 9
je 0x4912ea
cmp eax, 0xa
je 0x4912ea
cmp eax, 0xc
je 0x4912ea
cmp eax, 0xd
je 0x4912ea
xor eax, eax
jmp 0x4912ef
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4bc980], 6
je 0x4912ea
cmp eax, 9
je 0x4912ea
cmp eax, 0xa
je 0x4912ea
cmp eax, 0xb
jmp 0x49129f
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4bc980]
cmp ecx, 1
je 0x4912ea
cmp ecx, 3
je 0x4912ea
cmp eax, 0x5f
je 0x4912ea
xor eax, eax
jmp 0x4912ef
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x14], 0xf
sete cl
cmp eax, ecx
je case.0x48f5ee.151
add esi, 6
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x164]
mov edi, dword [eax + 0x7c]
cmp ebp, edi
jae 0x49568f
movzx eax, word [ebp]
mov ecx, eax
mov edx, 2
and ecx, 0xfc00
add ebp, edx
cmp ecx, 0xd800
jne 0x491358
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, edx
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4be208]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0408]
movzx ecx, byte [eax*8 + 0x4bd129]
cmp dword [ecx*4 + 0x4bc980], edx
je case.0x48f5ee.151
cmp ebp, edi
jae 0x4913fa
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x4913c5
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, edx
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4be208]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
cmp dword [eax*4 + 0x4bc980], edx
jne 0x4913fa
lea ebp, [ebp + ecx*2]
cmp ebp, edi
jb 0x491391
add esi, edx
mov dword [esp + 0x158], esi
jmp 0x48f5c1
mov eax, dword [esp + 0x158]
movzx esi, word [eax + 2]
xor ecx, ecx
cmp edx, 0x6e
sete cl
add esi, esi
add eax, 4
mov dword [esp + 0x158], eax
mov dword [esp + 0x18], ecx
cmp esi, dword [esp + 0x160]
jge 0x49144f
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + esi*4]
lea eax, [eax + esi*4]
test ecx, ecx
js 0x49144f
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x491460
mov ecx, dword [esp + 0x164]
mov ebx, dword [ecx + 0x50]
neg ebx
sbb ebx, ebx
neg ebx
dec ebx
mov ecx, dword [esp + 0x158]
movzx edi, word [ecx]
mov eax, edi
lea edx, [eax - 0x62]
cmp edx, 7
ja case.default.0x49147f
movzx edx, byte [edx + 0x497504]
jmp dword [edx*4 + 0x4974fc]
movsx edi, byte [eax + 0x4cc0e6]
add ecx, 2
mov dword [esp + 0x158], ecx
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x4cc0ee]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4914e8
mov dword [esp + 0x14], connect
jmp 0x4914e8
xor eax, eax
cmp edi, 0x69
movzx edi, word [ecx + 2]
sete al
mov dword [esp + 0x1c], eax
movzx eax, word [ecx + 4]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4914de
mov dword [esp + 0x14], connect
add ecx, 6
mov dword [esp + 0x158], ecx
test ebx, ebx
je 0x48f5c1
jns 0x4914fa
test edi, edi
je 0x48f5c1
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x491542
jmp 0x491510
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x164]
push ecx
push esi
mov eax, ebx
mov ecx, ebp
call fcn.0048f350
add esp, 8
test eax, eax
js 0x495755
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x491510
mov eax, dword [esp + 0x14]
cmp edi, eax
je 0x48f5c1
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
je 0x4957e6
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x164]
push edx
push eax
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x18]
push eax
push esi
mov edx, edi
mov eax, ebx
mov ecx, ebp
call fcn.0048f350
add esp, 8
test eax, eax
js 0x4957a0
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
inc dword [esp + 0x28]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x168]
push edi
push eax
push ecx
push edx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4915a6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x18]
push edx
push esi
mov esi, dword [esp + 0x16c]
mov edx, esi
mov eax, ebx
mov ecx, ebp
call fcn.0048f350
add esp, 8
test eax, eax
js 0x4958d1
lea ebp, [ebp + eax*2]
jmp 0x48f5c1
movzx ecx, word [esi + 0x22]
lea eax, [esi + 2]
add esi, 0x22
mov dword [esp + 0x24], eax
mov eax, ecx
lea edx, [eax - 0x62]
mov dword [esp + 0x158], esi
cmp edx, 7
ja case.default.0x491670
movzx edx, byte [edx + 0x497514]
jmp dword [edx*4 + 0x49750c]
movsx edi, byte [eax + 0x4cc0ee]
add dword [esp + 0x158], 2
movsx esi, byte [eax + 0x4cc0e6]
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x4916d9
mov edi, closesocket
jmp 0x4916d9
xor eax, eax
cmp ecx, 0x69
sete al
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x158]
movzx edi, word [eax + 4]
movzx esi, word [eax + 2]
test edi, edi
jne 0x4916c6
mov edi, closesocket
add eax, 6
mov dword [esp + 0x158], eax
jmp 0x4916d9
mov edi, 1
mov esi, edi
mov edx, 1
cmp esi, edx
jl 0x491762
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x495917
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x491731
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
jbe 0x49173f
cmp dword [esp + 0x14], 0x6a
jmp 0x491757
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x24]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je case.0x48f5ee.151
inc edx
cmp edx, esi
jle 0x4916f4
cmp esi, edi
je 0x48f5c1
cmp dword [esp + 0x1c], 0
je 0x4959c0
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov ebx, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
mov ecx, dword [esp + 0x160]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp esi, edi
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x491802
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
jbe 0x49595b
cmp dword [esp + 0x14], 0x6a
jmp 0x495973
movzx edx, word [esi + 2]
lea ecx, [esi + 4]
lea ebx, [esi + edx*2]
mov dword [esp + 0x24], ecx
movzx ecx, word [ebx]
mov eax, ecx
lea edx, [eax - 0x62]
mov dword [esp + 0x158], ebx
cmp edx, 7
ja case.default.0x491844
movzx edx, byte [edx + 0x497524]
jmp dword [edx*4 + 0x49751c]
movsx edi, byte [eax + 0x4cc0ee]
movsx esi, byte [eax + 0x4cc0e6]
lea ecx, [eax - 0x62]
add ebx, 2
and ecx, 1
mov dword [esp + 0x158], ebx
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x4918a8
mov edi, closesocket
jmp 0x4918a8
movzx edi, word [ebx + 4]
movzx esi, word [ebx + 2]
xor eax, eax
cmp ecx, 0x69
sete al
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x491895
mov edi, closesocket
add ebx, 6
mov dword [esp + 0x158], ebx
jmp 0x4918a8
mov edi, 1
mov esi, edi
mov dword [esp + 0x28], 1
cmp esi, 1
jl 0x491928
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
mov dword [esp + 0x18], edx
cmp ebp, dword [esp + 0x18]
jae 0x495b43
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x491904
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
push 1
push eax
mov eax, dword [esp + 0x2c]
call fcn.004989f0
add esp, 8
test eax, eax
je case.0x48f5ee.151
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, esi
jle 0x4918c7
cmp esi, edi
je 0x48f5c1
cmp dword [esp + 0x1c], 0
je 0x495b76
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
push edx
push eax
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
jmp 0x491980
mov eax, dword [esp + 0x164]
cmp esi, edi
jge case.0x48f5ee.151
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x4919cb
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
push 1
push eax
mov eax, dword [esp + 0x2c]
call fcn.004989f0
add esp, 8
test eax, eax
je case.0x48f5ee.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x164]
push edx
push eax
push ecx
push ebx
push ebp
inc esi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x491980
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov cx, word [esi + 2]
add esi, 2
mov edx, 0xfc00
and cx, dx
mov edx, 0xd800
mov eax, 1
mov dword [esp + 0x158], esi
cmp cx, dx
jne 0x491a53
mov eax, 2
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
sub edx, ebp
sar edx, 1
cmp eax, edx
jg 0x495ccc
test eax, eax
jle 0x48f5c1
mov cx, word [esi]
mov dx, word [ebp]
add esi, 2
dec eax
add ebp, 2
mov dword [esp + 0x158], esi
cmp cx, dx
jne case.0x48f5ee.151
test eax, eax
jg 0x491a71
jmp 0x48f5c1
mov edi, dword [esp + 0x164]
cmp ebp, dword [edi + 0x7c]
jae 0x495d01
movzx eax, word [esi + 2]
mov ecx, eax
and ecx, 0xfc00
mov edx, 1
cmp ecx, 0xd800
jne 0x491adf
movzx edx, word [esi + 4]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, 2
movzx ecx, word [ebp]
cmp eax, 0x80
jae 0x491b1c
mov edx, 0xff
cmp cx, dx
ja 0x491afb
mov edx, dword [edi + 0x34]
movzx ecx, byte [edx + ecx]
mov edx, dword [edi + 0x34]
movzx eax, byte [edx + eax]
cmp eax, ecx
jne case.0x48f5ee.151
add esi, 4
mov dword [esp + 0x158], esi
add ebp, 2
jmp 0x48f5c1
mov edi, ecx
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x491b4d
movzx edi, word [ebp]
and ecx, 0x3ff
shl ecx, 0xa
and edi, 0x3ff
or ecx, edi
add ecx, 0x10000
add ebp, 2
lea edx, [esi + edx*2 + 2]
mov dword [esp + 0x158], edx
cmp eax, ecx
je 0x48f5c1
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4be208]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4c0408]
mov edx, dword [edx*8 + 0x4bd12c]
add edx, eax
cmp ecx, edx
je 0x48f5c1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
movzx edi, word [esi + 2]
add esi, 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x158], esi
jmp 0x491c7a
mov dword [esp + 0x20], 1
movzx ebx, word [esi + 2]
xor edi, edi
mov dword [esp + 0x14], ebx
cmp eax, 0x28
je 0x491bd3
mov dword [esp + 0x1c], ecx
cmp eax, 0x35
jne 0x491bdb
mov dword [esp + 0x1c], 1
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x491c7a
xor edi, edi
add esi, 2
mov dword [esp + 0x20], 1
mov dword [esp + 0x158], esi
jmp 0x491c72
mov edi, 1
add esi, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x158], esi
jmp 0x491c72
mov eax, 1
xor edi, edi
add esi, 2
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x158], esi
jmp 0x491c7a
xor ecx, ecx
cmp edx, 0x2e
setge cl
mov eax, edx
add esi, 2
mov dword [esp + 0x158], esi
dec ecx
and ecx, 0xfffffff3
add ecx, 0x2e
sub eax, ecx
movsx edi, byte [eax + 0x4cc148]
mov ecx, eax
movsx eax, byte [eax + 0x4cc150]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x491c7a
mov dword [esp + 0x14], connect
mov eax, dword [esp + 0x158]
movzx esi, word [eax]
mov ecx, esi
and ecx, 0xfc00
mov dword [esp + 0x24], 1
mov dword [esp + 0x30], eax
cmp ecx, 0xd800
jne 0x491cc3
movzx ecx, word [eax + 2]
and esi, 0x3ff
and ecx, 0x3ff
shl esi, 0xa
or esi, ecx
add esi, 0x10000
mov dword [esp + 0x24], 2
mov ecx, dword [esp + 0x24]
lea eax, [eax + ecx*2]
lea ebx, [ecx + ecx]
mov dword [esp + 0x158], eax
cmp ecx, 1
jle 0x49203c
cmp edx, 0x2e
jl 0x491d1c
mov edx, esi
shr edx, 7
movzx eax, byte [edx + 0x4be208]
shl eax, 7
mov ecx, esi
and ecx, 0x7f
add eax, ecx
movzx edx, word [eax*2 + 0x4c0408]
mov eax, dword [edx*8 + 0x4bd12c]
add eax, esi
cmp eax, esi
je 0x491d1c
lea ecx, [esp + 0x5c]
call fcn.00498990
mov dword [esp + 0x18], eax
jmp 0x491d24
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x491e40
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x3c], eax
sub eax, ebx
mov dword [esp + 0x34], eax
jmp 0x491d54
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x491db5
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x491d84
lea ecx, [ecx]
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x491db5
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x491d70
test eax, eax
je 0x491da8
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x491db5
cmp eax, 1
jbe 0x491da8
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x491db5
cmp eax, 2
jbe 0x491da8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x491db5
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x491e2f
cmp dword [esp + 0x18], 0
jle 0x495d2c
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
add edx, edx
sub ecx, edx
cmp ebp, ecx
ja 0x495d2c
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x491dfd
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x495d2c
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x491de5
test eax, eax
je 0x491e2d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x495d2c
cmp eax, 1
jbe 0x491e2d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x495d2c
cmp eax, 2
jbe 0x491e2d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x495d2c
add ebp, edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x491d50
cmp edi, dword [esp + 0x14]
je 0x48f5c1
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
jne 0x495d4e
mov dword [esp + 0x1c], ebp
cmp edi, dword [esp + 0x14]
jge 0x491f95
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
mov eax, dword [esp + 0x24]
mov ecx, edx
add eax, eax
sub ecx, eax
mov dword [esp + 0x34], ecx
jmp 0x491e85
mov ecx, dword [esp + 0x34]
cmp ebp, ecx
ja 0x491ee9
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x491eb8
mov edi, edi
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x491ee9
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x491ea0
test eax, eax
je 0x491edc
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x491ee9
cmp eax, 1
jbe 0x491edc
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x491ee9
cmp eax, 2
jbe 0x491edc
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x491ee9
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x491f4f
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x491f64
lea edi, [eax + eax]
mov ecx, edx
sub ecx, edi
cmp ebp, ecx
ja 0x491f64
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x491f29
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x491f64
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x491f11
test eax, eax
je 0x491f4d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x491f64
cmp eax, 1
jbe 0x491f4d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x491f64
cmp eax, 2
jbe 0x491f4d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x491f64
add ebp, edi
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x491e81
jmp 0x491f95
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x491f95
cmp ebp, dword [eax + 0x7c]
jb 0x491f95
cmp ebp, dword [eax + 0x88]
jbe 0x491f95
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x49567f
cmp dword [esp + 0x20], 0
jne 0x48f5c1
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
mov esi, dword [esp + 0x158]
inc edx
push edx
push eax
push ecx
push edi
push ebx
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp ebp, dword [esp + 0x1c]
je case.0x48f5ee.151
mov dx, word [ebp - 2]
sub ebp, 2
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x492008
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
push eax
push ecx
push edi
push ebx
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x491fe2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edx, 0x2e
jl 0x4921b3
cmp esi, 0x7f
jbe 0x492077
mov ecx, esi
shr ecx, 7
movzx edx, byte [ecx + 0x4be208]
shl edx, 7
mov eax, esi
and eax, 0x7f
add edx, eax
movzx ecx, word [edx*2 + 0x4c0408]
mov edx, dword [ecx*8 + 0x4bd12c]
add edx, esi
mov dword [esp + 0x28], edx
jmp 0x492099
cmp esi, 0xff
ja 0x492093
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax + esi]
mov dword [esp + 0x28], edx
jmp 0x492099
mov edx, esi
mov dword [esp + 0x28], esi
mov ecx, 1
cmp edi, ecx
jl 0x4920cc
mov eax, dword [esp + 0x164]
mov ebx, dword [eax + 0x7c]
cmp ebp, ebx
jae 0x495f44
movzx eax, word [ebp]
cmp esi, eax
je 0x4920c4
cmp edx, eax
jne case.0x48f5ee.151
inc ecx
add ebp, 2
cmp ecx, edi
jle 0x4920ac
mov ebx, dword [esp + 0x14]
cmp edi, ebx
je 0x48f5c1
cmp dword [esp + 0x1c], 0
jne 0x495f7e
mov dword [esp + 0x1c], ebp
mov eax, edi
cmp edi, ebx
jge 0x492146
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
jmp 0x492107
mov ecx, dword [esp + 0x164]
cmp ebp, edi
jae 0x492121
movzx ecx, word [ebp]
cmp esi, ecx
je 0x492117
cmp edx, ecx
jne 0x492146
inc eax
add ebp, 2
cmp eax, ebx
jl 0x492100
jmp 0x492146
cmp dword [ecx + 0x8c], 0
je 0x492146
cmp ebp, dword [ecx + 0x88]
jbe 0x492146
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jg 0x49567f
cmp dword [esp + 0x20], 0
jne 0x48f5c1
cmp ebp, dword [esp + 0x1c]
jb 0x4921a6
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x15c]
mov edi, dword [esp + 0x160]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
push ecx
push edx
push edi
push ebx
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x4972e6
cmp ebp, dword [esp + 0x1c]
jae 0x492170
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x164]
mov eax, 1
cmp edi, eax
jl 0x4921e2
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x496034
movzx ebx, word [ebp]
add ebp, 2
cmp esi, ebx
jne case.0x48f5ee.151
inc eax
cmp eax, edi
jle 0x4921c6
cmp edi, dword [esp + 0x14]
je 0x48f5c1
cmp dword [esp + 0x1c], 0
jne 0x496060
mov ebx, ebp
mov dword [esp + 0x1c], ebx
mov eax, edi
cmp edi, dword [esp + 0x14]
jge 0x49224d
mov ecx, dword [edx + 0x7c]
lea esp, [esp]
cmp ebp, ecx
jae 0x492228
movzx edi, word [ebp]
cmp esi, edi
jne 0x49224d
inc eax
add ebp, 2
cmp eax, dword [esp + 0x14]
jl 0x492210
jmp 0x49224d
cmp dword [edx + 0x8c], 0
je 0x49224d
cmp ebp, dword [edx + 0x88]
jbe 0x49224d
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x49567f
cmp dword [esp + 0x20], 0
jne 0x48f5c1
cmp ebp, ebx
jb 0x4922ab
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x15c]
mov edi, dword [esp + 0x160]
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
push eax
push ecx
push edi
push ebx
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x4972e6
cmp ebp, dword [esp + 0x1c]
jae 0x492275
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edi, dword [esp + 0x164]
cmp ebp, dword [edi + 0x7c]
jae 0x495d01
movzx ecx, word [ebp]
mov eax, ecx
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x4922fa
movzx eax, word [ebp]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebp, 2
movzx eax, word [esi + 2]
add esi, 4
mov dword [esp + 0x158], esi
cmp edx, 0x20
jne 0x49236e
cmp eax, 0x7f
jbe 0x49233f
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4be208]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4c0408]
mov edx, dword [edx*8 + 0x4bd12c]
add edx, eax
jmp 0x492351
cmp eax, 0xff
ja 0x49234f
mov edx, dword [edi + 0x38]
movzx edx, byte [edx + eax]
jmp 0x492351
mov edx, eax
cmp eax, ecx
je case.0x48f5ee.151
cmp edx, ecx
jne 0x48f5c1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, ecx
jne 0x48f5c1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
movzx ecx, word [esi + 2]
mov dword [esp + 0x14], ecx
add esi, 4
jmp 0x492449
movzx edi, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x14], edi
cmp eax, 0x42
je 0x4923ab
mov dword [esp + 0x1c], ecx
cmp eax, 0x4f
jne 0x4923b3
mov dword [esp + 0x1c], 1
add esi, 4
jmp 0x492449
xor ecx, ecx
mov dword [esp + 0x20], 1
add esi, 2
jmp 0x492441
mov ecx, 1
mov dword [esp + 0x20], ecx
add esi, 2
jmp 0x492441
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
add esi, 2
jmp 0x492449
movzx eax, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], eax
add esi, 4
jmp 0x492449
xor ecx, ecx
cmp edx, 0x48
setl cl
mov eax, edx
add esi, 2
dec ecx
and ecx, 0xd
add ecx, 0x3b
sub eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esp + 0x1c], ecx
movsx ecx, byte [eax + 0x4cc148]
movsx eax, byte [eax + 0x4cc150]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x492449
mov dword [esp + 0x14], connect
movzx edi, word [esi]
add esi, 2
mov dword [esp + 0x24], edi
mov dword [esp + 0x158], esi
cmp edx, 0x48
jl 0x492680
cmp edi, 0x7f
jbe 0x492495
mov edx, edi
shr edx, 7
movzx eax, byte [edx + 0x4be208]
shl eax, 7
mov edx, edi
and edx, 0x7f
add eax, edx
movzx eax, word [eax*2 + 0x4c0408]
mov esi, dword [eax*8 + 0x4bd12c]
add esi, edi
mov dword [esp + 0x28], esi
jmp 0x4924b7
cmp edi, 0xff
ja 0x4924b1
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx esi, byte [eax + edi]
mov dword [esp + 0x28], esi
jmp 0x4924b7
mov esi, edi
mov dword [esp + 0x28], edi
mov edx, 1
cmp ecx, edx
jl 0x492524
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x495b43
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x49250f
movzx ebx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ebx, 0x3ff
or eax, ebx
add eax, 0x10000
add ebp, 2
cmp edi, eax
je case.0x48f5ee.151
cmp esi, eax
je case.0x48f5ee.151
inc edx
cmp edx, ecx
jle 0x4924d2
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x48f5c1
cmp dword [esp + 0x1c], 0
jne 0x496110
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x4925ce
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, 1
cmp ebp, edi
jae 0x4925a7
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x492590
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, 2
cmp dword [esp + 0x24], eax
je 0x4925ce
cmp dword [esp + 0x28], eax
je 0x4925ce
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x492551
jmp 0x4925ce
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x4925ce
cmp ebp, dword [eax + 0x88]
jbe 0x4925ce
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x49567f
cmp dword [esp + 0x20], 0
jne 0x48f5c1
mov ecx, dword [esp + 0x16c]
mov esi, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
inc ecx
push ecx
push esi
push edx
push edi
push ebx
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48f5ee.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x492643
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x158]
inc edx
push edx
push esi
push eax
push edi
push ebx
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x49261b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ecx, edx
jl 0x4926e6
mov esi, dword [eax + 0x7c]
cmp ebp, esi
jae 0x495b43
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x4926d2
movzx ebx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ebx, 0x3ff
or eax, ebx
add eax, 0x10000
add ebp, 2
cmp edi, eax
je case.0x48f5ee.151
inc edx
cmp edx, ecx
jle 0x492697
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x48f5c1
cmp dword [esp + 0x1c], 0
jne 0x4961f9
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x492787
mov edi, dword [eax + 0x7c]
jmp 0x492717
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x492767
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x492756
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, 2
cmp dword [esp + 0x24], eax
je 0x492787
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x492710
jmp 0x492787
cmp dword [eax + 0x8c], 0
je 0x492787
cmp ebp, dword [eax + 0x88]
jbe 0x492787
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x49567f
cmp dword [esp + 0x20], 0
jne 0x48f5c1
mov ecx, dword [esp + 0x16c]
mov esi, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
inc ecx
push ecx
push esi
push edx
push edi
push ebx
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48f5ee.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x4927fc
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x158]
inc edx
push edx
push esi
push eax
push edi
push ebx
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4927d4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
movzx eax, word [esi + 2]
mov ebx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], 1
add esi, 4
jmp 0x492902
movzx edx, word [esi + 2]
xor ebx, ebx
mov dword [esp + 0x14], edx
xor edx, edx
cmp eax, 0x5c
sete dl
mov dword [esp + 0x24], ebx
add esi, 4
mov dword [esp + 0x1c], edx
jmp 0x492902
xor ebx, ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x4928fa
mov ebx, 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x4928fa
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
add esi, 2
jmp 0x492902
movzx eax, word [esi + 2]
xor ebx, ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
add esi, 4
jmp 0x492902
lea eax, [edx - 0x55]
movsx ebx, byte [eax + 0x4cc148]
mov edx, eax
movsx eax, byte [eax + 0x4cc150]
and edx, 1
add esi, 2
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
cmp eax, ecx
jne 0x492902
mov dword [esp + 0x14], connect
movzx eax, word [esi]
add esi, 2
mov dword [esp + 0x18], eax
mov dword [esp + 0x158], esi
cmp eax, 0x10
je 0x49292a
cmp eax, 0xf
je 0x49292a
mov edi, dword [esp + 0x2c]
or eax, 0xffffffff
mov dword [esp + 0x28], eax
jmp 0x492953
movzx eax, word [esi]
xor edx, edx
cmp dword [esp + 0x18], 0xf
mov dword [esp + 0x28], eax
sete dl
add esi, 4
mov dword [esp + 0x158], esi
mov edi, edx
movzx edx, word [esi - 2]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], edx
cmp ebx, ecx
jle 0x492a59
cmp eax, ecx
jl 0x492f43
cmp eax, 8
ja case.default.0x4911cb
jmp dword [eax*4 + 0x49752c]
cmp edi, ecx
jne case.0x48f5ee.151
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x4962db
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x4929b0
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x492992
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x496307
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492a0c
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4be208]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
cmp eax, 9
je 0x492a43
cmp eax, 5
je 0x492a43
cmp eax, 8
je 0x492a43
xor eax, eax
jmp 0x492a48
mov eax, 1
cmp eax, edi
je case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x4929d1
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x14]
cmp ebx, edi
je 0x48f5c1
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x28]
jne 0x496379
mov dword [esp + 0x1c], ebp
test eax, eax
js 0x493eac
cmp eax, 8
ja case.default.0x4911cb
jmp dword [eax*4 + 0x497550]
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x49633a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492ae5
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4be208]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp dword [eax*4 + 0x4bc980], esi
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x492aaa
jmp 0x492a59
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x49633a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492b8b
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4be208]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x492b50
jmp 0x492a59
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x49633a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492c26
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4be208]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd128]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x492beb
jmp 0x492a59
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x496307
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492cc1
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4be208]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
mov eax, dword [eax*4 + 0x4bc980]
cmp eax, 1
je 0x492cfa
cmp eax, 3
je 0x492cfa
xor eax, eax
jmp 0x492cff
mov eax, 1
cmp eax, edi
je case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x492c86
jmp 0x492a59
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x496307
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492d6a
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4be208]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4c0408]
movzx esi, byte [esi*8 + 0x4bd129]
cmp dword [esi*4 + 0x4bc980], edi
je 0x492db1
cmp eax, 9
je 0x492db1
cmp eax, 0xa
je 0x492db1
cmp eax, 0xc
je 0x492db1
cmp eax, 0xd
je 0x492db1
xor eax, eax
jmp 0x492db6
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f5ee.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x492d2f
jmp 0x492a59
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x496307
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492e27
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4be208]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4c0408]
movzx esi, byte [esi*8 + 0x4bd129]
cmp dword [esi*4 + 0x4bc980], edi
je 0x492e73
cmp eax, 9
je 0x492e73
cmp eax, 0xa
je 0x492e73
cmp eax, 0xb
je 0x492e73
cmp eax, 0xc
je 0x492e73
cmp eax, 0xd
je 0x492e73
xor eax, eax
jmp 0x492e78
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f5ee.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x492dec
jmp 0x492a59
mov edx, 1
cmp ebx, edx
jl 0x492a59
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
cmp ebp, edi
jae 0x49633a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x492ee6
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4be208]
shl ecx, 7
mov esi, eax
and esi, 0x7f
add ecx, esi
movzx ecx, word [ecx*2 + 0x4c0408]
movzx ecx, byte [ecx*8 + 0x4bd129]
mov ecx, dword [ecx*4 + 0x4bc980]
cmp ecx, 1
je 0x492f26
cmp ecx, 3
je 0x492f26
cmp eax, 0x5f
je 0x492f26
xor eax, eax
jmp 0x492f2b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f5ee.151
inc edx
cmp edx, ebx
jle 0x492eab
jmp 0x492a59
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x493055
lea esi, [eax - 0x15]
cmp ebx, esi
jl 0x492a59
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x49633a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x492fa0
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4be208]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0408]
movzx ecx, byte [eax*8 + 0x4bd129]
cmp dword [ecx*4 + 0x4bc980], 2
je case.0x48f5ee.151
cmp ebp, edx
jae 0x493047
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x493011
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4be208]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
cmp dword [eax*4 + 0x4bc980], 2
jne 0x493047
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x492fda
inc esi
cmp esi, ebx
jle 0x492f65
jmp 0x492a59
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x4911cb
jmp dword [eax*4 + 0x497574]
mov edi, 1
cmp ebx, edi
jl 0x492a59
mov ecx, dword [esp + 0x164]
lea esp, [esp]
cmp ebp, dword [ecx + 0x7c]
jae 0x49630e
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4930bb
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.004987f0
add esp, 8
test eax, eax
jne case.0x48f5ee.151
mov ecx, dword [esp + 0x164]
jmp 0x4930eb
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x4930eb
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x4930eb
cmp eax, 1
je case.0x48f5ee.151
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je case.0x48f5ee.151
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x49310c
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov eax, 0xdc00
cmp dx, ax
jne 0x49310c
add ebp, 2
inc edi
cmp edi, ebx
jle 0x493080
jmp 0x492a59
mov eax, 1
cmp ebx, eax
jl 0x492a59
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x4962db
add ebp, 2
cmp ebp, ecx
jae 0x493159
mov dx, word [ebp]
mov edi, 0xfc00
and dx, di
mov edi, 0xdc00
cmp dx, di
jne 0x493159
add ebp, 2
inc eax
cmp eax, ebx
jle 0x493131
jmp 0x492a60
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
lea eax, [ebx + ebx]
sub ecx, eax
cmp ebp, ecx
ja case.0x48f5ee.151
add ebp, eax
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x49634d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x4931d3
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0xd
ja 0x4931f8
je 0x4931e8
cmp eax, 0xa
je 0x493217
add eax, 0xfffffff5
jmp 0x493204
cmp ebp, edx
jae 0x493217
cmp word [ebp], 0xa
jne 0x493217
add ebp, 2
jmp 0x493217
cmp eax, 0x85
je 0x49320d
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x48f5ee.151
cmp dword [esi + 0x68], 0
jne case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x493198
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
lea esp, [esp]
cmp ebp, edx
jae 0x49634d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x49327b
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x180e
ja 0x4932ad
je case.0x48f5ee.151
cmp eax, 0xa0
ja 0x4932a6
je case.0x48f5ee.151
cmp eax, 9
je case.0x48f5ee.151
cmp eax, 0x20
jmp 0x4932d8
cmp eax, 0x1680
jmp 0x4932d8
cmp eax, 0x205f
ja 0x4932d3
je case.0x48f5ee.151
cmp eax, 0x2000
jb 0x4932de
cmp eax, 0x200a
jbe case.0x48f5ee.151
cmp eax, 0x202f
jmp 0x4932d8
cmp eax, 0x3000
je case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x493240
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x49634d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x49333e
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x180e
ja 0x493373
je 0x4933a0
cmp eax, 0xa0
ja 0x493369
je 0x4933a0
cmp eax, 9
je 0x4933a0
cmp eax, 0x20
jmp 0x49339a
cmp eax, 0x1680
jmp 0x49339a
cmp eax, 0x205f
ja 0x493395
je 0x4933a0
cmp eax, 0x2000
jb case.0x48f5ee.151
cmp eax, 0x200a
jbe 0x4933a0
cmp eax, 0x202f
jmp 0x49339a
cmp eax, 0x3000
jne case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x493303
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x49634d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x493404
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x85
ja 0x49341b
je case.0x48f5ee.151
cmp eax, 0xa
jb 0x49342d
cmp eax, 0xd
jmp 0x493427
cmp eax, 0x2028
jb 0x49342d
cmp eax, 0x2029
jbe case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x4933c5
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
mov edi, edi
cmp ebp, edx
jae 0x49634d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x49348f
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x85
ja 0x4934a0
je 0x4934ae
add eax, 0xfffffff6
cmp eax, 3
jmp 0x4934a8
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x493450
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x4962db
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x49350f
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x80
jae 0x493523
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
jne case.0x48f5ee.151
inc ecx
cmp ecx, ebx
jle 0x4934d0
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x49634d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x48f5ee.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
je case.0x48f5ee.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x493544
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x4962db
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x4935b3
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
jne case.0x48f5ee.151
add ebp, 2
cmp ebp, edx
jae 0x4935d7
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4935d7
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x493590
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x49634d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x48f5ee.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
je case.0x48f5ee.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x4935f8
jmp 0x492a60
mov ecx, 1
cmp ebx, ecx
jl 0x492a59
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x4962db
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x493666
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
jne case.0x48f5ee.151
add ebp, 2
cmp ebp, edx
jae 0x49368a
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x49368a
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x493643
jmp 0x492a60
mov esi, dword [esp + 0x164]
mov ecx, 1
cmp ebx, ecx
jl 0x492a60
mov edx, dword [esi + 0x7c]
jmp 0x4936b0
cmp ebp, edx
jae 0x49634d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x48f5ee.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
je case.0x48f5ee.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x4936b0
jmp 0x492a60
mov ecx, ebx
cmp ebx, edi
jge 0x493dfd
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
mov eax, 1
cmp ebp, edx
jae 0x49373b
mov si, word [ebp]
mov edi, 0xfc00
and si, di
mov edi, 0xd800
cmp si, di
jne 0x493720
mov eax, 2
cmp dword [esp + 0x2c], 0
jne 0x493dfd
inc ecx
lea ebp, [ebp + eax*2]
cmp ecx, dword [esp + 0x14]
jl 0x4936f8
jmp 0x493dfd
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x493dfd
mov ecx, eax
cmp ebp, dword [ecx + 0x88]
jbe 0x493dfd
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x493df7
mov edx, ebx
cmp ebx, edi
jge 0x493dfd
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x493797
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x493993
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4937da
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4be208]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
cmp eax, 9
je 0x493811
cmp eax, 5
je 0x493811
cmp eax, 8
je 0x493811
xor eax, eax
jmp 0x493816
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x493dfd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x493790
jmp 0x493dfd
mov edx, ebx
cmp ebx, edi
jge 0x493dfd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x38]
mov eax, ecx
jmp 0x493857
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x493993
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x49389a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4be208]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
xor ebx, ebx
cmp dword [eax*4 + 0x4bc980], edi
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x493dfd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x493850
jmp 0x493dfd
mov edx, ebx
cmp ebx, edi
jge 0x493dfd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x49398c
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x493943
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4be208]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x493dfd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x493900
jmp 0x493dfd
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x493dfd
cmp ebp, dword [eax + 0x88]
jbe 0x493dfd
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x493df7
mov edx, ebx
cmp ebx, edi
jge 0x493dfd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x49398c
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x493a11
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4be208]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd128]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x493dfd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4939d2
jmp 0x493dfd
mov edx, ebx
cmp ebx, edi
jge 0x493dfd
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, 1
jmp 0x493a78
mov eax, dword [esp + 0x164]
mov ecx, edi
cmp ebp, esi
jae 0x493b11
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x493ab8
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4be208]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
mov eax, dword [eax*4 + 0x4bc980]
cmp eax, edi
je 0x493af0
cmp eax, 3
je 0x493af0
xor eax, eax
jmp 0x493af2
mov eax, edi
cmp eax, dword [esp + 0x2c]
je 0x493dfd
add edx, edi
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x493a71
jmp 0x493dfd
cmp dword [eax + 0x8c], 0
je 0x493dfd
cmp ebp, dword [eax + 0x88]
jbe 0x493dfd
mov dword [eax + 0x64], edi
cmp dword [eax + 0x8c], edi
jmp 0x493df7
mov edx, ebx
cmp ebx, edi
jge 0x493dfd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov eax, ecx
jmp 0x493b57
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x493993
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x493b9a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4be208]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4c0408]
movzx edi, byte [edi*8 + 0x4bd129]
cmp dword [edi*4 + 0x4bc980], 6
je 0x493bee
cmp eax, 9
je 0x493bee
cmp eax, 0xa
je 0x493bee
cmp eax, 0xc
je 0x493bee
cmp eax, 0xd
je 0x493bee
xor eax, eax
jmp 0x493bf3
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x493dfd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x493b50
jmp 0x493dfd
mov edx, ebx
cmp ebx, edi
jge 0x493dfd
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
jmp 0x493c37
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x493993
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x493c7a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4be208]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4c0408]
movzx edi, byte [edi*8 + 0x4bd129]
cmp dword [edi*4 + 0x4bc980], 6
je 0x493cdb
cmp eax, 9
je 0x493cdb
cmp eax, 0xa
je 0x493cdb
cmp eax, 0xb
je 0x493cdb
cmp eax, 0xc
je 0x493cdb
cmp eax, 0xd
je 0x493cdb
xor eax, eax
jmp 0x493ce0
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x493dfd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x493c30
jmp 0x493dfd
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x493dfd
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov eax, edx
jmp 0x493d27
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x493dd5
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x493d6a
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4be208]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4c0408]
movzx ecx, byte [ecx*8 + 0x4bd129]
mov ecx, dword [ecx*4 + 0x4bc980]
cmp ecx, 1
je 0x493db2
cmp ecx, 3
je 0x493db2
cmp eax, 0x5f
je 0x493db2
xor eax, eax
jmp 0x493db7
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x493dfd
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x14]
jl 0x493d20
jmp 0x493dfd
cmp dword [eax + 0x8c], 0
je 0x493dfd
cmp ebp, dword [eax + 0x88]
jbe 0x493dfd
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x49567f
cmp dword [esp + 0x20], 0
jne 0x48f5c1
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov esi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
inc ecx
push ecx
push edx
push eax
push edi
push esi
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
lea ebx, [ebx]
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48f5ee.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x493e78
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
push eax
push ecx
push edi
push esi
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x493e50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x4940ee
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x494009
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
mov ebx, 2
jmp 0x493ee7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, edx
jae 0x493fe1
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x493f27
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, ebx
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4be208]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
cmp dword [eax*4 + 0x4bc980], ebx
je 0x494009
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jae 0x493fd1
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x493f9c
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, ebx
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4be208]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
cmp dword [eax*4 + 0x4bc980], ebx
jne 0x493fd1
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x493f64
inc esi
cmp esi, dword [esp + 0x14]
jl 0x493ee0
jmp 0x494009
cmp dword [eax + 0x8c], 0
je 0x494009
cmp ebp, dword [eax + 0x88]
jbe 0x494009
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x49567f
cmp dword [esp + 0x20], 0
jne 0x48f5c1
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov esi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
inc edx
push edx
push eax
push ecx
push edi
push esi
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov edx, ebp
mov ecx, 2
sub ebp, ecx
cmp edx, dword [esp + 0x1c]
je case.0x48f5ee.151
lea esp, [esp]
mov ax, word [ebp]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x494088
sub ebp, ecx
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x4940b9
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4be208]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4c0408]
movzx edx, byte [eax*8 + 0x4bd129]
cmp dword [edx*4 + 0x4bc980], ecx
jne 0x4972a9
sub ebp, ecx
jmp 0x494070
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x4911cb
jmp dword [eax*4 + 0x4975b4]
cmp edi, 0x7fffffff
mov edi, ebx
jge 0x4941f6
cmp ebx, dword [esp + 0x14]
jge 0x494583
lea esp, [esp]
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x4941cf
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x494162
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.004987f0
add esp, 8
test eax, eax
jne 0x494583
mov ecx, dword [esp + 0x164]
jmp 0x49419a
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x49419a
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x49419a
cmp eax, 1
je 0x494583
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x494583
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x4941bf
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x4941bf
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x494120
jmp 0x494583
cmp dword [ecx + 0x8c], 0
je 0x494583
mov edx, ecx
cmp ebp, dword [edx + 0x88]
jbe 0x494583
mov ecx, 1
mov eax, edx
jmp 0x494574
cmp ebx, dword [esp + 0x14]
jge 0x494583
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x4941cf
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x49423e
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.004987f0
add esp, 8
test eax, eax
jne 0x494583
mov ecx, dword [esp + 0x164]
jmp 0x494276
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x494276
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x494276
cmp eax, 1
je 0x494583
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x494583
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x49429f
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x49429f
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x494200
jmp 0x494583
cmp edi, 0x7fffffff
jge 0x494315
mov eax, ebx
cmp ebx, edi
jge 0x494583
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x494318
add ebp, 2
cmp ebp, ecx
jae 0x4942f8
mov dx, word [ebp]
mov ebx, 0xfc00
and dx, bx
mov ebx, 0xdc00
cmp dx, bx
jne 0x4942f8
add ebp, 2
inc eax
cmp eax, edi
jl 0x4942c8
jmp 0x494583
mov ecx, dword [esi + 0x7c]
sub edi, ebx
sub ecx, ebp
mov eax, edi
sar ecx, 1
cmp eax, ecx
jbe 0x494344
mov ebp, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je 0x494583
cmp ebp, dword [esi + 0x88]
jbe 0x494583
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x49457d
lea ebp, [ebp + eax*2]
jmp 0x494583
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x494583
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp ebp, edx
jae 0x494427
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4943a6
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0xd
jne 0x4943cd
add ebp, 2
cmp ebp, edx
jae 0x494583
cmp word [ebp], 0xa
jne 0x494417
add ebp, 2
jmp 0x494417
cmp eax, 0xa
je 0x494413
cmp dword [ebx + 0x68], 0
jne 0x494583
cmp eax, 0xb
je 0x494413
cmp eax, 0xc
je 0x494413
cmp eax, 0x85
je 0x494413
cmp eax, 0x2028
je 0x494413
cmp eax, 0x2029
jne 0x494583
lea ebp, [ebp + ecx*2]
inc esi
cmp esi, dword [esp + 0x14]
jl 0x494363
jmp 0x494583
cmp dword [ebx + 0x8c], 0
je 0x494583
cmp ebp, dword [ebx + 0x88]
jbe 0x494583
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x8c], ecx
jmp 0x49457d
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x494583
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x494554
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4944ab
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x180e
ja 0x4944e8
je 0x49452b
cmp eax, 0xa0
ja 0x4944de
je 0x49452b
cmp eax, 9
je 0x49452b
cmp eax, 0x20
jmp 0x49451e
cmp eax, 0x1680
jmp 0x49451e
cmp eax, 0x205f
ja 0x494519
je 0x49452b
cmp eax, 0x2000
jb 0x494524
cmp eax, 0x200a
jbe 0x49452b
cmp eax, 0x202f
jmp 0x49451e
cmp eax, 0x3000
je 0x49452b
xor eax, eax
jmp 0x494530
mov eax, 1
xor ebx, ebx
cmp dword [esp + 0x18], 0x12
sete bl
cmp eax, ebx
je 0x494583
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x494468
jmp 0x494583
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x494583
cmp ebp, dword [eax + 0x88]
jbe 0x494583
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x49567f
cmp dword [esp + 0x20], 0
jne 0x48f5c1
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov esi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
inc eax
push eax
push ecx
push edx
push edi
push esi
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ebp, 2
cmp ecx, eax
je case.0x48f5ee.151
mov dx, word [ebp]
mov ecx, 0xfc00
and dx, cx
mov ecx, 0xdc00
cmp dx, cx
jne 0x4945fe
sub ebp, 2
cmp dword [esp + 0x18], 0x11
jne 0x49462a
cmp ebp, eax
jbe 0x49462a
cmp word [ebp], 0xa
jne 0x49462a
cmp word [ebp - 2], 0xd
jne 0x49462a
add ebp, 0xfffffffe
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
push eax
push ecx
push edi
push esi
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4945d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x494583
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x494554
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4946bf
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x85
ja 0x494708
je 0x494712
cmp eax, 0xa
jb 0x4946e2
cmp eax, 0xd
jbe 0x494712
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x18], 0x14
sete bl
cmp eax, ebx
je 0x494583
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x49467c
jmp 0x494583
add eax, 0xffffdfd8
cmp eax, 1
ja 0x4946e2
mov eax, 1
jmp 0x4946e4
mov edx, ebx
cmp ebx, edi
jge 0x494583
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x494747
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x49455b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x49478a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x4947a9
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
jne 0x494583
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x494740
jmp 0x494583
mov edx, ebx
cmp ebx, edi
jge 0x494583
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4947e7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x49455b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x49482a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x494583
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
je 0x494583
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4947e0
jmp 0x494583
mov edx, ebx
cmp ebx, edi
jge 0x494583
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x494887
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x49455b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4948ca
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x4948e9
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
jne 0x494583
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x494880
jmp 0x494583
mov edx, ebx
cmp ebx, edi
jge 0x494583
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x494927
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x49455b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x49496a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x494583
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
je 0x494583
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x494920
jmp 0x494583
mov edx, ebx
cmp ebx, edi
jge 0x494583
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4949c7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x49455b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x494a0a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x494a29
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
jne 0x494583
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4949c0
jmp 0x494583
mov edx, ebx
cmp ebx, edi
jge 0x494583
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x494a58
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x49455b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x494a9b
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x494583
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
je 0x494583
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x494a51
jmp 0x494583
mov eax, dword [ebx + 0x90]
cmp eax, dword [esp + 0x160]
jle 0x494aea
mov dword [esp + 0x160], eax
movzx edx, word [esi + 6]
cmp word [esi + edx*2 + 4], 0x71
lea eax, [esi + edx*2 + 4]
jne 0x494b0e
mov edi, edi
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
je 0x494b00
mov edx, dword [esp + 0x14]
add eax, 4
cmp edx, 0x86
je 0x4953b0
mov dword [esp + 0x158], eax
jmp 0x494ea3
cmp word [esi], 0x74
jne 0x494b70
mov edx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
inc edx
push edx
push ecx
push ebx
push eax
push edi
add esi, 4
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov edx, dword [esp + 0x18]
mov dword [esp + 0x158], edx
jmp 0x494ea3
mov edx, dword [esp + 0x168]
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
push edx
push ebx
push eax
mov eax, dword [esp + 0x28]
push edi
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x494ea3
mov ecx, dword [esp + 0x158]
movzx ecx, word [ecx + 4]
mov ebx, dword [esp + 0x164]
lea esi, [ecx + ecx]
mov dword [esp + 0x28], ecx
cmp esi, dword [ebx + 0x14]
jge 0x494cc0
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + esi*4]
mov dword [esp + 0x34], edx
mov edx, dword [eax + esi*4 + 4]
mov dword [esp + 0x1c], edx
mov edx, dword [ebx + 0x10]
sub edx, ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [ebx + 0x94]
mov dword [esp + 0x20], edx
mov edx, ebp
sub edx, dword [ebx + 0x78]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0xb0]
sar edx, 1
mov dword [esp + 0x24], ecx
mov dword [eax], edx
cmp dword [esp + 0x14], 0x82
mov edi, dword [esp + 0x158]
jl 0x494c32
mov dword [ebx + 0x9c], 2
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
movzx ecx, word [edi]
push ebx
push edx
movzx edx, byte [ecx + 0x4bc8e0]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 0xfffffc1c
je 0x495324
cmp eax, 0xfffffc20
jne 0x4952f0
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x4972e6
cmp word [edi], 0x71
je 0x494ca8
cmp word [ecx], 0x71
jne 0x4972e6
xor eax, eax
jmp 0x4952f8
mov ebx, dword [esp + 0x164]
jmp 0x494cc0
cmp edx, 0x82
jge 0x494d0e
cmp edx, 0x7b
je 0x494d0e
cmp dword [ebx + 0x6c], 0
jne 0x494d18
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
je 0x494d18
movzx ecx, word [eax]
movzx edx, byte [ecx + 0x4bc8e0]
lea eax, [eax + edx*2]
mov dword [esp + 0x158], eax
jmp 0x494ea3
mov dword [ebx + 0x9c], 2
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edi, dword [esp + 0x158]
mov edx, dword [esp + 0x160]
mov esi, dword [ebx + 0xb0]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
movzx ecx, word [edi]
push ebx
push edx
movzx edx, byte [ecx + 0x4bc8e0]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x494d95
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x4972e6
cmp word [edi], 0x71
je 0x494d9d
cmp word [ecx], 0x71
jne 0x4972e6
jmp 0x494d9d
test eax, eax
jne 0x495355
movzx edx, word [edi + 2]
lea eax, [edi + edx*2]
mov dword [ebx + 0xb0], esi
cmp word [eax], 0x71
mov dword [esp + 0x158], eax
jne case.0x48f5ee.151
mov edx, dword [esp + 0x14]
jmp 0x494cc0
movzx eax, word [ecx]
cmp eax, 0x75
je 0x495564
cmp eax, 0x74
jne 0x494e36
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x15c]
inc ecx
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push ebx
push esi
push eax
add ecx, 4
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
movzx eax, word [edi]
cmp eax, 0x7b
je 0x495580
mov edx, 0x82
cmp ax, dx
jae 0x4955a1
mov dword [esp + 0x158], edi
jmp 0x494ea3
mov eax, 0x82
cmp word [edi], ax
jb 0x494e4e
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x15c]
inc ecx
push ecx
push edx
push ebx
push esi
push eax
push edi
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x494e89
cmp dword [ebx + 0xb8], edi
jmp 0x494e8b
test eax, eax
jne 0x4972e6
cmp word [edi], 0x7b
je 0x4955db
add dword [esp + 0x158], 4
mov ecx, dword [ebx]
cmp ecx, dword [ebx + 4]
jb 0x48f583
inc dword [ebx]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x158]
mov esi, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
lea ebx, [eax + 4]
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb0], ecx
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x164]
push esi
push ecx
movzx ecx, word [eax]
push edx
movzx edx, byte [ecx + 0x4bc8e0]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.0048f500
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x494f43
cmp edi, 0xfffffc19
jne 0x494f63
cmp dword [esi + 0xb0], 0
jne 0x494f63
mov dword [esi + 0xb0], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edi, 0xfffffc1f
jne 0x4954c9
mov eax, dword [esi + 0x80]
mov ecx, ebx
call fcn.00498740
test eax, eax
jne 0x4954c9
mov dword [esi + 0x80], ebp
lea eax, [edi - 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x164]
push edx
movzx edx, word [esi]
push eax
movzx eax, byte [edx + 0x4bc8e0]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x49500c
cmp eax, 0xfffffc1d
je 0x49500c
cmp eax, 0xfffffc1e
je 0x49500c
cmp eax, 0xfffffc1f
je 0x49500c
cmp eax, 0xfffffc20
jne 0x4972e6
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
movzx ecx, word [esi]
push edx
movzx edx, byte [ecx + 0x4bc8e0]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x49506f
cmp eax, 0xfffffc20
jne 0x4972e6
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x158]
mov ebx, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
lea esi, [eax + 4]
mov dword [ebx + 0xb4], esi
mov dword [ebx + 0xb0], ecx
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x164]
push ebx
push ecx
movzx ecx, word [eax]
push edx
movzx edx, byte [ecx + 0x4bc8e0]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 1
je 0x4950ef
cmp eax, 0xfffffc19
jne 0x49505c
cmp dword [ebx + 0xb0], 0
jne 0x49505c
mov dword [ebx + 0xb0], esi
jmp 0x49505c
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
movzx ecx, word [esi]
push edi
push edx
movzx edx, byte [ecx + 0x4bc8e0]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x495165
cmp eax, 0xfffffc1d
je 0x495165
cmp eax, 0xfffffc20
jne 0x4972e6
mov dword [edi + 0x80], ebp
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x160]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
movzx edx, word [esi]
push ebx
push eax
movzx eax, byte [edx + 0x4bc8e0]
push ecx
movzx ecx, word [esi + 2]
add eax, ecx
lea edx, [esi + eax*2]
push edx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4951d8
cmp eax, 0xfffffc1d
je 0x4951d8
cmp eax, 0xfffffc20
jne 0x4972e6
add esi, 4
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
movzx ecx, word [esi]
push edi
push edx
movzx edx, byte [ecx + 0x4bc8e0]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov dword [edi + 0x80], esi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edi, dword [esp + 0x158]
mov esi, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x160]
lea ebx, [edi + 4]
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb0], ecx
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
movzx edx, word [edi]
push esi
push eax
movzx eax, byte [edx + 0x4bc8e0]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push ebp
call fcn.0048f500
add esp, 0x1c
cmp eax, 1
je 0x4952bf
cmp eax, 0xfffffc19
jne 0x4952d2
cmp dword [esi + 0xb0], 0
jne 0x4952d2
mov dword [esi + 0xb0], ebx
test eax, eax
jne 0x4972e6
mov dword [esi + 0x80], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test eax, eax
jne 0x4972e6
mov edx, dword [esp + 0x20]
mov dword [ebx + 0x94], edx
movzx ecx, word [edi + 2]
mov edx, dword [esp + 0x24]
lea ecx, [edi + ecx*2]
mov dword [ebx + 0xb0], edx
cmp word [ecx], 0x71
mov dword [esp + 0x158], ecx
je 0x494c13
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x34]
mov dword [ecx + esi*4], edx
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [ecx + esi*4 + 4], edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x28]
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x30]
mov dword [edx + ecx*4], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, 0xfffffc1c
jne 0x4972e6
movzx edx, word [edi]
mov ecx, edi
cmp edx, 0x7b
je 0x495397
cmp edx, 0x71
jne 0x49538e
jmp 0x495380
movzx edx, word [ecx + 2]
cmp word [ecx + edx*2], 0x71
lea ecx, [ecx + edx*2]
je 0x495380
movzx edx, word [ecx + 2]
neg edx
lea ecx, [ecx + edx*2]
cmp dword [ebx + 0xb8], ecx
jne 0x4972e6
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x168]
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x164]
push ebx
push ecx
push edx
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x15c]
cmp ebp, ecx
jne 0x495455
cmp edx, 0x99
je 0x495455
mov eax, dword [esp + 0x164]
cmp dword [eax + 0xa8], 0
jne 0x49545c
cmp dword [eax + 0x5c], 0
jne 0x495448
cmp dword [eax + 0x60], 0
je 0x49545c
mov esi, dword [eax + 0x98]
mov edi, dword [eax + 0x78]
lea esi, [edi + esi*2]
cmp ecx, esi
jne 0x49545c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
mov dword [eax + 0x84], ebp
mov dword [eax + 0x90], esi
mov dword [eax + 0x80], ecx
mov eax, edx
neg eax
sbb eax, eax
and eax, 0xfffffc18
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x4954c9
push eax
call dword [0x4d445c]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x40]
mov dword [ebx + 0xa8], edx
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x4954fd
push eax
call dword [0x4d445c]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov dword [eax + 0x84], ebp
mov dword [eax + 0x90], edx
mov dword [eax + 0x80], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x15c]
mov dword [ebx + 0x84], ebp
mov dword [ebx + 0x80], edx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [ebx + 0x84], ebp
mov dword [ebx + 0x90], esi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x15c]
inc eax
push eax
push ecx
push ebx
push esi
push edx
push edi
jmp 0x49562c
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x15c]
mov dword [ebx + 0x9c], 2
mov eax, dword [esp + 0x16c]
inc eax
push eax
push ecx
push ebx
push esi
push edx
push edi
push ebp
call fcn.0048f500
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x15c]
inc eax
push eax
mov eax, dword [esp + 0x15c]
push ecx
push ebx
push esi
push edx
add eax, 4
push eax
jmp 0x49562c
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x15c]
inc ecx
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push ebx
push esi
push eax
add ecx, 4
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ebx + 0x8c], ecx
je case.0x48f5ee.151
cmp ebp, dword [ebx + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jle case.0x48f5ee.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [eax + 0x8c], ecx
je case.0x48f5ee.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f5ee.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x48f5ee.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jle case.0x48f5ee.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [edx + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jle case.0x48f5ee.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [eax + 0x7c]
jb case.0x48f5ee.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f5ee.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x48f5ee.151
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edi + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [edi + 0x7c]
jb case.0x48f5ee.151
cmp ebp, dword [edi + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jle case.0x48f5ee.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [esp + 0x1c], ebp
cmp edi, eax
jge 0x495874
mov edi, dword [esp + 0x164]
lea esp, [esp]
mov eax, dword [esp + 0x18]
push eax
push esi
mov edx, edi
mov eax, ebx
mov ecx, ebp
call fcn.0048f350
add esp, 8
test eax, eax
js 0x495834
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x495800
jmp 0x49586a
cmp dword [edi + 0x8c], 0
je 0x49586a
cmp ebp, dword [edi + 0x7c]
jb 0x49586a
cmp ebp, dword [edi + 0x88]
jbe 0x49586a
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jg 0x49567f
cmp ebp, dword [esp + 0x1c]
jb 0x4958c4
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x160]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
push edi
push ecx
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov edx, ebx
neg edx
lea ebp, [ebp + edx*2]
cmp ebp, dword [esp + 0x1c]
jae 0x495882
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [esi + 0x7c]
jb case.0x48f5ee.151
cmp ebp, dword [esi + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jle case.0x48f5ee.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f5ee.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jle case.0x48f5ee.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x24]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x48f5ee.151
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
push eax
push ebx
push ecx
push edx
push ebp
inc esi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4917b7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [esp + 0x1c], ebp
mov edx, esi
cmp esi, edi
jge 0x495aa5
mov eax, dword [esp + 0x164]
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x18], ecx
jmp 0x4959f7
mov eax, dword [esp + 0x164]
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x495a7d
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x495a3c
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov esi, 2
cmp eax, 0xff
jbe 0x495a4d
cmp dword [esp + 0x14], 0x6a
jmp 0x495a65
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x24]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x495aa5
inc edx
lea ebp, [ebp + esi*2]
cmp edx, edi
jl 0x4959f0
jmp 0x495aa5
cmp dword [eax + 0x8c], 0
je 0x495aa5
cmp ebp, dword [eax + 0x88]
jbe 0x495aa5
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x49567f
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
mov edi, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
inc ecx
push ecx
push ebx
push edx
push esi
push edi
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48f5ee.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x495b0f
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x158]
inc edx
push edx
push ebx
push eax
push esi
push edi
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x495ae7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f5ee.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jmp 0x4956b5
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
cmp esi, edi
jge 0x495c35
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x18], eax
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x495c06
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x495bd9
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov esi, 2
push 1
push eax
mov eax, dword [esp + 0x2c]
call fcn.004989f0
add esp, 8
test eax, eax
je 0x495c35
mov eax, dword [esp + 0x28]
inc eax
lea ebp, [ebp + esi*2]
mov dword [esp + 0x28], eax
cmp eax, edi
jl 0x495b94
jmp 0x495c35
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x495c35
cmp ebp, dword [eax + 0x88]
jbe 0x495c35
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x49567f
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
mov edi, dword [esp + 0x15c]
inc eax
push eax
push ecx
push edx
push esi
push edi
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x1c]
je case.0x48f5ee.151
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x495c98
sub ebp, 2
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
push edx
push eax
push esi
push edi
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x495c70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x48f5ee.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48f5ee.151
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x8c], 1
jmp 0x4956b5
cmp dword [edi + 0x8c], ecx
je case.0x48f5ee.151
cmp ebp, dword [edi + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jmp 0x4956b5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [eax + 0x7c]
jb case.0x48f5ee.151
jmp 0x49569b
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
push edx
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp edi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
mov eax, dword [esp + 0x24]
add eax, eax
mov edx, edi
sub edx, eax
cmp ebp, edx
ja 0x495e2d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x495de8
jmp 0x495dd0
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x495e2d
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x495dd0
test eax, eax
je 0x495e20
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x495e2d
cmp eax, 1
jbe 0x495e20
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x495e2d
cmp eax, 2
jbe 0x495e20
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x495e2d
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x495eb2
cmp dword [esp + 0x18], 0
jle 0x495f08
mov edx, dword [esp + 0x18]
add edx, edx
sub edi, edx
cmp ebp, edi
ja 0x495f08
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x495e78
lea ecx, [ecx]
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x495f08
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x495e60
test eax, eax
je 0x495eb0
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x495f08
cmp eax, 1
jbe 0x495eb0
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x495f08
cmp eax, 2
jbe 0x495eb0
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
jne 0x495f08
add ebp, edx
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x28]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x164]
push edx
push eax
push ecx
inc edi
push ebp
mov dword [esp + 0x44], edi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x495d90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x48f5ee.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x4956b5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f5ee.151
mov ecx, dword [esp + 0x164]
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x4956b5
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
mov eax, dword [esp + 0x160]
push ecx
mov ebx, edi
mov edi, dword [esp + 0x16c]
push edi
push edx
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp ebx, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
cmp esi, eax
je 0x495fee
cmp dword [esp + 0x28], eax
jne case.0x48f5ee.151
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
push eax
push edi
push ecx
push edx
add ebp, 2
push ebp
inc ebx
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x495fc2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [edx + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jmp 0x4956b5
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov ebx, edi
mov edi, dword [esp + 0x16c]
push edi
push eax
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp ebx, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx edx, word [ebp]
add ebp, 2
cmp esi, edx
jne case.0x48f5ee.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
mov ecx, dword [esp + 0x160]
push edx
push edi
push eax
push ecx
push ebp
inc ebx
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4960a4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ebx, dword [esp + 0x160]
mov edi, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
mov esi, ecx
mov ecx, dword [esp + 0x16c]
push ecx
push ebx
push edx
push edi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp esi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x4961a5
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp dword [esp + 0x24], eax
je case.0x48f5ee.151
cmp dword [esp + 0x28], eax
je case.0x48f5ee.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x496154
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ebx, dword [esp + 0x160]
mov edi, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
mov esi, ecx
mov ecx, dword [esp + 0x16c]
push ecx
push ebx
push edx
push edi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
lea ecx, [ecx]
cmp esi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496291
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp dword [esp + 0x24], eax
je case.0x48f5ee.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x496240
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [esi + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x4956b5
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48f5ee.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x4956b5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
jmp 0x495695
cmp dword [esi + 0x8c], 0
je case.0x48f5ee.151
cmp ebp, dword [esi + 0x88]
jbe case.0x48f5ee.151
mov dword [esi + 0x64], 1
cmp dword [esi + 0x8c], 1
jmp 0x4956b5
test eax, eax
js 0x496d55
cmp eax, 8
ja case.default.0x4911cb
jmp dword [eax*4 + 0x4975f4]
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
mov esi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push edx
push edi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp esi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x496405
add ebp, 2
cmp dword [esp + 0x2c], 0
jne case.0x48f5ee.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4963d5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ecx
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp edi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4964e1
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4be208]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4c0408]
movzx eax, byte [edx*8 + 0x4bd129]
cmp eax, 9
je 0x49651c
cmp eax, 5
je 0x49651c
cmp eax, 8
je 0x49651c
xor eax, eax
jmp 0x496521
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f5ee.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push esi
push ebp
inc edi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x496490
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
mov esi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ecx
push edi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
nop
cmp esi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x496601
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4be208]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4c0408]
movzx eax, byte [edx*8 + 0x4bd129]
mov edx, dword [esp + 0x38]
xor ecx, ecx
cmp dword [eax*4 + 0x4bc980], edx
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x48f5ee.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4965b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
mov esi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ecx
push edi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp esi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x496714
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4be208]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4c0408]
movzx eax, byte [edx*8 + 0x4bd129]
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x48f5ee.151
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push ebx
push edx
push edi
push ebp
inc esi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4966c3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov edi, dword [esp + 0x158]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
mov esi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push eax
push edi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
nop
cmp esi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496821
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4be208]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4c0408]
movzx ecx, byte [eax*8 + 0x4bd128]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je case.0x48f5ee.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4967d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ecx
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
lea esp, [esp]
cmp edi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x496931
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4be208]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4c0408]
movzx eax, byte [edx*8 + 0x4bd129]
mov eax, dword [eax*4 + 0x4bc980]
cmp eax, 1
je 0x49696a
cmp eax, 3
je 0x49696a
xor eax, eax
jmp 0x49696f
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f5ee.151
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
push ebx
push ecx
push esi
push ebp
inc edi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x4968e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push esi
push edx
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
lea ecx, [ecx]
cmp edi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496a51
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4be208]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4c0408]
movzx ecx, byte [edx*8 + 0x4bd129]
cmp dword [ecx*4 + 0x4bc980], 6
je 0x496aa1
cmp eax, 9
je 0x496aa1
cmp eax, 0xa
je 0x496aa1
cmp eax, 0xc
je 0x496aa1
cmp eax, 0xd
je 0x496aa1
xor eax, eax
jmp 0x496aa6
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f5ee.151
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push esi
push edx
push ebx
push ebp
inc edi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x496a00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push esi
push eax
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp edi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496b85
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4be208]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4c0408]
movzx ecx, byte [edx*8 + 0x4bd129]
cmp dword [ecx*4 + 0x4bc980], 6
je 0x496bde
cmp eax, 9
je 0x496bde
cmp eax, 0xa
je 0x496bde
cmp eax, 0xb
je 0x496bde
cmp eax, 0xc
je 0x496bde
cmp eax, 0xd
je 0x496bde
xor eax, eax
jmp 0x496be3
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f5ee.151
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push esi
push edx
push ebx
push ebp
inc edi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x496b34
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x158]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push eax
push esi
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp edi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x496341
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496cc2
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4be208]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4c0408]
movzx ecx, byte [edx*8 + 0x4bd129]
mov ecx, dword [ecx*4 + 0x4bc980]
cmp ecx, 1
je 0x496d06
cmp ecx, 3
je 0x496d06
cmp eax, 0x5f
je 0x496d06
xor eax, eax
jmp 0x496d0b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f5ee.151
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push ebx
push edx
push esi
push ebp
inc edi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x496c71
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
inc eax
cmp dword [esp + 0x18], 0x16
push eax
mov edi, ebx
push ecx
jne 0x496ee9
mov edx, dword [esp + 0x16c]
mov esi, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
push edx
push esi
push eax
push ecx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
mov eax, dword [esp + 0x164]
cmp edi, dword [esp + 0x14]
jge case.0x48f5ee.151
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x496341
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496df7
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4be208]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0408]
movzx ecx, byte [eax*8 + 0x4bd129]
cmp dword [ecx*4 + 0x4bc980], 2
je case.0x48f5ee.151
cmp ebp, edx
jae 0x496ea2
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x496e6c
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4be208]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0408]
movzx eax, byte [eax*8 + 0x4bd129]
cmp dword [eax*4 + 0x4bc980], 2
jne 0x496ea2
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x496e31
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
push eax
push esi
push ecx
push edx
push ebp
inc edi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x496da4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov esi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
push esi
push ebx
push edx
push eax
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
jne 0x4972e6
cmp edi, dword [esp + 0x14]
jge case.0x48f5ee.151
cmp ebp, dword [esi + 0x7c]
jae 0x4962db
cmp dword [esp + 0x18], 0xc
jne 0x496fa1
mov eax, dword [esi + 0x18]
test eax, eax
je 0x496f71
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.004987f0
add esp, 8
test eax, eax
jne case.0x48f5ee.151
mov esi, dword [esp + 0x164]
jmp 0x496fa1
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x7c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x496fa1
mov cx, word [ebp]
cmp cx, word [esi + 0x2c]
jne 0x496fa1
cmp eax, 1
je case.0x48f5ee.151
mov dx, word [ebp + 2]
cmp dx, word [esi + 0x2e]
je case.0x48f5ee.151
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496fd8
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x4911cb
jmp dword [ecx*4 + 0x497618]
cmp eax, 0xd
ja 0x49702d
je 0x497011
cmp eax, 0xa
je case.0x496fe8.12
jbe case.0x48f5ee.151
cmp eax, 0xc
jmp 0x497044
cmp ebp, dword [esi + 0x7c]
jae case.0x496fe8.12
cmp word [ebp], 0xa
jne case.0x496fe8.12
add ebp, 2
jmp case.0x496fe8.12
cmp eax, 0x85
je 0x49704a
cmp eax, 0x2027
jbe case.0x48f5ee.151
cmp eax, 0x2029
ja case.0x48f5ee.151
cmp dword [esi + 0x68], 0
jne case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x180e
ja 0x497092
je case.0x48f5ee.151
cmp eax, 0xa0
ja 0x497088
je case.0x48f5ee.151
cmp eax, 9
je case.0x48f5ee.151
cmp eax, 0x20
jmp 0x497263
cmp eax, 0x1680
jmp 0x497263
cmp eax, 0x205f
ja 0x4970bf
je case.0x48f5ee.151
cmp eax, 0x2000
jb case.0x496fe8.12
cmp eax, 0x200a
jbe case.0x48f5ee.151
cmp eax, 0x202f
jmp 0x497263
cmp eax, 0x3000
jmp 0x497263
cmp eax, 0x180e
ja 0x49710e
je case.0x496fe8.12
cmp eax, 0xa0
ja 0x4970fe
je case.0x496fe8.12
cmp eax, 9
je case.0x496fe8.12
cmp eax, 0x20
jne case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x1680
jne case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x205f
ja 0x497141
je case.0x496fe8.12
cmp eax, 0x2000
jb case.0x48f5ee.151
cmp eax, 0x200a
jbe case.0x496fe8.12
cmp eax, 0x202f
jne case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x3000
jne case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x85
ja 0x497175
je case.0x48f5ee.151
cmp eax, 0xa
jb case.0x496fe8.12
cmp eax, 0xd
jbe case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x2028
jb case.0x496fe8.12
cmp eax, 0x2029
jbe case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x85
ja 0x4971b4
je case.0x496fe8.12
cmp eax, 0xa
jb case.0x48f5ee.151
cmp eax, 0xd
ja case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x2028
jb case.0x48f5ee.151
cmp eax, 0x2029
ja case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x100
jae case.0x496fe8.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 4
jne case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x100
jae case.0x48f5ee.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 4
jmp 0x497263
cmp eax, 0x100
jae case.0x496fe8.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 1
jne case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x100
jae case.0x48f5ee.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 1
jmp 0x497263
cmp eax, 0x100
jae case.0x496fe8.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x48f5ee.151
jmp case.0x496fe8.12
cmp eax, 0x100
jae case.0x48f5ee.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 0x10
je case.0x48f5ee.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x15c]
inc eax
push eax
mov eax, dword [esp + 0x15c]
push ecx
push esi
push ebx
push edx
push eax
push ebp
inc edi
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x496f1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
push ecx
push edx
push edi
push esi
push ebx
push ebp
call fcn.0048f500
add esp, 0x1c
test eax, eax
je 0x494056
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret