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

Disassembly:
sub esp, 0x158
push ebx
push ebp
push esi
mov esi, edx
mov ebx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ebx
push edi
test esi, esi
jne 0x49211e
cmp dword [esp + 0x17c], edx
jne 0x492103
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.004920c0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea eax, [esp + 0x17c]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x40], 0
mov dword [esp + 0x34], 0
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jae 0x4974bb
mov dword [esp + 0x4c], 0xfc00
mov dword [esp + 0x50], 0xdc00
mov dword [esp + 0x54], connect
mov dword [esp + 0x48], 0xd800
inc eax
mov dword [ebp], eax
mov eax, dword [esp + 0x17c]
cmp eax, dword [ebp + 8]
jae 0x499880
cmp dword [ebp + 0x9c], 2
jne 0x4921a2
mov eax, dword [esp + 0x178]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x178], eax
mov dword [ebp + 0x9c], 0
mov edi, dword [esp + 0x170]
jmp 0x4921c2
mov edi, dword [esp + 0x170]
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
movzx ecx, word [esi]
mov edx, ecx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], edx
cmp edx, 0x9b
ja case.0x4921ee.98
movzx eax, byte [edx + 0x4999d8]
jmp dword [eax*4 + 0x499890]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4bfe48]
je 0x497570
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov edx, dword [esp + 0x174]
mov ebp, esi
mov edi, ebx
mov esi, dword [edx + 0xb0]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
mov edx, dword [esp + 0x20]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [edx + 4]
call fcn.004920c0
mov edx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 1
je 0x49232f
cmp eax, 0xfffffc20
jne 0x49229a
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
jae 0x49229a
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x4922a2
cmp word [ecx], 0x71
mov eax, 0xfffffc20
je 0x4922a2
test eax, eax
jne 0x4974c4
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [edx + 0xb0], esi
lea ecx, [ecx + eax*2]
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x492226
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x4922e0
cmp eax, 0x71
jne case.default.0x493afc
nop word [eax + eax]
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x71
je 0x4922e0
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x1c], ebx
cmp ecx, 0x72
je 0x492315
cmp ebx, edi
jne 0x497233
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
jmp 0x4921c2
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
mov dword [esp + 0x16c], eax
movzx ecx, word [esi]
jmp 0x4922c9
xor ebp, ebp
mov dword [esp + 0x38], ebp
jmp 0x492e88
cmp word [esi + 4], 0x70
movzx ebp, word [esi + 2]
jne 0x49245b
movzx edi, word [esi + 6]
mov esi, dword [0x4e9e34]
add edi, edi
test esi, esi
je 0x49244e
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
mov dword [esp + 0xb8], 2
movzx eax, word [edi + eax + 8]
mov dword [esp + 0xbc], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0xc0], eax
mov ecx, dword [edx + 0x78]
mov dword [esp + 0xc4], ecx
mov eax, dword [edx + 0x7c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x16c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0xcc], eax
mov eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x14]
sar eax, 1
mov dword [esp + 0xd0], eax
movzx eax, word [edi + ecx + 0xa]
mov dword [esp + 0xe0], eax
movzx eax, word [edi + ecx + 0xe]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xd4], eax
mov eax, dword [ecx + 0x94]
mov dword [esp + 0xd8], eax
mov eax, dword [ecx + 0xac]
mov dword [esp + 0xdc], eax
mov eax, dword [ecx + 0xb4]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xb8]
push eax
call esi
add esp, 4
test eax, eax
jg case.default.0x493afc
js 0x4974c4
mov esi, dword [esp + 0x14]
add esi, 0xc
add esi, edi
mov dword [esp + 0x14], esi
movzx ecx, word [esi + 4]
lea edx, [esi + 4]
cmp ecx, 0x89
je 0x49267f
cmp ecx, 0x8a
je 0x49267f
cmp ecx, 0x87
je 0x4924f3
cmp ecx, 0x88
je 0x4924f3
cmp ecx, 0x8b
jne 0x49249e
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492818
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x9c], 1
mov eax, dword [esp + 0x17c]
inc eax
push eax
push 0
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
cmp eax, 1
je 0x4972c8
test eax, eax
je 0x4924eb
cmp eax, 0xfffffc20
jne 0x4974c4
lea eax, [esi + ebp*2]
jmp 0x492818
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x492517
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + edx*4], 0
jge 0x492655
xor edi, edi
cmp ecx, 0x88
jne 0x49266b
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
mov eax, dword [ecx + 0x28]
mov ebp, eax
mov edx, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x3c], eax
test edx, edx
jle 0x492582
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
nop
movzx eax, word [ebp]
cmp eax, esi
je 0x492576
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea ebp, [edi + eax*2]
lea eax, [ebx + 1]
mov edi, ebp
mov dword [esp + 0x30], eax
mov ecx, eax
mov ebx, eax
cmp eax, edx
jl 0x492550
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
cmp ecx, edx
jge 0x49266b
cmp ebp, eax
mov esi, ebp
mov eax, dword [esp + 0x174]
jbe 0x4925e9
mov eax, dword [eax + 0x24]
lea ecx, [ebp + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.0049b450
test eax, eax
jne 0x492648
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4925d5
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492655
mov eax, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp esi, dword [eax + 0x28]
ja 0x492597
xor edi, edi
mov esi, dword [esp + 0x30]
inc esi
cmp esi, dword [eax + 0x20]
jge 0x49266b
lea ecx, [ebp + 2]
mov dword [esp + 0x30], ecx
nop word [eax + eax]
mov eax, dword [eax + 0x24]
lea ebp, [ebp + eax*2]
lea edx, [ebp + 2]
call fcn.0049b450
test eax, eax
jne 0x49266b
movzx eax, word [ebp]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492633
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492655
mov eax, dword [esp + 0x174]
inc esi
xor edi, edi
cmp esi, dword [eax + 0x20]
jge 0x49266b
mov ecx, dword [esp + 0x30]
jmp 0x492600
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x174]
jmp 0x4925e9
mov ecx, dword [esp + 0x14]
mov eax, 2
mov edi, 1
lea eax, [ecx + eax*2]
jmp 0x49280e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x49280e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x49269c
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x49281f
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x492801
cmp edx, dword [eax + 4]
je 0x492801
xor edi, edi
cmp ecx, 0x8a
jne 0x4927fb
mov ecx, dword [esp + 0x174]
mov eax, dword [ebp + 0x28]
mov ebp, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], eax
mov esi, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], edi
test esi, esi
jle 0x492726
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
movzx eax, word [ebp]
cmp eax, edx
je 0x492716
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea ebp, [edi + eax*2]
lea eax, [ebx + 1]
mov edi, ebp
mov dword [esp + 0x38], eax
mov ecx, eax
mov ebx, eax
cmp eax, esi
jl 0x4926f0
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], ebp
cmp ecx, esi
jge 0x4927f7
cmp ebp, eax
jbe 0x492783
mov ebx, dword [esp + 0x2c]
lea edi, [ebp + 2]
mov esi, ebp
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x24]
mov ecx, edi
add eax, eax
sub esi, eax
lea edx, [esi + 2]
call fcn.0049b450
test eax, eax
jne 0x49276f
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x49276f
cmp esi, dword [ebp + 0x28]
ja 0x492742
mov ebp, dword [esp + 0x30]
test ebx, ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
jne 0x4927e9
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x38]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x4927f7
mov ebx, dword [esp + 0x2c]
lea edi, [ebp + 2]
nop dword [eax + eax]
mov eax, dword [edx + 0x24]
mov ecx, edi
lea edx, [eax*2]
add edx, ebp
mov ebp, edx
add edx, 2
call fcn.0049b450
test eax, eax
jne 0x4927dd
mov edx, dword [esp + 0x174]
xor ebx, ebx
movzx ecx, word [ebp]
mov eax, dword [edx + 0xa8]
cmp ecx, dword [eax + 4]
sete bl
je 0x4927dd
inc esi
cmp esi, dword [edx + 0x20]
jl 0x4927a0
mov dword [esp + 0x2c], ebx
test ebx, ebx
mov ebx, dword [esp + 0x1c]
je 0x4927f3
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
jmp 0x492806
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x49280b
mov edi, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test edi, edi
jne 0x497312
mov ebp, dword [esp + 0x174]
mov ecx, eax
cmp word [ecx], 0x71
je 0x497319
mov edi, dword [esp + 0x170]
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x4921c2
movzx edx, word [esi + 2]
mov dword [ebp + 0x94], edx
lea esi, [edx + edx]
cmp esi, dword [ebp + 0x14]
jl 0x492867
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*8], eax
mov ecx, ebx
sub ecx, dword [ebp + 0x78]
mov eax, dword [ebp + 0xc]
sar ecx, 1
mov dword [eax + edx*8 + 4], ecx
cmp edi, esi
jg 0x492891
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4928c1
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4928c3
xor edi, edi
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push 0
push ebp
push dword [esp + 0x17c]
lea edx, [edx + 4]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
cmp eax, 1
je 0x49292e
cmp eax, 0xfffffc19
je 0x49292e
test eax, eax
je 0x492909
cmp eax, 0xfffffc20
jne 0x4974c4
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [ebp + 0xb0], esi
lea ecx, [ecx + eax*2]
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x4928c3
mov esi, dword [esp + 0x14]
jmp 0x492942
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x16c], eax
movzx eax, word [esi]
cmp ax, 0x72
je case.default.0x493afc
test edi, edi
jne 0x49774d
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492954
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x4921c2
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x49299b
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x49299d
xor edi, edi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
lea edx, [ecx + 4]
inc eax
mov ecx, ebx
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x493afc
cmp eax, 0xfffffc19
je case.default.0x493afc
cmp eax, 0xfffffc1e
je 0x492a20
cmp eax, 0xfffffc1d
je 0x492a20
cmp eax, 0xfffffc1a
je 0x492a20
test eax, eax
je 0x492a06
cmp eax, 0xfffffc20
jne 0x4974c4
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
je 0x4929a1
mov esi, ecx
jmp 0x492a32
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492a24
test edi, edi
jne 0x49774d
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4921c2
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x492a82
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x1c], ebx
cmp ebx, edx
jb case.default.0x493afc
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x492a7e
add ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
test ecx, ecx
jg 0x492a58
cmp ebx, dword [ebp + 0x88]
jae 0x492a90
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4921c2
movzx edi, word [esi + 2]
mov esi, dword [0x4e9e34]
test esi, esi
je 0x492b85
mov eax, dword [esp + 0x14]
mov dword [esp + 0x80], 2
movzx eax, word [eax + edi*2 + 6]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x88], eax
mov ecx, dword [ebp + 0x78]
mov dword [esp + 0x8c], ecx
mov eax, dword [ebp + 0x7c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x16c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x94], eax
mov eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x14]
sar eax, 1
mov dword [esp + 0x98], eax
movzx eax, word [ecx + edi*2 + 8]
mov dword [esp + 0xa8], eax
movzx eax, word [ecx + edi*2 + 0xa]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0xb4]
mov dword [esp + 0xb0], eax
lea eax, [ecx + 4]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x80]
push eax
call esi
add esp, 4
test eax, eax
jg case.default.0x493afc
js 0x4974c4
mov esi, dword [esp + 0x14]
lea esi, [esi + edi*2]
mov edi, dword [esp + 0x170]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x492bb1
xor ecx, ecx
jmp 0x492bb5
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x492bd5
cmp ecx, dword [eax + 4]
jne 0x492bcf
cmp ebx, dword [eax + 0x10]
je 0x4975cb
mov eax, dword [eax]
test eax, eax
jne 0x492bc1
lea eax, [esp + 0x58]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x68], ebx
add esi, 4
mov dword [esp + 0x58], edx
mov dword [ebp + 0xa8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x64], eax
cmp eax, 0x1e
jg 0x492c0b
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x492c29
shl eax, 2
push eax
call fcn.0049f3cd
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x497600
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call fcn.0049cef0
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
mov eax, 0x82
cmp bp, ax
jb 0x492c57
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [edi]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
movzx eax, byte [eax + 0x4bfe48]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.004920c0
mov ecx, dword [esp + 0x78]
add esp, 0x14
shl ecx, 2
mov esi, eax
mov eax, dword [esp + 0x174]
push ecx
push dword [esp + 0x64]
push dword [eax + 0xc]
call fcn.0049cef0
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x492d2e
cmp esi, 0xfffffc19
je 0x492d2e
test esi, esi
je 0x492cdf
cmp esi, 0xfffffc20
jne 0x4975db
lea eax, [esp + 0x58]
mov dword [ecx + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x492c43
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
lea ecx, [esp + 0xf0]
mov eax, dword [esp + 0x60]
cmp eax, ecx
je case.default.0x493afc
push eax
call fcn.0049f3b2
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x492d46
push eax
call fcn.0049f3b2
add esp, 4
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
mov ebx, dword [ebp + 0x84]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x16c], eax
jmp 0x4921be
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x4921ee.113
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov eax, dword [esp + 0x17c]
add esi, 2
inc eax
mov edx, esi
push eax
push dword [esp + 0x17c]
mov ecx, ebx
push ebp
push edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov ecx, esi
nop dword [eax]
movzx eax, word [esi + 2]
cmp word [ecx + eax*2], 0x71
lea esi, [ecx + eax*2]
mov ecx, esi
je 0x492dc0
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4921c2
add esi, 2
mov dword [esp + 0x14], esi
mov edx, esi
mov ecx, esi
nop word [eax + eax]
movzx eax, word [edx + 2]
cmp word [ecx + eax*2], 0x71
lea edx, [ecx + eax*2]
mov ecx, edx
je 0x492df0
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x4921c2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea eax, [esi + 2]
mov ecx, eax
nop
movzx eax, word [eax + 2]
cmp word [ecx + eax*2], 0x71
lea eax, [ecx + eax*2]
mov ecx, eax
je 0x492e40
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x4921c2
movzx edx, word [esi + 2]
add esi, 2
mov dword [esp + 0x14], esi
mov ebp, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x38], ebp
cmp edx, 0x80
je 0x492e88
cmp edx, 0x85
jne 0x493045
movzx edi, word [esi + 4]
mov esi, dword [esp + 0x174]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x14]
jge 0x49303f
mov ecx, dword [esi + 0xc]
xor edx, edx
mov ebp, dword [esp + 0x14]
sub ebp, dword [esi + 0x74]
sar ebp, 1
mov eax, dword [ecx + edi*8]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + edi*8 + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x10]
sub eax, edi
mov dword [esp + 0x30], edx
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov dword [esp + 0x28], eax
mov esi, dword [ecx + 0x94]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, edi
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x492f08
mov eax, dword [esp + 0x174]
mov dword [eax + 0x9c], 2
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [ecx]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4bfe48]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004920c0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x492f84
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x30], 1
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x1c], ebx
lea eax, [eax + ebp*2]
mov dword [esp + 0x14], eax
jmp 0x492ece
cmp eax, 0xfffffc20
jne 0x492fbc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x492fc0
cmp word [edx], 0x71
je 0x492fc8
cmp word [ecx], 0x71
je 0x492fc8
jmp 0x492fc0
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x4974c4
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x94], esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
je 0x492ed4
mov edx, dword [esp + 0x30]
mov ebp, ecx
test edx, edx
jne 0x493019
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
mov dword [eax + edi*8], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
mov dword [eax + edi*8 + 4], ecx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
sub ecx, edi
mov dword [eax + ecx*4], esi
cmp dword [esp + 0x38], 0
jne 0x493028
test edx, edx
je case.default.0x493afc
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov esi, dword [esp + 0x14]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
cmp edx, 0x82
jb 0x493065
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
mov ecx, dword [esp + 0x20]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x4bfe48]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004920c0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x4930dc
mov ecx, dword [esp + 0x174]
mov edi, 1
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x1c], ebx
lea eax, [eax + esi*2]
mov dword [esp + 0x14], eax
jmp 0x493053
cmp eax, 0xfffffc20
jne 0x493131
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x493135
cmp word [edx], 0x71
je 0x49313d
cmp word [ecx], 0x71
jne 0x493135
movzx eax, word [edx + 2]
mov ecx, dword [esp + 0x174]
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
jmp 0x493053
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x4974c4
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
je 0x493053
test edi, edi
jne 0x49316a
test ebp, ebp
je case.default.0x493afc
mov esi, dword [esp + 0x14]
mov ebp, ecx
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4921c2
movzx eax, word [esi + 2]
mov ebp, esi
add eax, eax
mov edx, 0x82
sub ebp, eax
movzx eax, word [ebp]
mov ecx, eax
cmp ax, dx
jae 0x4931ac
cmp ecx, 0x7b
je 0x4931ac
mov dword [esp + 0x30], 0
jmp 0x4931c5
mov edx, dword [esp + 0x178]
lea eax, [edx + 4]
mov edx, dword [edx]
mov eax, dword [eax]
mov dword [esp + 0x178], edx
mov dword [esp + 0x30], eax
cmp ecx, 0x77
jb 0x4931d3
cmp ecx, 0x7a
jbe 0x49772d
cmp ecx, 0x7c
je 0x49772d
cmp ecx, 0x7f
je 0x493203
mov eax, 0x84
cmp cx, ax
je 0x493203
mov eax, 0x80
cmp cx, ax
je 0x493203
mov eax, 0x85
cmp cx, ax
jne 0x4932e0
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x493224
cmp dword [eax + 4], edi
je 0x497610
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x493271
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x493253
cmp ebx, dword [esp + 0x30]
jne 0x49736f
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4976e3
mov ebp, dword [esp + 0x174]
jmp 0x4921c2
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x4932a6
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x49329f
mov eax, ecx
nop dword [eax + eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x493290
mov edx, dword [esp + 0x174]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
sub eax, edi
mov edi, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
mov ecx, ebx
sub ecx, dword [edx + 0x78]
mov eax, dword [edx + 0xc]
sar ecx, 1
mov dword [eax + esi*4 + 4], ecx
cmp edi, esi
jg 0x49323d
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x49323d
mov edx, dword [esp + 0x174]
jmp 0x493241
cmp dword [ebp + 0x44], 0
je case.0x4921ee.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x493afc
cmp ebx, dword [ebp + 0x78]
jne case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp dword [ebp + 0x44], 0
je 0x493324
cmp ebx, dword [ebp + 0x78]
je case.default.0x493afc
mov ecx, dword [ebp + 0x78]
jmp 0x49332f
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x493afc.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x493afc
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493375
cmp ebx, ecx
jbe 0x49335f
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b5a0
add esp, 0xc
test eax, eax
je 0x49335f
mov eax, 1
jmp 0x493361
xor eax, eax
test eax, eax
je case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x493afc
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493afc
cmp esi, 1
je 0x4933aa
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493afc
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493464
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493424
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b4e0
add esp, 0xc
test eax, eax
je case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493afc
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493afc
cmp edx, 1
je case.0x493afc.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp dword [ebp + 0x48], 0
jne case.default.0x493afc
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493afc.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493afc.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp dword [ebp + 0x48], 0
jne case.default.0x493afc
cmp dword [ebp + 0x58], 0
je case.0x4921ee.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x493afc
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493afc.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493afc.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493564
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x493520
push 1
push esi
push ecx
mov ecx, ebx
call fcn.0049b4e0
add esp, 0xc
test eax, eax
je case.default.0x493afc
jmp 0x49354f
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493afc
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493afc
cmp edx, 1
je 0x49354f
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493afc
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x493afc
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493afc.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493afc.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x78]
jne 0x4935ff
lea edi, [ebp + 0x88]
xor esi, esi
mov ecx, 0x54
mov eax, ebp
lea edx, [eax + ecx]
cmp ebx, dword [ebp + 0x7c]
jb 0x4936be
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4935dc
cmp ebx, dword [edi]
jbe 0x4935dc
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
xor ecx, ecx
lea edx, [ecx + 1]
mov edi, dword [esp + 0x14]
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x14], edi
cmp eax, 5
jne 0x49376d
xor esi, edx
jmp 0x49376f
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49361b
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
lea edi, [ebp + 0x88]
jae 0x49362b
mov dword [edi], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493656
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebp + 0x54], 0
je 0x49369b
cmp ecx, 0x5f
je 0x4936b4
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x4936b4
cmp eax, 3
je 0x4936b4
jmp 0x4935a9
cmp ecx, 0x100
jae 0x4935a9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4935a9
mov esi, 1
jmp 0x4935ab
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4936e9
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [edx], 0
je 0x493748
cmp ecx, 0x5f
jne 0x493703
mov ecx, 1
xor edx, edx
jmp 0x4935e1
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x49373c
cmp eax, 3
jne 0x4935dc
mov ecx, 1
xor edx, edx
jmp 0x4935e1
cmp ecx, 0x100
jae 0x4935dc
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4935dc
mov ecx, 1
xor edx, edx
jmp 0x4935e1
xor esi, ecx
test esi, esi
jne case.default.0x493afc
mov edi, dword [esp + 0x170]
jmp 0x4921be
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x4937b9
cmp ebx, ecx
jae 0x4937ad
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b4e0
add esp, 0xc
test eax, eax
je 0x4937ad
mov eax, 1
jmp 0x4937af
xor eax, eax
test eax, eax
jne case.default.0x493afc
jmp case.0x4921ee.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x4921ee.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x4921ee.13
cmp edx, 1
je case.default.0x493afc
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x493afc
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x49775d
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, eax
jae 0x493817
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x493817
add ebx, 2
mov dword [esp + 0x1c], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493880
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x100
jae case.0x493afc.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4938e6
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0xff
ja case.default.0x493afc
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49394c
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x100
jae case.0x493afc.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4939b2
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0xff
ja case.default.0x493afc
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493a18
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x100
jae case.0x493afc.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493a7e
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0xff
ja case.default.0x493afc
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493ae6
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x85
ja 0x493b28
je case.0x493afc.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493afc
jmp dword [ecx*4 + 0x499a74]
cmp ebx, edx
jae case.0x493afc.10
cmp word [ebx], 0xa
jne case.0x493afc.10
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x4921c2
sub ecx, 0x2028
je case.0x493afc.11
sub ecx, 1
jne case.default.0x493afc
cmp dword [ebp + 0x68], 0
jne case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493b90
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x2000
ja 0x493bee
je case.default.0x493afc
cmp ecx, 0xa0
ja 0x493bca
je case.default.0x493afc
cmp ecx, 9
je case.default.0x493afc
cmp ecx, 0x20
je case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ecx, 0x1680
je case.default.0x493afc
cmp ecx, 0x180e
je case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ecx, 0x3000
ja case.0x493c16.8203
je case.default.0x493afc
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x493c16.8203
movzx eax, byte [ecx + 0x499a8c]
jmp dword [eax*4 + 0x499a84]
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493c5e
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x2000
ja 0x493ca2
je case.0x493c16.8203
cmp ecx, 0xa0
ja 0x493c8b
je case.0x493c16.8203
cmp ecx, 9
je case.0x493c16.8203
cmp ecx, 0x20
jmp 0x4932fe
cmp ecx, 0x1680
je case.0x493c16.8203
cmp ecx, 0x180e
jmp 0x4932fe
cmp ecx, 0x3000
ja case.default.0x493afc
je case.0x493c16.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493afc
movzx eax, byte [ecx + 0x499af4]
jmp dword [eax*4 + 0x499aec]
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493d12
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x85
ja 0x493d33
je case.default.0x493afc
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x493c16.8203
jmp dword [ecx*4 + 0x499b54]
sub ecx, 0x2028
je case.default.0x493afc
sub ecx, 1
je case.default.0x493afc
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493d95
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x85
ja 0x493db6
je case.0x493c16.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493afc
jmp dword [ecx*4 + 0x499b64]
sub ecx, 0x2028
je case.0x493c16.8203
sub ecx, 1
jmp 0x4932fe
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493e0b
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x493e36
jmp dword [ecx*4 + 0x499b74]
cmp dword [esp + 0x20], 0xf
jmp 0x493f86
mov al, byte [eax*8 + 0x4cbbb1]
cmp al, 9
je 0x493f75
cmp al, 5
je 0x493f75
cmp al, 8
je 0x493f75
xor ecx, ecx
jmp 0x493f7a
movzx ecx, byte [eax*8 + 0x4cbbb1]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4bfdc8]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x493f86
movzx eax, byte [eax*8 + 0x4cbbb1]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x493f81
movzx eax, byte [eax*8 + 0x4cbbb0]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x493f81
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x493f75
cmp eax, 3
je 0x493f75
xor ecx, ecx
jmp 0x493f7a
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 6
je 0x493f75
cmp edx, 9
je 0x493f75
cmp edx, 0xa
je 0x493f75
cmp edx, 0xc
je 0x493f75
cmp edx, 0xd
je 0x493f75
xor ecx, ecx
jmp 0x493f7a
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 6
je 0x493f75
cmp edx, 9
je 0x493f75
cmp edx, 0xa
je 0x493f75
cmp edx, 0xb
jmp 0x493f1a
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x493f75
cmp eax, 3
je 0x493f75
cmp edx, 0x5f
je 0x493f75
xor ecx, ecx
jmp 0x493f7a
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x493afc
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x4921c2
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x49775d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493fdb
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 2
je case.default.0x493afc
cmp ebx, esi
jae 0x49408e
mov dword [esp + 0x1c], ebx
nop dword [eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494055
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 2
jne 0x49408a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x494020
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4921c2
movzx eax, word [esi + 2]
xor edx, edx
cmp dword [esp + 0x20], 0x6e
sete dl
add esi, 4
lea ecx, [eax + eax]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], esi
cmp ecx, edi
jge 0x4940d4
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x4940d4
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x4940de
mov ebp, dword [ebp + 0x50]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov eax, dword [esp + 0x14]
movzx eax, word [eax]
mov esi, eax
lea edi, [eax - 0x62]
cmp edi, 7
ja case.default.0x4940fa
movzx eax, byte [edi + 0x499ba0]
jmp dword [eax*4 + 0x499b98]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4bf640]
and eax, 1
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x4bf638]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x494159
mov dword [esp + 0x24], connect
jmp 0x494159
mov edi, dword [esp + 0x14]
xor eax, eax
cmp esi, 0x69
sete al
movzx esi, word [edi + 2]
mov dword [esp + 0x30], eax
movzx eax, word [edi + 4]
test eax, eax
cmove eax, dword [esp + 0x54]
add edi, 6
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x170]
test ebp, ebp
je 0x4921b7
jns 0x494172
test esi, esi
je 0x4921b7
cmp esi, 1
jl 0x4941af
mov edi, 1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00491f10
add esp, 0xc
test eax, eax
js 0x497b99
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc edi
mov dword [esp + 0x1c], ebx
cmp edi, esi
jle 0x494180
mov eax, dword [esp + 0x24]
cmp esi, eax
je 0x4921b0
cmp dword [esp + 0x30], 0
je 0x4977a0
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov edi, dword [esp + 0x38]
mov dword [esp + 0x48], esi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493afc
push dword [esp + 0x3c]
mov esi, dword [esp + 0x178]
mov edx, ebx
push esi
push ebp
mov ecx, edi
call fcn.00491f10
add esp, 0xc
test eax, eax
js 0x49778c
mov esi, dword [esp + 0x48]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
mov dword [esp + 0x48], esi
test eax, eax
je 0x494210
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x174]
push edx
push esi
push ebp
mov edx, ebx
call fcn.00491f10
add esp, 0xc
test eax, eax
js 0x49778c
mov edi, dword [esp + 0x170]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x1c], ebx
mov ebp, esi
jmp 0x4921be
movzx eax, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x44], ebp
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x4942e1
movzx eax, byte [ecx + 0x499bb0]
jmp dword [eax*4 + 0x499ba8]
movsx eax, byte [ecx + 0x4bf638]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf640]
and edx, 1
add esi, 2
mov dword [esp + 0x18], edx
test eax, eax
mov ecx, SysReAllocString
cmove eax, ecx
jmp 0x49432f
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, SysReAllocString
sete al
mov dword [esp + 0x18], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x14], esi
mov esi, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
cmp edi, esi
jl 0x4943de
jmp 0x49435d
mov edi, 1
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], edi
mov esi, edi
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497d7e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4943a5
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
cmp edx, 0xff
jbe 0x4943ba
cmp dword [esp + 0x20], 0x6a
je case.default.0x493afc
jmp 0x4943d9
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x493afc
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, edi
jle 0x494364
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4921b0
cmp dword [esp + 0x18], 0
je 0x4978c6
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493afc
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497d7e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49447c
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
cmp edx, 0xff
jbe 0x497864
cmp dword [esp + 0x20], 0x6a
je case.default.0x493afc
jmp 0x497883
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
mov dword [esp + 0x44], ebp
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x4944c2
movzx eax, byte [ecx + 0x499bc0]
jmp dword [eax*4 + 0x499bb8]
movsx eax, byte [ecx + 0x4bf638]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf640]
add esi, 2
and edx, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], eax
test eax, eax
jne 0x494522
mov dword [esp + 0x24], connect
jmp 0x494522
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, SysReAllocString
sete al
mov dword [esp + 0x18], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], esi
mov esi, 1
cmp edi, esi
jl 0x4945a1
jmp 0x494540
mov edi, 1
mov dword [esp + 0x24], 1
mov esi, edi
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497d7e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494588
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
push 1
mov edx, ebp
call fcn.0049b690
add esp, 4
test eax, eax
je case.default.0x493afc
inc esi
cmp esi, edi
jle 0x494540
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4921b0
cmp dword [esp + 0x18], 0
je 0x497a40
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493afc
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497d7e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49463f
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
push 1
mov edx, ebp
call fcn.0049b690
add esp, 4
test eax, eax
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x4945f5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ax, word [esi + 2]
add esi, 2
mov ecx, 0xfc00
mov dword [esp + 0x14], esi
and ax, cx
xor edx, edx
mov ecx, 0xd800
cmp ax, cx
mov ecx, dword [ebp + 0x7c]
mov eax, ecx
sete dl
sub eax, ebx
inc edx
sar eax, 1
cmp edx, eax
jg 0x497b7e
nop
mov eax, dword [esp + 0x14]
add esi, 2
dec edx
mov dword [esp + 0x14], esi
movzx ecx, word [eax]
mov ax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp cx, ax
jne case.default.0x493afc
test edx, edx
jg 0x4946d0
jmp 0x4921be
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
movzx edx, word [esi + 2]
lea ecx, [esi + 2]
mov eax, edx
lea esi, [ecx + 2]
and eax, 0xfc00
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x494740
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x494745
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x494785
mov edi, 0xff
mov ecx, eax
cmp ax, di
ja 0x494763
mov eax, dword [ebp + 0x34]
movzx ecx, byte [ecx + eax]
mov eax, dword [ebp + 0x34]
movzx eax, byte [edx + eax]
cmp eax, ecx
jne case.default.0x493afc
mov edi, dword [esp + 0x170]
add ebx, 2
mov dword [esp + 0x1c], ebx
jmp 0x4921c2
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
cmp eax, 0xd800
jne 0x4947ba
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
add ebx, 2
or esi, eax
mov dword [esp + 0x1c], ebx
add esi, 0x10000
lea eax, [ecx + edi]
mov edi, dword [esp + 0x170]
mov dword [esp + 0x14], eax
cmp edx, esi
je 0x4921be
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
mov eax, dword [eax*8 + 0x4cbbb4]
add eax, edx
cmp esi, eax
jne case.default.0x493afc
jmp 0x4921be
movzx ebp, word [esi + 2]
add esi, 4
mov edi, ebp
jmp 0x4948be
mov dword [esp + 0x2c], 1
movzx ebp, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebp
cmp ecx, 0x28
je 0x494836
mov dword [esp + 0x18], edi
cmp ecx, 0x35
jne 0x49483e
mov dword [esp + 0x18], 1
add esi, 4
jmp 0x4948c6
xor edi, edi
mov dword [esp + 0x2c], 1
mov ebp, SysReAllocString
add esi, 2
jmp 0x4948be
mov dword [esp + 0x2c], 1
mov edi, 1
mov ebp, SysReAllocString
add esi, 2
jmp 0x4948be
xor edi, edi
mov dword [esp + 0x2c], 1
add esi, 2
lea ebp, [edi + 1]
jmp 0x4948be
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
add esi, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x18], ecx
and dword [esp + 0x18], 1
movsx ebp, byte [eax + 0x4bf638]
movsx edi, byte [eax + 0x4bf640]
test ebp, ebp
mov eax, SysReAllocString
cmove ebp, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebp
mov ecx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], esi
movzx esi, word [esi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494cac
mov eax, ecx
and esi, 0x3ff
shl esi, 0xa
movzx edx, word [eax + 2]
lea eax, [ecx + 4]
and edx, 0x3ff
mov dword [esp + 0x14], eax
or edx, esi
mov esi, 2
add edx, 0x10000
mov dword [esp + 0x3c], esi
cmp dword [esp + 0x20], 0x2e
jb 0x494953
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
mov ecx, dword [eax*8 + 0x4cbbb4]
add ecx, edx
cmp ecx, edx
je 0x494953
lea edx, [esp + 0x74]
call fcn.0049b480
mov dword [esp + 0x38], eax
jmp 0x49495b
mov dword [esp + 0x38], 0
mov ebp, 1
cmp edi, ebp
jl 0x494a92
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x20], ecx
lea eax, [ecx - 4]
mov dword [esp + 0x44], eax
nop dword [eax]
cmp ebx, eax
ja 0x4949f4
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x4949b6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4949bb
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4949a5
cmp esi, 0xfffffffc
je 0x4949e8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4949f0
cmp esi, 0xfffffffd
je 0x4949e8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4949f0
cmp esi, 0xfffffffe
je 0x4949e8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4949f0
cmp esi, 0xffffffff
je 0x4949e8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4949f0
add ebx, 4
jmp 0x494a79
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
test edx, edx
jle 0x497b99
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x497b99
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494a31
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494a36
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494a20
cmp esi, 0xfffffffc
je 0x494a73
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497b99
cmp esi, 0xfffffffd
je 0x494a73
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497b99
cmp esi, 0xfffffffe
je 0x494a73
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497b99
cmp esi, 0xffffffff
je 0x494a73
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497b99
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
inc ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jle 0x494990
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4921b0
cmp dword [esp + 0x18], 0
jne 0x497bcf
mov ebp, ebx
mov dword [esp + 0x18], ebp
cmp edi, eax
jge 0x494bce
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x20], eax
lea ebp, [eax - 4]
cmp ebx, ebp
ja 0x494b2f
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494af1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494af6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494ae0
cmp esi, 0xfffffffc
je 0x494b23
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494b2b
cmp esi, 0xfffffffd
je 0x494b23
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494b2b
cmp esi, 0xfffffffe
je 0x494b23
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494b2b
cmp esi, 0xffffffff
je 0x494b23
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494b2b
add ebx, 4
jmp 0x494baf
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x494c75
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x494c75
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494b67
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494b6c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494b56
cmp esi, 0xfffffffc
je 0x494ba9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494c75
cmp esi, 0xfffffffd
je 0x494ba9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494c75
cmp esi, 0xfffffffe
je 0x494ba9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494c75
cmp esi, 0xffffffff
je 0x494ba9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494c75
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
inc edi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edi
cmp edi, dword [esp + 0x24]
jl 0x494ac8
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x4921b0
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
cmp ebx, ebp
je case.default.0x493afc
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x494c3b
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x494c17
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x494ca3
cmp ebx, dword [esi + 0x7c]
jb 0x494ca3
cmp ebx, dword [esi + 0x88]
jbe 0x494ca3
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499358
mov ebp, dword [esp + 0x18]
jmp 0x494bd5
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x494dcc
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x494cf1
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
mov ebp, dword [eax*8 + 0x4cbbb4]
add ebp, esi
jmp 0x494cf8
mov eax, dword [edx + 0x38]
movzx ebp, byte [eax + esi]
mov ecx, 1
cmp edi, ecx
jl 0x494d3b
mov edx, dword [edx + 0x7c]
mov eax, dword [esp + 0x14]
nop dword [eax + eax]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x497d77
movzx eax, word [ebx]
cmp esi, eax
je 0x494d2b
cmp ebp, eax
jne case.default.0x493afc
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x1c], ebx
cmp ecx, edi
jle 0x494d10
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4921b0
cmp dword [esp + 0x18], 0
jne 0x497de7
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, eax
jge 0x494d83
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x494da1
movzx eax, word [ebx]
cmp esi, eax
je 0x494d75
cmp ebp, eax
jne 0x494d83
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, dword [esp + 0x24]
jl 0x494d66
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x497d91
mov edi, dword [esp + 0x170]
jmp 0x4921be
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x494d8a
cmp ebx, dword [ebp + 0x88]
jbe 0x494d8a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
jmp 0x494d8a
cmp edi, 1
jl 0x494e03
mov eax, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x497d77
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp esi, eax
jne case.default.0x493afc
inc ecx
cmp ecx, edi
jle 0x494de0
mov ecx, dword [esp + 0x14]
cmp edi, ebp
je 0x4921b0
cmp dword [esp + 0x18], 0
jne 0x497ee7
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, ebp
jge 0x494e47
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x494e65
movzx eax, word [ebx]
cmp esi, eax
jne 0x494e47
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jl 0x494e30
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x497e95
mov edi, dword [esp + 0x170]
jmp 0x4921be
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x494e4e
cmp ebx, dword [ebp + 0x88]
jbe 0x494e4e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
jmp 0x494e4e
cmp ebx, dword [ebp + 0x7c]
jae 0x49775d
lea ecx, [esi + 2]
movzx esi, word [ebx]
mov eax, esi
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
cmp eax, 0xd800
jne 0x494ed4
movzx eax, word [ebx]
and esi, 0x3ff
shl esi, 0xa
and eax, 0x3ff
or esi, eax
add esi, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x20], 0x20
lea eax, [ecx + 2]
movzx edx, word [ecx]
mov dword [esp + 0x14], eax
jne 0x494f2f
cmp edx, 0x7f
jbe 0x494f13
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
mov eax, dword [eax*8 + 0x4cbbb4]
add eax, edx
jmp 0x494f1a
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x493afc
cmp eax, esi
je case.default.0x493afc
jmp 0x4921be
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x493afc
jmp 0x4921be
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], eax
mov edi, eax
jmp 0x49500d
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], eax
cmp ecx, 0x42
je 0x494f6a
mov dword [esp + 0x18], edi
cmp ecx, 0x4f
jne 0x494f72
mov dword [esp + 0x18], 1
lea ecx, [esi + 4]
jmp 0x49500d
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x495005
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x495005
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x28], 1
jmp 0x49500d
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x49500d
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x18], ecx
and dword [esp + 0x18], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4bf640]
movsx eax, byte [eax + 0x4bf638]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x49500d
mov dword [esp + 0x28], connect
movzx ebp, word [ecx]
lea esi, [ecx + 2]
cmp edx, 0x48
mov dword [esp + 0x24], ebp
mov dword [esp + 0x14], esi
mov edx, 1
jb 0x4951b1
cmp ebp, 0x7f
jbe 0x495060
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4cbbb4]
add ebp, dword [esp + 0x24]
jmp 0x49506e
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x30], ebp
cmp edi, 1
jl 0x4950db
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4950c0
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add ebx, 2
or ecx, eax
mov dword [esp + 0x1c], ebx
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je case.default.0x493afc
cmp ebp, ecx
je case.default.0x493afc
inc edx
cmp edx, edi
jle 0x495080
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x49231c
cmp dword [esp + 0x18], 0
jne 0x49803f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x495164
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x495186
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495143
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je 0x49515d
cmp dword [esp + 0x30], ecx
je 0x49515d
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x495106
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x497faf
mov ebp, dword [esp + 0x174]
jmp 0x4921c2
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x495164
cmp ebx, dword [ecx + 0x88]
jbe 0x495164
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499358
jmp 0x495164
cmp edi, 1
jl 0x495215
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495204
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add ebx, 2
or ecx, eax
mov dword [esp + 0x1c], ebx
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x493afc
inc edx
cmp edx, edi
jle 0x4951c4
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x49231c
cmp dword [esp + 0x18], 0
jne 0x4981af
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x495298
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4952ba
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49527d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je 0x495291
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x495240
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x49811f
mov ebp, dword [esp + 0x174]
jmp 0x4921c2
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x495298
cmp ebx, dword [ecx + 0x88]
jbe 0x495298
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499358
jmp 0x495298
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov ebp, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x18], 1
jmp 0x4953be
movzx eax, word [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], eax
xor eax, eax
cmp ecx, 0x5c
mov dword [esp + 0x24], ebp
lea ecx, [esi + 4]
sete al
mov dword [esp + 0x18], eax
jmp 0x4953be
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x4953b6
mov ebp, 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x4953b6
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
mov dword [esp + 0x20], 1
jmp 0x4953be
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
jmp 0x4953be
add edx, 0xffffffab
lea ecx, [esi + 2]
mov eax, edx
and edx, 1
mov dword [esp + 0x18], edx
movsx ebp, byte [eax + 0x4bf640]
movsx eax, byte [eax + 0x4bf638]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4953be
mov dword [esp + 0x20], connect
movzx eax, word [ecx]
lea esi, [ecx + 2]
mov edx, eax
mov dword [esp + 0x14], esi
mov edi, eax
mov dword [esp + 0x28], edi
cmp edx, 0x10
je 0x4953e3
cmp edx, 0xf
je 0x4953e3
or eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x495409
movzx ecx, word [esi]
xor eax, eax
cmp edx, 0xf
mov dword [esp + 0x30], ecx
sete al
mov dword [esp + 0x34], eax
lea eax, [esi + 2]
movzx esi, word [eax]
add eax, 2
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x40], esi
test ebp, ebp
jle 0x496152
test eax, eax
js 0x495981
cmp eax, 8
ja case.default.0x493e36
jmp dword [eax*4 + 0x499bc8]
cmp dword [esp + 0x34], 0
jne case.default.0x493afc
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
mov ecx, ebx
cmp ebx, esi
jae 0x497d77
mov ax, word [ebx]
mov ebx, 0xfc00
and ax, bx
xor ebx, ebx
cmp ax, word [esp + 0x48]
sete bl
inc edx
lea ebx, [ebx*2 + 2]
add ebx, ecx
cmp edx, ebp
jle 0x495443
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4954c0
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
mov al, byte [eax*8 + 0x4cbbb1]
cmp al, 9
je 0x4954f3
cmp al, 5
je 0x4954f3
cmp al, 8
je 0x4954f3
xor eax, eax
jmp 0x4954f8
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x495488
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495558
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov edi, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], edi
mov edi, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x495520
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4955ef
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x4955b7
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49567b
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb0]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x495643
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495708
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x495741
cmp eax, 3
je 0x495741
xor eax, eax
jmp 0x495746
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x4956d0
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497d77
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4957a9
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 6
je 0x4957f1
cmp edx, 9
je 0x4957f1
cmp edx, 0xa
je 0x4957f1
cmp edx, 0xc
je 0x4957f1
cmp edx, 0xd
je 0x4957f1
xor eax, eax
jmp 0x4957f6
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
inc esi
cmp esi, ebp
jle 0x495771
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497d77
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49585d
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 6
je 0x4958aa
cmp edx, 9
je 0x4958aa
cmp edx, 0xa
je 0x4958aa
cmp edx, 0xb
je 0x4958aa
cmp edx, 0xc
je 0x4958aa
cmp edx, 0xd
je 0x4958aa
xor eax, eax
jmp 0x4958af
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
inc esi
cmp esi, ebp
jle 0x495825
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
nop
cmp ebx, edi
jae 0x497d77
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495920
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x495960
cmp eax, 3
je 0x495960
cmp edx, 0x5f
je 0x495960
xor eax, eax
jmp 0x495965
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
inc esi
cmp esi, ebp
jle 0x4958e0
mov edi, dword [esp + 0x28]
jmp 0x496152
cmp edx, 0x16
jne 0x495a9f
mov esi, dword [esp + 0x174]
lea edi, [edx - 0x15]
mov ebp, dword [esi + 0x7c]
cmp ebx, ebp
jae 0x498285
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4959d1
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 2
je case.default.0x493afc
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x495a7a
nop
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495a45
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 2
jne 0x495a7a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x495a10
mov esi, dword [esp + 0x174]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x495997
mov ebp, dword [esp + 0x24]
mov ecx, esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496159
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493e36
jmp dword [eax*4 + 0x499bec]
mov ecx, dword [esp + 0x174]
mov esi, 1
nop
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x497d77
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x495b2b
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b4e0
add esp, 0xc
test eax, eax
jne case.default.0x493afc
mov ecx, dword [esp + 0x174]
add ebx, 2
cmp ebx, dword [ecx + 0x7c]
jae 0x495b1d
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x495b1d
add ebx, 2
inc esi
cmp esi, ebp
jle 0x495ac0
mov dword [esp + 0x1c], ebx
jmp 0x496159
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x495af6
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x495afd
cmp edx, 1
je case.default.0x493afc
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je case.default.0x493afc
jmp 0x495afd
mov esi, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [esi + 0x7c]
nop
cmp ebx, edx
jae 0x498285
add ebx, 2
cmp ebx, edx
jae 0x495b91
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x495b91
add ebx, 2
inc ecx
cmp ecx, ebp
jle 0x495b70
mov dword [esp + 0x1c], ebx
mov ecx, esi
jmp 0x496159
mov eax, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [eax + 0x7c]
sub eax, ecx
cmp ebx, eax
ja case.default.0x493afc
add ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497d7e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495c0e
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
cmp ecx, 0x85
ja 0x495c6a
je case.0x495c2c.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493afc
jmp dword [ecx*4 + 0x499c2c]
mov ebx, edx
cmp edx, edi
jae 0x495c4d
cmp word [edx], 0xa
mov ecx, dword [esp + 0x174]
jne 0x495c54
lea ebx, [edx + 2]
jmp 0x495c54
mov ebx, edx
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, ebp
jle 0x495bd6
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496159
sub ecx, 0x2028
je case.0x495c2c.11
sub ecx, 1
jne case.default.0x493afc
mov ecx, dword [esp + 0x174]
mov ebx, edx
cmp dword [ecx + 0x68], 0
jne case.default.0x493afc
jmp 0x495c54
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495cd8
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x2000
ja 0x495d32
je case.default.0x493afc
cmp ecx, 0xa0
ja 0x495d18
je case.default.0x493afc
cmp ecx, 9
je case.default.0x493afc
cmp ecx, 0x20
je case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x495ca0
mov dword [esp + 0x1c], ebx
jmp 0x496152
cmp ecx, 0x1680
je case.default.0x493afc
cmp ecx, 0x180e
je case.default.0x493afc
jmp case.0x495d52.8203
cmp ecx, 0x3000
ja case.0x495d52.8203
je case.default.0x493afc
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x495d52.8203
movzx eax, byte [ecx + 0x499c44]
jmp dword [eax*4 + 0x499c3c]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495da0
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x2000
ja 0x495dea
je case.0x495e0e.8193
cmp ecx, 0xa0
ja 0x495dd4
je case.0x495e0e.8193
cmp ecx, 9
je case.0x495e0e.8193
cmp ecx, 0x20
jne case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x495d68
mov dword [esp + 0x1c], ebx
jmp 0x496152
cmp ecx, 0x1680
je case.0x495e0e.8193
cmp ecx, 0x180e
jne case.default.0x493afc
jmp case.0x495e0e.8193
cmp ecx, 0x3000
ja case.default.0x493afc
je case.0x495e0e.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493afc
movzx eax, byte [ecx + 0x499cac]
jmp dword [eax*4 + 0x499ca4]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495e5c
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x85
ja 0x495e79
je case.default.0x493afc
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x495e72
jmp dword [ecx*4 + 0x499d0c]
sub ecx, 0x2028
je case.default.0x493afc
sub ecx, 1
je case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x495e24
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ee8
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x85
ja 0x495f05
je case.0x495efe.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493afc
jmp dword [ecx*4 + 0x499d1c]
sub ecx, 0x2028
je case.0x495efe.10
sub ecx, 1
jne case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x495eb0
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495f6b
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x80
jae 0x495f87
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493afc
inc edx
cmp edx, ebp
jle 0x495f33
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493afc
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493afc
inc edx
add ebx, 2
cmp edx, ebp
jle 0x495fa4
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x49601e
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493afc
add ebx, 2
cmp ebx, esi
jae 0x49603d
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49603d
add ebx, 2
inc edx
cmp edx, ebp
jle 0x495ff3
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497d77
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493afc
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493afc
inc edx
add ebx, 2
cmp edx, ebp
jle 0x496060
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
nop
cmp ebx, esi
jae 0x497d77
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4960db
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493afc
add ebx, 2
cmp ebx, esi
jae 0x4960fa
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4960fa
add ebx, 2
inc edx
cmp edx, ebp
jle 0x4960b0
mov dword [esp + 0x1c], ebx
jmp 0x496152
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497d77
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493afc
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493afc
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jle 0x496117
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x4921b0
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x30]
jne 0x4984eb
mov esi, ebx
mov dword [esp + 0x18], esi
test eax, eax
js 0x49681c
cmp eax, 8
ja case.default.0x493e36
jmp dword [eax*4 + 0x499d2c]
cmp ebp, edx
jge 0x4967fe
mov edx, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, edx
jae 0x4961dc
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x34], 0
movzx ecx, ax
jne 0x4967fe
xor eax, eax
cmp cx, word [esp + 0x48]
sete al
inc ebp
lea ebx, [ebx + eax*2]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x4961a1
jmp 0x4967fe
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496805
cmp ebx, dword [ebp + 0x88]
jbe 0x496805
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
jmp 0x496805
cmp ebp, edx
jge 0x4967fe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
mov edx, 1
cmp ebx, esi
jae 0x4962b5
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49625e
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
mov al, byte [eax*8 + 0x4cbbb1]
cmp al, 9
je 0x496291
cmp al, 5
je 0x496291
cmp al, 8
je 0x496291
xor eax, eax
jmp 0x496296
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4967fa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496221
jmp 0x4967fa
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4962da
cmp ebx, dword [ebp + 0x88]
jbe 0x4962da
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x499358
mov esi, dword [esp + 0x18]
jmp 0x496805
cmp ebp, edx
jge 0x4967fe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x40]
cmp ebx, esi
jae 0x496380
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49632f
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], edi
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4967fa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4962f2
jmp 0x4967fa
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4962da
cmp ebx, dword [ebp + 0x88]
jbe 0x4962da
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
mov esi, dword [esp + 0x18]
jmp 0x496805
cmp ebp, edx
jge 0x4967fe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
cmp ebx, esi
jae 0x496380
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496409
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4967fa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x4963d0
jmp 0x4967fa
cmp ebp, edx
jge 0x4967fe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x496380
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49649d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb0]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x4967fa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496460
jmp 0x4967fa
cmp ebp, edx
jge 0x4967fe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4962b5
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49653d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x496576
cmp eax, 3
je 0x496576
xor eax, eax
jmp 0x49657b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4967fa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496500
jmp 0x4967fa
cmp ebp, edx
jge 0x4967fe
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x49665b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4965ed
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 6
je 0x496635
cmp edx, 9
je 0x496635
cmp edx, 0xa
je 0x496635
cmp edx, 0xc
je 0x496635
cmp edx, 0xd
je 0x496635
xor eax, eax
jmp 0x49663a
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4967fa
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4965b0
jmp 0x4967fa
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4962da
cmp ebx, dword [ebp + 0x88]
jbe 0x4962da
mov dword [ebp + 0x64], esi
cmp eax, 1
jg 0x499358
mov esi, dword [esp + 0x18]
jmp 0x496805
cmp ebp, edx
jge 0x4967fe
mov edi, dword [ecx + 0x7c]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x49665b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4966d9
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 6
je 0x496726
cmp edx, 9
je 0x496726
cmp edx, 0xa
je 0x496726
cmp edx, 0xb
je 0x496726
cmp edx, 0xc
je 0x496726
cmp edx, 0xd
je 0x496726
xor eax, eax
jmp 0x49672b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4967fa
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4966a0
jmp 0x4967fa
cmp ebp, edx
jge 0x4967fe
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x49665b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49679d
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x4967dd
cmp eax, 3
je 0x4967dd
cmp edx, 0x5f
je 0x4967dd
xor eax, eax
jmp 0x4967e2
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x4967fa
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496760
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x4982ab
mov edi, dword [esp + 0x170]
jmp 0x4921be
cmp edi, 0x16
jne 0x49698a
cmp ebp, edx
jge 0x49693d
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x49695b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49686d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 2
je 0x496939
mov eax, dword [esp + 0x174]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x49692e
nop dword [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4968f5
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 2
jne 0x49692a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4968c0
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496830
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x498341
mov edi, dword [esp + 0x170]
jmp 0x4921be
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496984
cmp ebx, dword [ebp + 0x88]
jbe 0x496984
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
mov esi, dword [esp + 0x18]
jmp 0x496944
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493e36
jmp dword [eax*4 + 0x499d50]
cmp edx, 0x7fffffff
jge 0x496a90
cmp ebp, edx
jge 0x496cf2
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496a56
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496a22
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b4e0
add esp, 0xc
test eax, eax
jne 0x496cf2
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496a16
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496a16
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x4969b1
jmp 0x496cf2
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4969e7
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4969ee
cmp edx, 1
je 0x496cf2
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x496cf2
jmp 0x4969ee
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x496cf2
cmp ebx, dword [ecx + 0x88]
jbe 0x496cf2
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499358
mov ebp, ecx
jmp 0x496cf9
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496a56
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496afd
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b4e0
add esp, 0xc
test eax, eax
jne 0x496cf2
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496af1
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496af1
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496a90
jmp 0x496cf2
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496ac2
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496ac9
cmp edx, 1
je 0x496cf2
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x496cf2
jmp 0x496ac9
cmp edx, 0x7fffffff
jge 0x496bb1
cmp ebp, edx
jge 0x496cf2
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496b7b
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, ecx
jae 0x496b71
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x496b71
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, edx
jl 0x496b48
jmp 0x496cf2
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496cf9
cmp ebx, dword [ebp + 0x88]
jbe 0x496cf9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
jmp 0x496cf9
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496cf9
cmp ebx, dword [ebp + 0x88]
jbe 0x496cf9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
jmp 0x496cf9
sub edx, ebp
mov ebp, dword [esp + 0x174]
mov ecx, dword [ebp + 0x7c]
mov eax, ecx
sub eax, ebx
sar eax, 1
cmp edx, eax
jbe 0x496c20
mov eax, dword [ebp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496cf9
cmp ecx, dword [ebp + 0x88]
jmp 0x496bd3
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
jmp 0x496cf9
cmp ebp, edx
jge 0x496cf2
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496d10
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496c73
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x496c78
mov eax, 2
cmp ecx, 0xd
jne 0x496c9d
mov ebx, edx
mov dword [esp + 0x1c], ebx
cmp edx, esi
jae 0x496cee
cmp word [ebx], 0xa
jne 0x496ce3
lea ebx, [edx + 2]
jmp 0x496cdf
cmp ecx, 0xa
je 0x496cdd
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x497228
cmp ecx, 0xb
je 0x496cdd
cmp ecx, 0xc
je 0x496cdd
cmp ecx, 0x85
je 0x496cdd
cmp ecx, 0x2028
je 0x496cdd
cmp ecx, 0x2029
jne 0x497228
add ebx, eax
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496c37
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49843b
mov edi, dword [esp + 0x170]
jmp 0x4921be
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496d39
cmp ebx, dword [ebp + 0x88]
jbe 0x496d39
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
mov esi, dword [esp + 0x18]
jmp 0x496cf9
cmp ebp, edx
jge 0x496cf2
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496e2a
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496d8d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x2000
ja 0x496e00
je case.0x496e1c.8193
cmp ecx, 0xa0
ja 0x496dec
je case.0x496e1c.8193
cmp ecx, 9
je case.0x496e1c.8193
cmp ecx, 0x20
je case.0x496e1c.8193
xor ecx, ecx
xor eax, eax
cmp edi, 0x12
sete al
cmp ecx, eax
je 0x496cee
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496d50
jmp 0x496cee
cmp ecx, 0x1680
je case.0x496e1c.8193
cmp ecx, 0x180e
jmp 0x496dbd
cmp ecx, 0x3000
ja case.0x496e1c.8203
je case.0x496e1c.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x496e1c.8203
movzx eax, byte [ecx + 0x499d98]
jmp dword [eax*4 + 0x499d90]
mov ecx, 1
jmp 0x496dc5
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496d39
cmp ebx, dword [ebp + 0x88]
jbe 0x496d39
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x499358
mov esi, dword [esp + 0x18]
jmp 0x496cf9
cmp ebp, edx
jge 0x496cf2
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496e2a
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496ea9
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0x496ec2
je case.0x496ebb.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x496ebb
jmp dword [ecx*4 + 0x499df8]
sub ecx, 0x2028
je case.0x496ebb.10
sub ecx, 1
je case.0x496ebb.10
xor ecx, ecx
jmp 0x496ed8
mov ecx, 1
xor eax, eax
cmp edi, 0x14
sete al
cmp ecx, eax
je 0x496cee
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496e70
jmp 0x496cee
cmp ebp, edx
jge 0x496cf2
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x496d10
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496f4d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x496f69
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x496cee
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496f10
jmp 0x496cee
cmp ebp, edx
jge 0x496cf2
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496d10
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496fc4
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x496cee
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x496cee
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496f87
jmp 0x496cee
cmp ebp, edx
jge 0x496cf2
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496d10
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49703f
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x49705b
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x496cee
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497002
jmp 0x496cee
cmp ebp, edx
jge 0x496cf2
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x496d10
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4970bd
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x496cee
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x496cee
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497080
jmp 0x496cee
cmp ebp, edx
jge 0x496cf2
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x496d10
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49713d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x497159
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x496cee
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497100
jmp 0x496cee
cmp ebp, edx
jge 0x496cf2
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4971e7
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4971b4
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x496cee
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x496cee
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497177
jmp 0x496cee
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496d39
cmp ebx, dword [ebp + 0x88]
jbe 0x496d39
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x496d39
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x18]
mov ebp, edx
jmp 0x496cf9
cmp ecx, 0x74
mov ecx, ebx
jne 0x49727e
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
lea edx, [esi + 4]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4974ab
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, ebp
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x4974ab
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
movzx ecx, word [esi + 6]
mov eax, dword [ebp + 0x90]
cmp eax, edx
cmovg edx, eax
add ecx, 2
cmp word [esi + ecx*2], 0x71
mov dword [esp + 0x170], edx
lea ecx, [esi + ecx*2]
jne 0x497320
mov edx, ecx
nop dword [eax + eax]
movzx eax, word [ecx + 2]
cmp word [edx + eax*2], 0x71
lea ecx, [edx + eax*2]
mov edx, ecx
je 0x497300
jmp 0x497319
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
cmp dword [esp + 0x20], 0x86
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jne 0x4974af
mov dword [ebp + 0x9c], 2
mov ecx, ebx
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edx
push dword [esp + 0x17c]
mov edx, esi
call fcn.004920c0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0x75
je 0x4976c7
cmp eax, 0x74
jne 0x4973d8
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
lea edx, [esi + 4]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x497674
mov ecx, 0x82
cmp ax, cx
jae 0x497633
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4974ab
mov eax, 0x82
cmp word [ebp], ax
jb 0x4973ed
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
mov edx, ebp
call fcn.004920c0
mov ecx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x497428
cmp dword [ecx + 0xb8], ebp
je 0x497430
test eax, eax
jne 0x4974c4
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4976b2
mov ebp, dword [esp + 0x174]
jmp 0x4974af
movzx edx, word [esi + 4]
mov dword [esp + 0x44], edx
lea eax, [edx + edx]
cmp eax, dword [ebp + 0x14]
jl 0x499368
mov edx, dword [esp + 0x20]
nop word [eax + eax]
cmp edx, 0x82
jae 0x4974cf
cmp edx, 0x7b
je 0x4974cf
cmp dword [ebp + 0x6c], 0
jne 0x4974d9
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x4974d9
movzx eax, cx
movzx eax, byte [eax + 0x4bfe48]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x492161
inc eax
mov dword [ebp], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [ebp + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [ebp + 0xb0]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edi
mov edi, dword [esp + 0x24]
push dword [esp + 0x17c]
movzx eax, word [edi]
movzx eax, byte [eax + 0x4bfe48]
lea edx, [edi + eax*2]
call fcn.004920c0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x49753a
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
mov eax, edx
cmp dword [ebp + 0x80], ecx
jae 0x49753a
cmp word [edi], 0x71
je 0x497542
cmp word [ecx], 0x71
je 0x497542
test eax, eax
jne 0x499496
movzx eax, word [edi + 2]
mov dword [ebp + 0xb0], esi
lea edi, [edi + eax*2]
mov esi, edi
mov dword [esp + 0x14], edi
cmp word [esi], 0x71
jne case.default.0x493afc
mov edi, dword [esp + 0x170]
mov ecx, 0x71
jmp 0x497462
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi + 2]
add ecx, eax
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x4975b2
cmp eax, 0xfffffc1d
je 0x4975b2
cmp eax, 0xfffffc20
jne 0x4974c4
lea eax, [esi + 4]
mov dword [ebp + 0x80], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4975f3
push eax
call fcn.0049f3b2
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x16c]
mov dword [edx + 0x84], ebx
mov dword [edx + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
mov edx, ebp
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004920c0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x497710
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
jmp 0x49768d
mov dword [edx + 0x84], ebx
mov eax, 0xfffffc1b
mov dword [edx + 0x90], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
mov edx, esi
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov eax, dword [esp + 0x174]
mov dword [eax + 0xb8], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0x84], ebx
mov dword [eax + 0x90], edi
mov dword [eax + 0x80], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x493afc
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x493afc
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499358
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x493afc
cmp ebx, dword [esi + 0x7c]
jb case.default.0x493afc
jmp 0x498293
mov edi, ebx
cmp esi, eax
jge 0x497811
nop word [eax + eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00491f10
add esp, 0xc
test eax, eax
js 0x4977db
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, dword [esp + 0x24]
jl 0x4977b0
jmp 0x497809
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x497809
cmp ebx, dword [ecx + 0x7c]
jb 0x497809
cmp ebx, dword [ecx + 0x88]
jbe 0x497809
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499358
cmp ebx, edi
jb case.default.0x493afc
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x497811
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x493afc
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov esi, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x494432
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x497934
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x7c]
nop
cmp ebx, edi
jae 0x497a0a
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49791d
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
cmp edx, 0xff
jbe 0x4979d1
cmp dword [esp + 0x20], 0x6a
jne 0x4979f1
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493afc
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497997
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x497972
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x44]
test byte [edx + ecx], al
je 0x497934
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x28], eax
cmp eax, ecx
jl 0x4978e0
jmp 0x497934
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x49793b
cmp ebx, dword [esi + 0x88]
jbe 0x49793b
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499358
jmp 0x49793b
mov ebp, ebx
cmp edi, eax
jge 0x497ab1
nop word [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x497b4f
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497a95
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov edx, dword [esp + 0x44]
push 1
call fcn.0049b690
add esp, 4
test eax, eax
je 0x497ab1
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x24]
jl 0x497a50
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493afc
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497b15
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x497af0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497ab8
cmp ebx, dword [esi + 0x88]
jbe 0x497ab8
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499358
jmp 0x497ab8
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x493afc
cmp ebx, ecx
jb case.default.0x493afc
jmp 0x497767
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493afc
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x493afc
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x493afc
mov dword [ecx + 0x64], 1
jmp 0x497776
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493afc
mov ebp, dword [ebp + 0x7c]
lea eax, [ebp - 4]
cmp ebx, eax
ja 0x497c8b
mov eax, dword [esp + 0x3c]
mov ecx, ebx
mov edx, dword [esp + 0x30]
lea esi, [eax + eax]
sub esi, 4
jb 0x497c51
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497c56
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497c40
cmp esi, 0xfffffffc
je 0x497c83
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497c8b
cmp esi, 0xfffffffd
je 0x497c83
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497c8b
cmp esi, 0xfffffffe
je 0x497c83
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497c8b
cmp esi, 0xffffffff
je 0x497c83
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497c8b
add ebx, 4
jmp 0x497d0d
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x497d5b
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x497d5b
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x497cc5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497cca
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497cb4
cmp esi, 0xfffffffc
je 0x497d07
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497d5b
cmp esi, 0xfffffffd
je 0x497d07
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497d5b
cmp esi, 0xfffffffe
je 0x497d07
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497d5b
cmp esi, 0xffffffff
je 0x497d07
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497d5b
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x17c]
inc edi
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x30], edi
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x497c10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493afc
cmp ebx, ebp
jmp 0x497bb1
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493afc
jmp 0x497bb7
cmp ebx, edi
jb case.default.0x493afc
nop dword [eax]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4974c4
cmp ebx, edi
jae 0x497da0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
cmp edi, dword [esp + 0x24]
jge case.default.0x493afc
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497d7e
movzx eax, word [ebx]
cmp esi, eax
je 0x497e4b
cmp ebp, eax
jne case.default.0x493afc
mov eax, dword [esp + 0x28]
add ebx, 2
mov edx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x28], eax
mov edi, eax
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x497e22
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ebx, edi
jb case.default.0x493afc
nop dword [eax]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4974c4
cmp ebx, edi
jae 0x497ea0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ecx
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov ecx, edi
cmp edi, ebp
jge case.default.0x493afc
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497f89
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x493afc
mov eax, dword [esp + 0x17c]
lea edi, [ecx + 1]
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x497f22
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x493afc
cmp ebx, dword [edx + 0x88]
jbe case.default.0x493afc
mov dword [edx + 0x64], 1
jmp 0x497776
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493afc
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498005
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x497fe0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493afc
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497f89
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4980ca
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je case.default.0x493afc
cmp ebp, ecx
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, edi
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498080
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493afc
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498175
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498150
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493afc
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497f89
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49823a
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, edi
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x4981f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x493afc
cmp ebx, dword [esi + 0x88]
jbe case.default.0x493afc
mov dword [esi + 0x64], 1
jmp 0x497776
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493afc
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498307
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x4982e2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493afc
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x49839f
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4983ca
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 2
jne 0x4983fd
sub ebx, 2
jmp 0x498385
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498378
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
lea ecx, [ebx - 2]
cmp ebx, esi
je case.default.0x493afc
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x498493
add ecx, 0xfffffffe
mov ebx, ecx
cmp edi, 0x11
jne 0x4984af
cmp ecx, esi
jbe 0x4984af
cmp word [ecx], 0xa
jne 0x4984af
cmp word [ecx - 2], 0xd
lea eax, [ecx - 2]
cmove ebx, eax
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498470
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x498e45
cmp eax, 8
ja case.default.0x493e36
jmp dword [eax*4 + 0x499e08]
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, ebp
nop dword [eax]
mov ecx, ebx
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497f89
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498571
lea ebx, [ecx + 4]
cmp dword [esp + 0x34], 0
jne case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498540
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497f89
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49863c
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
mov al, byte [eax*8 + 0x4cbbb1]
cmp al, 9
je 0x49866f
cmp al, 5
je 0x49866f
cmp al, 8
je 0x49866f
xor eax, eax
jmp 0x498674
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x4985f2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497f89
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49874a
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov esi, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], esi
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498700
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497f89
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49884c
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498802
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497f89
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49894a
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb0]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498900
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497f89
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498a4a
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x498a83
cmp eax, 3
je 0x498a83
xor eax, eax
jmp 0x498a88
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498a00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
cmp ebx, dword [edi + 0x7c]
jae 0x498bee
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498b54
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 6
je 0x498b9c
cmp edx, 9
je 0x498b9c
cmp edx, 0xa
je 0x498b9c
cmp edx, 0xc
je 0x498b9c
cmp edx, 0xd
je 0x498b9c
xor eax, eax
jmp 0x498ba1
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498b11
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x493afc
cmp ebx, dword [edi + 0x88]
jbe case.default.0x493afc
mov dword [edi + 0x64], 1
jmp 0x497776
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
cmp ebx, dword [edi + 0x7c]
jae 0x498bee
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498c91
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 6
je 0x498cde
cmp edx, 9
je 0x498cde
cmp edx, 0xa
je 0x498cde
cmp edx, 0xb
je 0x498cde
cmp edx, 0xc
je 0x498cde
cmp edx, 0xd
je 0x498cde
xor eax, eax
jmp 0x498ce3
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498c52
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
jne 0x4974c4
mov edi, dword [esp + 0x174]
mov esi, ebp
nop
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
cmp ebx, dword [edi + 0x7c]
jae 0x498bee
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498db3
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc90]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
mov eax, dword [eax*4 + 0x4bfdc8]
cmp eax, 1
je 0x498df3
cmp eax, 3
je 0x498df3
cmp edx, 0x5f
je 0x498df3
xor eax, eax
jmp 0x498df8
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498d70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
cmp edi, 0x16
jne 0x498fbe
test eax, eax
jne 0x4974c4
mov edi, dword [esp + 0x174]
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
mov esi, dword [edi + 0x7c]
cmp ebx, esi
jae 0x498bee
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498ed7
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 2
je case.default.0x493afc
cmp ebx, esi
jae 0x498f7b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498f46
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc90]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b0]
movzx eax, byte [eax*8 + 0x4cbbb1]
cmp dword [eax*4 + 0x4bfdc8], 2
jne 0x498f7b
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x498f11
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498e90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x4974c4
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493afc
mov esi, dword [esp + 0x174]
mov ecx, dword [esi + 0x7c]
cmp ebx, ecx
jae 0x49932e
cmp edi, 0xc
jne 0x499042
mov edx, dword [esi + 0x18]
lea eax, [esi + 0x1c]
test edx, edx
je 0x499017
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b4e0
add esp, 0xc
test eax, eax
jne case.default.0x493afc
jmp 0x499042
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x499042
mov ax, word [ebx]
cmp ax, word [esi + 0x2c]
jne 0x499042
cmp edx, 1
je case.default.0x493afc
mov ax, word [ebx + 2]
cmp ax, word [esi + 0x2e]
je case.default.0x493afc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499072
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493e36
jmp dword [eax*4 + 0x499e2c]
cmp ecx, 0x85
ja 0x4990bd
je case.0x49909b.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493afc
jmp dword [ecx*4 + 0x499e6c]
cmp ebx, dword [esi + 0x7c]
jae case.0x49907e.12
cmp word [ebx], 0xa
jne case.0x49907e.12
add ebx, 2
jmp case.0x49907e.12
sub ecx, 0x2028
je case.0x49909b.11
sub ecx, 1
jne case.default.0x493afc
cmp dword [esi + 0x68], 0
jne case.default.0x493afc
jmp case.0x49907e.12
cmp ecx, 0x2000
ja 0x499121
je case.default.0x493afc
cmp ecx, 0xa0
ja 0x49910a
je case.default.0x493afc
cmp ecx, 9
je case.default.0x493afc
cmp ecx, 0x20
jmp 0x4992cf
cmp ecx, 0x1680
je case.default.0x493afc
cmp ecx, 0x180e
jmp 0x4992cf
cmp ecx, 0x3000
ja case.0x49907e.12
je case.default.0x493afc
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x49907e.12
movzx eax, byte [ecx + 0x499e84]
jmp dword [eax*4 + 0x499e7c]
cmp ecx, 0x2000
ja 0x4991a0
je case.0x49907e.12
cmp ecx, 0xa0
ja 0x499183
je case.0x49907e.12
cmp ecx, 9
je case.0x49907e.12
cmp ecx, 0x20
jne case.default.0x493afc
jmp case.0x49907e.12
cmp ecx, 0x1680
je case.0x49907e.12
cmp ecx, 0x180e
jne case.default.0x493afc
jmp case.0x49907e.12
cmp ecx, 0x3000
ja case.default.0x493afc
je case.0x49907e.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493afc
movzx eax, byte [ecx + 0x499eec]
jmp dword [eax*4 + 0x499ee4]
cmp ecx, 0x85
ja 0x4991f0
je case.default.0x493afc
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x49907e.12
jmp dword [ecx*4 + 0x499f4c]
sub ecx, 0x2028
je case.default.0x493afc
sub ecx, 1
jmp 0x4992cf
cmp ecx, 0x85
ja 0x499225
je case.0x49907e.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493afc
jmp dword [ecx*4 + 0x499f5c]
sub ecx, 0x2028
je case.0x49907e.12
sub ecx, 1
jne case.default.0x493afc
jmp case.0x49907e.12
cmp ecx, 0x100
jae case.0x49907e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493afc
jmp case.0x49907e.12
cmp ecx, 0x100
jae case.default.0x493afc
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jmp 0x4992cf
cmp ecx, 0x100
jae case.0x49907e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493afc
jmp case.0x49907e.12
cmp ecx, 0x100
jae case.default.0x493afc
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jmp 0x4992cf
cmp ecx, 0x100
jae case.0x49907e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493afc
jmp case.0x49907e.12
cmp ecx, 0x100
jae case.default.0x493afc
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493afc
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x498fd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x493afc
cmp ebx, dword [esi + 0x88]
jbe case.default.0x493afc
mov dword [esi + 0x64], 1
cmp eax, 1
jle case.default.0x493afc
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x94]
mov eax, dword [ecx + edx*8]
mov dword [esp + 0x54], eax
mov eax, dword [ecx + edx*8 + 4]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
mov ebp, dword [ebp + 0xb0]
sub eax, edx
mov edx, dword [esp + 0x174]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
mov eax, ebx
sub eax, dword [edx + 0x78]
sar eax, 1
mov dword [ecx], eax
cmp dword [esp + 0x20], 0x82
jb 0x4993b8
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi]
push edx
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4bfe48]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004920c0
mov edx, dword [esp + 0x188]
mov esi, eax
add esp, 0x14
cmp esi, 0xfffffc1c
je 0x49945a
mov ecx, dword [esp + 0x14]
cmp esi, 0xfffffc20
jne 0x49942e
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x80], eax
jae 0x49942e
cmp word [ecx], 0x71
je 0x49942a
cmp word [eax], 0x71
jne 0x49942e
xor esi, esi
jmp 0x499436
test esi, esi
jne 0x499489
mov dword [edx + 0x94], edi
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx + 0xb0], ebp
cmp word [ecx], 0x71
mov dword [esp + 0x14], ecx
jne 0x49945a
mov esi, ecx
jmp 0x4993a4
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x174]
mov edx, dword [esp + 0x54]
mov dword [ecx + eax*8], edx
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x48]
mov dword [ecx + eax*8 + 4], edx
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub edx, eax
mov eax, dword [esp + 0x30]
mov dword [ecx + edx*4], eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0xfffffc1c
jne 0x4994d5
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
je 0x4994ca
cmp ecx, 0x71
jne 0x4994c2
mov ecx, edi
movzx eax, word [edi + 2]
cmp word [ecx + eax*2], 0x71
lea edi, [ecx + eax*2]
mov ecx, edi
je 0x4994b2
movzx eax, word [edi + 2]
add eax, eax
sub edi, eax
xor eax, eax
cmp dword [ebp + 0xb8], edi
cmove edx, eax
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea edi, [esi + 4]
mov dword [ebp + 0xb4], edi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [esi]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4bfe48]
movzx eax, word [esi + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.004920c0
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x499548
cmp esi, 0xfffffc19
je 0x499548
cmp esi, 0xfffffc1b
jne 0x499564
cmp dword [ebp + 0xb0], 0
jne 0x499564
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x499489
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.0049b450
test eax, eax
jne 0x499489
mov dword [ebp + 0x80], ebx
lea eax, [esi - 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4bfe48]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004920c0
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x4995fd
cmp ecx, 0xfffffc1d
je 0x4995fd
cmp ecx, 0xfffffc1e
je 0x4995fd
cmp ecx, 0xfffffc1f
je 0x4995fd
cmp ecx, 0xfffffc20
mov eax, 0xfffffc1a
cmovne eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4bfe48]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x499649
cmp eax, 0xfffffc20
jne 0x4974c4
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0xb4], esi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4bfe48]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004920c0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x4996b5
cmp ecx, 0xfffffc19
jne 0x4996c4
cmp dword [ebp + 0xb0], 0
jne 0x4996c4
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x499649
cmp ecx, 0xfffffc20
mov eax, 0xfffffc1d
cmovne eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4bfe48]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x499724
cmp eax, 0xfffffc1d
je 0x499724
cmp eax, 0xfffffc20
jne 0x4974c4
mov dword [ebp + 0x80], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4bfe48]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004920c0
add esp, 0x14
test eax, eax
je 0x4997ee
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0xb4], esi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4bfe48]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004920c0
add esp, 0x14
cmp eax, 1
je 0x4997d3
cmp eax, 0xfffffc19
jne 0x4997e2
cmp dword [ebp + 0xb0], 0
jne 0x4997e2
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x4974c4
mov esi, dword [esp + 0x14]
mov dword [ebp + 0x80], esi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x16c]
cmp ebx, esi
jne 0x499844
cmp edx, 0x99
je 0x499844
cmp dword [ebp + 0xa8], 0
jne 0x499844
cmp dword [ebp + 0x5c], 0
jne case.default.0x493afc
cmp dword [ebp + 0x60], 0
je 0x499844
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x493afc
mov dword [ebp + 0x84], ebx
test edx, edx
mov eax, 0xfffffc19
mov dword [ebp + 0x90], edi
mov ecx, 1
mov dword [ebp + 0x80], esi
cmove eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x158
ret