Function at 0x492590
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 0x4925ee
cmp dword [esp + 0x17c], edx
jne 0x4925d3
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.00492590
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 + 0x44], 0
mov dword [esp + 0x34], 0
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jae 0x49797b
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 0x499e2e
cmp dword [ebp + 0x9c], 2
jne 0x492672
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 0x492692
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.0x4926be.98
movzx eax, byte [edx + 0x499f88]
jmp dword [eax*4 + 0x499e40]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4bfde8]
je 0x497a3b
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x492692
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.00492590
mov edx, eax
add esp, 0x14
cmp edx, 1
je 0x492803
cmp edx, 0xfffffc20
jne 0x49276d
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x80], eax
jae 0x499a3a
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0x71
je 0x492779
cmp word [eax], 0x71
jne 0x499a3a
jmp 0x492779
test edx, edx
jne 0x499a3a
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov edx, dword [esp + 0x174]
lea ecx, [ecx + eax*2]
mov dword [edx + 0xb0], esi
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x4926f6
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x4927b4
cmp eax, 0x71
jne case.default.0x493ff8
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x71
je 0x4927b4
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x1c], ebx
cmp ecx, 0x72
je 0x4927e9
cmp ebx, edi
jne 0x497723
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
jmp 0x492692
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
movzx ecx, word [esi]
mov dword [esp + 0x16c], eax
jmp 0x4927a3
xor ebp, ebp
mov dword [esp + 0x38], ebp
jmp 0x493368
cmp word [esi + 4], 0x70
movzx ebp, word [esi + 2]
jne 0x492936
movzx edi, word [esi + 6]
mov esi, dword [0x4e9e18]
add edi, edi
test esi, esi
je 0x492929
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.0x493ff8
js 0x497984
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 0x492b5f
cmp ecx, 0x8a
je 0x492b5f
cmp ecx, 0x87
je 0x4929d4
cmp ecx, 0x88
je 0x4929d4
cmp ecx, 0x8b
jne 0x492979
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492cf8
mov esi, dword [esp + 0x174]
mov ecx, ebx
mov dword [esi + 0x9c], 1
mov eax, dword [esp + 0x17c]
inc eax
push eax
push 0
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00492590
add esp, 0x14
cmp eax, 1
je 0x4977b4
test eax, eax
je 0x4929c6
cmp eax, 0xfffffc20
jne 0x497984
mov eax, dword [esp + 0x14]
lea eax, [eax + ebp*2]
mov ebp, esi
jmp 0x492cff
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x4929f8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + edx*4], 0
jge 0x492b35
xor edi, edi
cmp ecx, 0x88
jne 0x492b4b
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 + 0x40], eax
test edx, edx
jle 0x492a62
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
nop
movzx eax, word [ebp]
cmp eax, esi
je 0x492a56
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 0x492a30
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
cmp ecx, edx
jge 0x492b4b
cmp ebp, eax
mov esi, ebp
mov eax, dword [esp + 0x174]
jbe 0x492ac9
mov eax, dword [eax + 0x24]
lea ecx, [ebp + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.0049b9e0
test eax, eax
jne 0x492b28
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492ab5
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492b35
mov eax, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp esi, dword [eax + 0x28]
ja 0x492a77
xor edi, edi
mov esi, dword [esp + 0x30]
inc esi
cmp esi, dword [eax + 0x20]
jge 0x492b4b
lea ecx, [ebp + 2]
mov dword [esp + 0x30], ecx
nop
mov eax, dword [eax + 0x24]
lea ebp, [ebp + eax*2]
lea edx, [ebp + 2]
call fcn.0049b9e0
test eax, eax
jne 0x492b4b
movzx eax, word [ebp]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492b13
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492b35
mov eax, dword [esp + 0x174]
inc esi
xor edi, edi
cmp esi, dword [eax + 0x20]
jge 0x492b4b
mov ecx, dword [esp + 0x30]
jmp 0x492ae0
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x174]
jmp 0x492ac9
mov ecx, dword [esp + 0x14]
mov eax, 2
mov edi, 1
lea eax, [ecx + eax*2]
jmp 0x492cee
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x492cee
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x492b7c
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492cff
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x492ce1
cmp edx, dword [eax + 4]
je 0x492ce1
xor edi, edi
cmp ecx, 0x8a
jne 0x492cdb
mov ecx, dword [esp + 0x174]
mov eax, dword [ebp + 0x28]
mov ebp, eax
mov dword [esp + 0x40], 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 0x492c06
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
movzx eax, word [ebp]
cmp eax, edx
je 0x492bf6
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 0x492bd0
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], ebp
cmp ecx, esi
jge 0x492cd7
cmp ebp, eax
jbe 0x492c67
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.0049b9e0
test eax, eax
jne 0x492c4f
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x492c4f
cmp esi, dword [ebp + 0x28]
ja 0x492c22
mov ebp, dword [esp + 0x30]
test ebx, ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
jne 0x492cc9
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x38]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x492cd7
mov ebx, dword [esp + 0x2c]
lea edi, [ebp + 2]
nop
mov eax, dword [edx + 0x24]
mov ecx, edi
lea edx, [eax*2]
add edx, ebp
mov ebp, edx
add edx, 2
call fcn.0049b9e0
test eax, eax
jne 0x492cbd
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 0x492cbd
inc esi
cmp esi, dword [edx + 0x20]
jl 0x492c80
mov dword [esp + 0x2c], ebx
test ebx, ebx
mov ebx, dword [esp + 0x1c]
je 0x492cd3
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
jmp 0x492ce6
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x492ceb
mov edi, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test edi, edi
jne 0x4977f5
mov ebp, dword [esp + 0x174]
mov ecx, eax
cmp word [ecx], 0x71
je 0x4977f5
mov edi, dword [esp + 0x170]
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x492692
movzx edx, word [esi + 2]
mov dword [ebp + 0x94], edx
lea esi, [edx + edx]
cmp esi, dword [ebp + 0x14]
jl 0x492d47
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x492692
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 0x492d71
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492692
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x492da1
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x492da3
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.00492590
add esp, 0x14
cmp eax, 1
je 0x492e0e
cmp eax, 0xfffffc19
je 0x492e0e
test eax, eax
je 0x492de9
cmp eax, 0xfffffc20
jne 0x497984
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 0x492da3
mov esi, dword [esp + 0x14]
jmp 0x492e22
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.0x493ff8
test edi, edi
jne 0x497c80
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492e34
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x492692
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x492e7b
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x492e7d
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.00492590
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x493ff8
cmp eax, 0xfffffc19
je case.default.0x493ff8
cmp eax, 0xfffffc1e
je 0x492f00
cmp eax, 0xfffffc1d
je 0x492f00
cmp eax, 0xfffffc1a
je 0x492f00
test eax, eax
je 0x492ee6
cmp eax, 0xfffffc20
jne 0x497984
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 0x492e81
mov esi, ecx
jmp 0x492f12
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492f04
test edi, edi
jne 0x497c80
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492692
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x492f62
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x1c], ebx
cmp ebx, edx
jb case.default.0x493ff8
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x492f5e
add ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
test ecx, ecx
jg 0x492f38
cmp ebx, dword [ebp + 0x88]
jae 0x492f70
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492692
movzx edi, word [esi + 2]
mov esi, dword [0x4e9e18]
test esi, esi
je 0x493065
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.0x493ff8
js 0x497984
mov esi, dword [esp + 0x14]
lea esi, [esi + edi*2]
mov edi, dword [esp + 0x170]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x492692
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x493091
xor ecx, ecx
jmp 0x493095
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x4930b5
cmp ecx, dword [eax + 4]
jne 0x4930af
cmp ebx, dword [eax + 0x10]
je 0x497ad0
mov eax, dword [eax]
test eax, eax
jne 0x4930a1
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 0x4930eb
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x493109
shl eax, 2
push eax
call fcn.0049f95d
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x497b05
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call fcn.0049d480
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
mov eax, 0x82
cmp bp, ax
jb 0x493137
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 + 0x4bfde8]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.00492590
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.0049d480
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x493212
cmp esi, 0xfffffc19
je 0x493212
test esi, esi
je 0x4931c3
cmp esi, 0xfffffc20
jne 0x497ae0
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 0x493123
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.0x493ff8
push eax
call fcn.0049f942
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 0x49322a
push eax
call fcn.0049f942
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 0x49268e
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x4926be.113
mov dword [esp + 0x14], esi
jmp 0x492692
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
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 0x4932a0
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492692
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 0x4932d0
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.00492590
add esp, 0x14
test eax, eax
je 0x492692
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 0x493320
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x492692
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 0x493368
cmp edx, 0x85
jne 0x493554
movzx edx, word [esi + 4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x30], edx
lea eax, [edx + edx]
cmp eax, dword [ecx + 0x14]
jge 0x49354e
mov edi, esi
lea eax, [edx*8]
sub edi, dword [ecx + 0x74]
xor ebp, ebp
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x40], eax
sar edi, 1
mov esi, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x24], esi
mov eax, dword [eax + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x2c], eax
mov esi, dword [ecx + 0x94]
nop dword [eax]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov dword [eax + ecx*4], edx
jb 0x493406
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 + 0x4bfde8]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00492590
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x493482
mov ecx, dword [esp + 0x174]
mov ebp, 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 + edi*2]
mov dword [esp + 0x14], eax
jmp 0x4933c3
cmp ecx, 0xfffffc20
jne 0x4934c1
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x4934b4
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x4934c9
cmp word [eax], 0x71
je 0x4934c9
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test ecx, ecx
jne 0x4934b4
mov edx, dword [esp + 0x14]
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 0x4933d0
test ebp, ebp
jne 0x493521
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x24]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x28]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [esp + 0x30]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], edx
cmp dword [esp + 0x38], 0
jne 0x493530
test ebp, ebp
je case.default.0x493ff8
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
add esi, 4
mov edi, dword [esp + 0x170]
mov dword [esp + 0x14], esi
jmp 0x492692
mov edx, dword [esp + 0x20]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
cmp edx, 0x82
jb 0x493574
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 + 0x4bfde8]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00492590
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4935ee
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 0x493562
cmp ecx, 0xfffffc20
jne 0x493624
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x4934b4
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x49362c
cmp word [eax], 0x71
jmp 0x493626
test ecx, ecx
jne 0x4934b4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
je 0x493562
test edi, edi
jne 0x49365d
test ebp, ebp
je case.default.0x493ff8
mov esi, dword [esp + 0x14]
mov ebp, ecx
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492692
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 0x49369f
cmp ecx, 0x7b
je 0x49369f
mov dword [esp + 0x30], 0
jmp 0x4936b8
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 0x4936c6
cmp ecx, 0x7a
jbe 0x497c60
cmp ecx, 0x7c
je 0x497c60
cmp ecx, 0x7f
je 0x4936f6
mov eax, 0x84
cmp cx, ax
je 0x4936f6
mov eax, 0x80
cmp cx, ax
je 0x4936f6
mov eax, 0x85
cmp cx, ax
jne 0x4937d0
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x493717
cmp dword [eax + 4], edi
je 0x497b15
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x493764
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x493746
cmp ebx, dword [esp + 0x30]
jne 0x497826
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x497c16
mov ebp, dword [esp + 0x174]
jmp 0x492692
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x493796
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x49378f
mov eax, ecx
nop
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x493780
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 0x493730
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x493730
mov edx, dword [esp + 0x174]
jmp 0x493734
cmp dword [ebp + 0x44], 0
je case.0x4926be.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x493ff8
cmp ebx, dword [ebp + 0x78]
jne case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp dword [ebp + 0x44], 0
je 0x493814
cmp ebx, dword [ebp + 0x78]
je case.default.0x493ff8
mov ecx, dword [ebp + 0x78]
jmp 0x49381f
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x493ff8.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x493ff8
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493865
cmp ebx, ecx
jbe 0x49384f
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049bb30
add esp, 0xc
test eax, eax
je 0x49384f
mov eax, 1
jmp 0x493851
xor eax, eax
test eax, eax
je case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x493ff8
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493ff8
cmp esi, 1
je 0x49389a
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493ff8
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x492692
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493958
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493918
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049ba70
add esp, 0xc
neg eax
sbb eax, eax
neg eax
je case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493ff8
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493ff8
cmp edx, 1
je case.0x493ff8.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp dword [ebp + 0x48], 0
jne case.default.0x493ff8
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493ff8.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493ff8.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp dword [ebp + 0x48], 0
jne case.default.0x493ff8
cmp dword [ebp + 0x58], 0
je case.0x4926be.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x493ff8
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493ff8.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493ff8.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493a5c
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x493a18
push 1
push esi
push ecx
mov ecx, ebx
call fcn.0049ba70
add esp, 0xc
neg eax
sbb eax, eax
neg eax
je case.default.0x493ff8
jmp 0x493a47
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493ff8
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493ff8
cmp edx, 1
je 0x493a47
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493ff8
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x493ff8
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493ff8.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493ff8.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x78]
jne 0x493af7
lea esi, [ebp + 0x88]
xor edi, edi
mov ecx, 0x54
mov eax, ebp
lea edx, [ecx + eax]
cmp ebx, dword [ebp + 0x7c]
jb 0x493bba
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x493ad4
cmp ebx, dword [esi]
jbe 0x493ad4
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
xor ecx, ecx
lea edx, [ecx + 1]
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
add esi, 2
mov dword [esp + 0x14], esi
cmp eax, 5
jne 0x493c69
xor edi, edx
jmp 0x493c6b
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x493b13
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
lea esi, [ebp + 0x88]
jae 0x493b23
mov dword [esi], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493b4e
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 0x493b97
cmp ecx, 0x5f
je 0x493bb0
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x493bb0
cmp eax, 3
je 0x493bb0
jmp 0x493aa1
cmp ecx, 0x100
jae 0x493aa1
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x493aa1
mov edi, 1
jmp 0x493aa3
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493be5
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 0x493c44
cmp ecx, 0x5f
jne 0x493bff
mov ecx, 1
xor edx, edx
jmp 0x493ad9
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x493c38
cmp eax, 3
jne 0x493ad4
mov ecx, 1
xor edx, edx
jmp 0x493ad9
cmp ecx, 0x100
jae 0x493ad4
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x493ad4
mov ecx, 1
xor edx, edx
jmp 0x493ad9
xor edi, ecx
test edi, edi
jne case.default.0x493ff8
mov edi, dword [esp + 0x170]
jmp 0x492692
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x493cb5
cmp ebx, ecx
jae 0x493ca9
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049ba70
add esp, 0xc
test eax, eax
je 0x493ca9
mov eax, 1
jmp 0x493cab
xor eax, eax
test eax, eax
jne case.default.0x493ff8
jmp case.0x4926be.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x4926be.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x4926be.13
cmp edx, 1
je case.default.0x493ff8
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x493ff8
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x497c90
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, eax
jae 0x493d13
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x493d13
add ebx, 2
mov dword [esp + 0x1c], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493d7c
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.0x493ff8.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493de2
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.0x493ff8
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493e48
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.0x493ff8.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493eae
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.0x493ff8
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493f14
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.0x493ff8.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493f7a
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.0x493ff8
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493fe2
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 0x494024
je case.0x493ff8.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493ff8
jmp dword [ecx*4 + 0x49a024]
cmp ebx, edx
jae case.0x493ff8.10
cmp word [ebx], 0xa
jne case.0x493ff8.10
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x492692
sub ecx, 0x2028
je case.0x493ff8.11
sub ecx, 1
jne case.default.0x493ff8
cmp dword [ebp + 0x68], 0
jne case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49408c
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 0x4940ea
je case.default.0x493ff8
cmp ecx, 0xa0
ja 0x4940c6
je case.default.0x493ff8
cmp ecx, 9
je case.default.0x493ff8
cmp ecx, 0x20
je case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ecx, 0x1680
je case.default.0x493ff8
cmp ecx, 0x180e
je case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ecx, 0x3000
ja case.0x494112.8203
je case.default.0x493ff8
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x494112.8203
movzx eax, byte [ecx + 0x49a03c]
jmp dword [eax*4 + 0x49a034]
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49415a
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 0x49419e
je case.0x494112.8203
cmp ecx, 0xa0
ja 0x494187
je case.0x494112.8203
cmp ecx, 9
je case.0x494112.8203
cmp ecx, 0x20
jmp 0x4937ee
cmp ecx, 0x1680
je case.0x494112.8203
cmp ecx, 0x180e
jmp 0x4937ee
cmp ecx, 0x3000
ja case.default.0x493ff8
je case.0x494112.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493ff8
movzx eax, byte [ecx + 0x49a0a4]
jmp dword [eax*4 + 0x49a09c]
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49420e
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 0x49422f
je case.default.0x493ff8
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x494112.8203
jmp dword [ecx*4 + 0x49a104]
sub ecx, 0x2028
je case.default.0x493ff8
sub ecx, 1
je case.default.0x493ff8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494291
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 0x4942b2
je case.0x494112.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493ff8
jmp dword [ecx*4 + 0x49a114]
sub ecx, 0x2028
je case.0x494112.8203
sub ecx, 1
jmp 0x4937ee
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494307
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 + 0x4ccc30]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x494332
jmp dword [ecx*4 + 0x49a124]
cmp dword [esp + 0x20], 0xf
jmp 0x494489
mov al, byte [eax*8 + 0x4cbb51]
cmp al, 9
je 0x494478
cmp al, 5
je 0x494478
cmp al, 8
je 0x494478
xor ecx, ecx
jmp 0x49447d
movzx ecx, byte [eax*8 + 0x4cbb51]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4bfd70]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x494489
movzx eax, byte [eax*8 + 0x4cbb51]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x494484
movzx eax, byte [eax*8 + 0x4cbb50]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x494484
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x494478
cmp eax, 3
je 0x494478
xor ecx, ecx
jmp 0x49447d
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 6
je 0x494478
cmp edx, 9
je 0x494478
cmp edx, 0xa
je 0x494478
cmp edx, 0xc
je 0x494478
cmp edx, 0xd
je 0x494478
xor ecx, ecx
jmp 0x49447d
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 6
je 0x494478
cmp edx, 9
je 0x494478
cmp edx, 0xa
je 0x494478
cmp edx, 0xb
jmp 0x494416
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x494478
cmp eax, 3
je 0x494478
cmp edx, 0x5f
je 0x494478
xor ecx, ecx
jmp 0x49447d
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x493ff8
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x492692
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x497c90
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4944de
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 2
je case.default.0x493ff8
cmp ebx, esi
jae 0x49458e
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 0x494555
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 2
jne 0x49458a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x494520
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492692
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 + 0x40], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], esi
cmp ecx, edi
jge 0x4945d4
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x4945d4
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x4945de
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.0x4945fa
movzx eax, byte [edi + 0x49a150]
jmp dword [eax*4 + 0x49a148]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4bf5e8]
and eax, 1
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x4bf5e0]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x494659
mov dword [esp + 0x24], connect
jmp 0x494659
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 0x492687
jns 0x494672
test esi, esi
je 0x492687
cmp esi, 1
jl 0x4946af
mov edi, 1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004923e0
add esp, 0xc
test eax, eax
js 0x4980c9
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x40]
inc edi
mov dword [esp + 0x1c], ebx
cmp edi, esi
jle 0x494680
mov eax, dword [esp + 0x24]
cmp esi, eax
je 0x492680
cmp dword [esp + 0x30], 0
je 0x497cd3
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov edi, dword [esp + 0x38]
mov dword [esp + 0x48], esi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493ff8
push dword [esp + 0x40]
mov esi, dword [esp + 0x178]
mov edx, ebx
push esi
push ebp
mov ecx, edi
call fcn.004923e0
add esp, 0xc
test eax, eax
js 0x497cbf
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.00492590
add esp, 0x14
mov dword [esp + 0x48], esi
test eax, eax
je 0x494710
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.004923e0
add esp, 0xc
test eax, eax
js 0x497cbf
mov edi, dword [esp + 0x170]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x1c], ebx
mov ebp, esi
jmp 0x49268e
movzx eax, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x4947e1
movzx eax, byte [ecx + 0x49a160]
jmp dword [eax*4 + 0x49a158]
movsx eax, byte [ecx + 0x4bf5e0]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf5e8]
and edx, 1
add esi, 2
mov dword [esp + 0x18], edx
test eax, eax
mov ecx, SysReAllocString
cmove eax, ecx
jmp 0x49482f
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 0x4948de
jmp 0x49485d
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 0x4982ae
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4948a5
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
cmp edx, 0xff
jbe 0x4948ba
cmp dword [esp + 0x20], 0x6a
je case.default.0x493ff8
jmp 0x4948d9
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x493ff8
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, edi
jle 0x494864
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x492680
cmp dword [esp + 0x18], 0
je 0x497df6
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493ff8
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4982ae
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49497c
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 0x497d94
cmp dword [esp + 0x20], 0x6a
je case.default.0x493ff8
jmp 0x497db3
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
mov dword [esp + 0x3c], 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.0x4949c2
movzx eax, byte [ecx + 0x49a170]
jmp dword [eax*4 + 0x49a168]
movsx eax, byte [ecx + 0x4bf5e0]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf5e8]
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 0x494a22
mov dword [esp + 0x24], connect
jmp 0x494a22
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 0x494aa1
jmp 0x494a40
mov edi, 1
mov dword [esp + 0x24], 1
mov esi, edi
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4982ae
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494a88
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.0049bc20
add esp, 4
test eax, eax
je case.default.0x493ff8
inc esi
cmp esi, edi
jle 0x494a40
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x492680
cmp dword [esp + 0x18], 0
je 0x497f70
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493ff8
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4982ae
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494b3f
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.0049bc20
add esp, 4
test eax, eax
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x494af5
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 0x4980ae
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.0x493ff8
test edx, edx
jg 0x494bd0
jmp 0x49268e
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
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 0x494c40
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x494c45
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x494c85
mov edi, 0xff
mov ecx, eax
cmp ax, di
ja 0x494c63
mov eax, dword [ebp + 0x34]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp + 0x34]
movzx eax, byte [edx + eax]
cmp eax, ecx
jne case.default.0x493ff8
mov edi, dword [esp + 0x170]
add ebx, 2
mov dword [esp + 0x1c], ebx
jmp 0x492692
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
cmp eax, 0xd800
jne 0x494cba
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, [edi + ecx]
mov edi, dword [esp + 0x170]
mov dword [esp + 0x14], eax
cmp edx, esi
je 0x49268e
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
mov eax, dword [eax*8 + 0x4cbb54]
add eax, edx
cmp esi, eax
jne case.default.0x493ff8
jmp 0x49268e
movzx ebp, word [esi + 2]
add esi, 4
mov edi, ebp
jmp 0x494dbe
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 0x494d36
mov dword [esp + 0x18], edi
cmp ecx, 0x35
jne 0x494d3e
mov dword [esp + 0x18], 1
add esi, 4
jmp 0x494dc6
xor edi, edi
mov dword [esp + 0x2c], 1
mov ebp, SysReAllocString
add esi, 2
jmp 0x494dbe
mov dword [esp + 0x2c], 1
mov edi, 1
mov ebp, SysReAllocString
add esi, 2
jmp 0x494dbe
xor edi, edi
mov dword [esp + 0x2c], 1
add esi, 2
lea ebp, [edi + 1]
jmp 0x494dbe
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 + 0x4bf5e0]
movsx edi, byte [eax + 0x4bf5e8]
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 0x4951ac
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 + 0x40], esi
cmp dword [esp + 0x20], 0x2e
jb 0x494e53
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc30]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
mov ecx, dword [eax*8 + 0x4cbb54]
add ecx, edx
cmp ecx, edx
je 0x494e53
lea edx, [esp + 0x74]
call fcn.0049ba10
mov dword [esp + 0x38], eax
jmp 0x494e5b
mov dword [esp + 0x38], 0
mov ebp, 1
cmp edi, ebp
jl 0x494f92
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x20], ecx
lea eax, [ecx - 4]
mov dword [esp + 0x3c], eax
nop dword [eax]
cmp ebx, eax
ja 0x494ef4
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494eb6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494ebb
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494ea5
cmp esi, 0xfffffffc
je 0x494ee8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494ef0
cmp esi, 0xfffffffd
je 0x494ee8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494ef0
cmp esi, 0xfffffffe
je 0x494ee8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494ef0
cmp esi, 0xffffffff
je 0x494ee8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494ef0
add ebx, 4
jmp 0x494f79
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
test edx, edx
jle 0x4980c9
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4980c9
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494f31
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494f36
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494f20
cmp esi, 0xfffffffc
je 0x494f73
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4980c9
cmp esi, 0xfffffffd
je 0x494f73
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4980c9
cmp esi, 0xfffffffe
je 0x494f73
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4980c9
cmp esi, 0xffffffff
je 0x494f73
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4980c9
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x3c]
inc ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jle 0x494e90
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x492680
cmp dword [esp + 0x18], 0
jne 0x4980ff
mov ebp, ebx
mov dword [esp + 0x18], ebp
cmp edi, eax
jge 0x4950ce
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x20], eax
lea ebp, [eax - 4]
cmp ebx, ebp
ja 0x49502f
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494ff1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494ff6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494fe0
cmp esi, 0xfffffffc
je 0x495023
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49502b
cmp esi, 0xfffffffd
je 0x495023
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49502b
cmp esi, 0xfffffffe
je 0x495023
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49502b
cmp esi, 0xffffffff
je 0x495023
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49502b
add ebx, 4
jmp 0x4950af
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x495175
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x495175
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x495067
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49506c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x495056
cmp esi, 0xfffffffc
je 0x4950a9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x495175
cmp esi, 0xfffffffd
je 0x4950a9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x495175
cmp esi, 0xfffffffe
je 0x4950a9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x495175
cmp esi, 0xffffffff
je 0x4950a9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x495175
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
inc edi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edi
cmp edi, dword [esp + 0x24]
jl 0x494fc8
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x492680
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
cmp ebx, ebp
je case.default.0x493ff8
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49513b
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.00492590
add esp, 0x14
test eax, eax
je 0x495117
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 0x4951a3
cmp ebx, dword [esi + 0x7c]
jb 0x4951a3
cmp ebx, dword [esi + 0x88]
jbe 0x4951a3
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4998d3
mov ebp, dword [esp + 0x18]
jmp 0x4950d5
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x4952cc
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x4951f1
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4ccc30]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
mov ebp, dword [eax*8 + 0x4cbb54]
add ebp, esi
jmp 0x4951f8
mov eax, dword [edx + 0x38]
movzx ebp, byte [eax + esi]
mov ecx, 1
cmp edi, ecx
jl 0x49523b
mov edx, dword [edx + 0x7c]
mov eax, dword [esp + 0x14]
nop dword [eax + eax]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x4982a7
movzx eax, word [ebx]
cmp esi, eax
je 0x49522b
cmp ebp, eax
jne case.default.0x493ff8
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x1c], ebx
cmp ecx, edi
jle 0x495210
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x492680
cmp dword [esp + 0x18], 0
jne 0x498317
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, eax
jge 0x495283
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4952a1
movzx eax, word [ebx]
cmp esi, eax
je 0x495275
cmp ebp, eax
jne 0x495283
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, dword [esp + 0x24]
jl 0x495266
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x4982c1
mov edi, dword [esp + 0x170]
jmp 0x49268e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49528a
cmp ebx, dword [ebp + 0x88]
jbe 0x49528a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
jmp 0x49528a
cmp edi, 1
jl 0x495303
mov eax, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x4982a7
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp esi, eax
jne case.default.0x493ff8
inc ecx
cmp ecx, edi
jle 0x4952e0
mov ecx, dword [esp + 0x14]
cmp edi, ebp
je 0x492680
cmp dword [esp + 0x18], 0
jne 0x498417
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, ebp
jge 0x495347
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x495365
movzx eax, word [ebx]
cmp esi, eax
jne 0x495347
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jl 0x495330
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x4983c5
mov edi, dword [esp + 0x170]
jmp 0x49268e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49534e
cmp ebx, dword [ebp + 0x88]
jbe 0x49534e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
jmp 0x49534e
cmp ebx, dword [ebp + 0x7c]
jae 0x497c90
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 0x4953d4
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 0x49542f
cmp edx, 0x7f
jbe 0x495413
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
mov eax, dword [eax*8 + 0x4cbb54]
add eax, edx
jmp 0x49541a
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x493ff8
cmp eax, esi
je case.default.0x493ff8
jmp 0x49268e
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x493ff8
jmp 0x49268e
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], eax
mov edi, eax
jmp 0x49550d
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], eax
cmp ecx, 0x42
je 0x49546a
mov dword [esp + 0x18], edi
cmp ecx, 0x4f
jne 0x495472
mov dword [esp + 0x18], 1
lea ecx, [esi + 4]
jmp 0x49550d
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x495505
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x495505
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x28], 1
jmp 0x49550d
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x49550d
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 + 0x4bf5e8]
movsx eax, byte [eax + 0x4bf5e0]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x49550d
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 0x4956b1
cmp ebp, 0x7f
jbe 0x495560
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4ccc30]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4cbb54]
add ebp, dword [esp + 0x24]
jmp 0x49556e
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x30], ebp
cmp edi, 1
jl 0x4955db
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4955c0
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 dword [esp + 0x24], ecx
je case.default.0x493ff8
cmp ebp, ecx
je case.default.0x493ff8
inc edx
cmp edx, edi
jle 0x495580
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x4927f0
cmp dword [esp + 0x18], 0
jne 0x49856f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x495664
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x495686
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495643
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 0x49565d
cmp dword [esp + 0x30], ecx
je 0x49565d
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x495606
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x4984df
mov ebp, dword [esp + 0x174]
jmp 0x492692
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x495664
cmp ebx, dword [ecx + 0x88]
jbe 0x495664
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4998d3
jmp 0x495664
cmp edi, 1
jl 0x495715
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495704
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 ebp, ecx
je case.default.0x493ff8
inc edx
cmp edx, edi
jle 0x4956c4
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x4927f0
cmp dword [esp + 0x18], 0
jne 0x4986df
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x495798
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4957ba
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49577d
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 0x495791
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x495740
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x49864f
mov ebp, dword [esp + 0x174]
jmp 0x492692
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x495798
cmp ebx, dword [ecx + 0x88]
jbe 0x495798
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4998d3
jmp 0x495798
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 0x4958be
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 0x4958be
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x4958b6
mov ebp, 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x4958b6
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
mov dword [esp + 0x20], 1
jmp 0x4958be
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 0x4958be
add edx, 0xffffffab
lea ecx, [esi + 2]
mov eax, edx
and edx, 1
mov dword [esp + 0x18], edx
movsx ebp, byte [eax + 0x4bf5e8]
movsx eax, byte [eax + 0x4bf5e0]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4958be
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 0x4958e3
cmp edx, 0xf
je 0x4958e3
or eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x495909
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 + 0x44], esi
test ebp, ebp
jle 0x49665b
test eax, eax
js 0x495e81
cmp eax, 8
ja case.default.0x494332
jmp dword [eax*4 + 0x49a178]
cmp dword [esp + 0x34], 0
jne case.default.0x493ff8
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
mov ecx, ebx
cmp ebx, esi
jae 0x4982a7
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 0x495943
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4959c0
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
mov al, byte [eax*8 + 0x4cbb51]
cmp al, 9
je 0x4959f3
cmp al, 5
je 0x4959f3
cmp al, 8
je 0x4959f3
xor eax, eax
jmp 0x4959f8
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x495988
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495a58
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 + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4ccc30]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], edi
mov edi, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x495a20
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495aef
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc30]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x495ab7
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495b7b
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc30]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb50]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x495b43
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495c08
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x495c41
cmp eax, 3
je 0x495c41
xor eax, eax
jmp 0x495c46
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x495bd0
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x4982a7
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ca9
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 + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 6
je 0x495cf1
cmp edx, 9
je 0x495cf1
cmp edx, 0xa
je 0x495cf1
cmp edx, 0xc
je 0x495cf1
cmp edx, 0xd
je 0x495cf1
xor eax, eax
jmp 0x495cf6
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
inc esi
cmp esi, ebp
jle 0x495c71
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x4982a7
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495d5d
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 + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 6
je 0x495daa
cmp edx, 9
je 0x495daa
cmp edx, 0xa
je 0x495daa
cmp edx, 0xb
je 0x495daa
cmp edx, 0xc
je 0x495daa
cmp edx, 0xd
je 0x495daa
xor eax, eax
jmp 0x495daf
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
inc esi
cmp esi, ebp
jle 0x495d25
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
nop
cmp ebx, edi
jae 0x4982a7
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495e20
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x495e60
cmp eax, 3
je 0x495e60
cmp edx, 0x5f
je 0x495e60
xor eax, eax
jmp 0x495e65
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
inc esi
cmp esi, ebp
jle 0x495de0
mov edi, dword [esp + 0x28]
jmp 0x49665b
cmp edx, 0x16
jne 0x495f9f
mov esi, dword [esp + 0x174]
lea edi, [edx - 0x15]
mov ebp, dword [esi + 0x7c]
cmp ebx, ebp
jae 0x4987b5
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ed1
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 2
je case.default.0x493ff8
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x495f7a
nop
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495f45
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 2
jne 0x495f7a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x495f10
mov esi, dword [esp + 0x174]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x495e97
mov ebp, dword [esp + 0x24]
mov ecx, esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496662
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x494332
jmp dword [eax*4 + 0x49a19c]
mov ecx, dword [esp + 0x174]
mov esi, 1
nop
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x4982a7
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x49602f
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049ba70
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jne case.default.0x493ff8
mov ecx, dword [esp + 0x174]
add ebx, 2
cmp ebx, dword [ecx + 0x7c]
jae 0x496021
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496021
add ebx, 2
inc esi
cmp esi, ebp
jle 0x495fc0
mov dword [esp + 0x1c], ebx
jmp 0x496662
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x495ffa
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496001
cmp edx, 1
je case.default.0x493ff8
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je case.default.0x493ff8
jmp 0x496001
mov esi, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [esi + 0x7c]
cmp ebx, edx
jae 0x4987b5
add ebx, 2
cmp ebx, edx
jae 0x496093
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x496093
add ebx, 2
inc ecx
cmp ecx, ebp
jle 0x496072
mov dword [esp + 0x1c], ebx
mov ecx, esi
jmp 0x496662
mov eax, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [eax + 0x7c]
sub eax, ecx
cmp ebx, eax
ja case.default.0x493ff8
add ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x4982ae
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496110
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 0x49616c
je case.0x49612e.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493ff8
jmp dword [ecx*4 + 0x49a1dc]
mov ebx, edx
cmp edx, edi
jae 0x49614f
cmp word [edx], 0xa
mov ecx, dword [esp + 0x174]
jne 0x496156
lea ebx, [edx + 2]
jmp 0x496156
mov ebx, edx
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, ebp
jle 0x4960d8
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496662
sub ecx, 0x2028
je case.0x49612e.11
sub ecx, 1
jne case.default.0x493ff8
mov ecx, dword [esp + 0x174]
mov ebx, edx
cmp dword [ecx + 0x68], 0
jne case.default.0x493ff8
jmp 0x496156
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4961d9
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 0x496233
je case.default.0x493ff8
cmp ecx, 0xa0
ja 0x496219
je case.default.0x493ff8
cmp ecx, 9
je case.default.0x493ff8
cmp ecx, 0x20
je case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x4961a1
mov dword [esp + 0x1c], ebx
jmp 0x49665b
cmp ecx, 0x1680
je case.default.0x493ff8
cmp ecx, 0x180e
je case.default.0x493ff8
jmp case.0x496253.8203
cmp ecx, 0x3000
ja case.0x496253.8203
je case.default.0x493ff8
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x496253.8203
movzx eax, byte [ecx + 0x49a1f4]
jmp dword [eax*4 + 0x49a1ec]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4962a8
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 0x4962f2
je case.0x496316.8193
cmp ecx, 0xa0
ja 0x4962dc
je case.0x496316.8193
cmp ecx, 9
je case.0x496316.8193
cmp ecx, 0x20
jne case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x496270
mov dword [esp + 0x1c], ebx
jmp 0x49665b
cmp ecx, 0x1680
je case.0x496316.8193
cmp ecx, 0x180e
jne case.default.0x493ff8
jmp case.0x496316.8193
cmp ecx, 0x3000
ja case.default.0x493ff8
je case.0x496316.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493ff8
movzx eax, byte [ecx + 0x49a25c]
jmp dword [eax*4 + 0x49a254]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496368
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 0x496385
je case.default.0x493ff8
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49637e
jmp dword [ecx*4 + 0x49a2bc]
sub ecx, 0x2028
je case.default.0x493ff8
sub ecx, 1
je case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x496330
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4963ef
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 0x49640c
je case.0x496405.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493ff8
jmp dword [ecx*4 + 0x49a2cc]
sub ecx, 0x2028
je case.0x496405.10
sub ecx, 1
jne case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x4963b7
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x4982a7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496478
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 0x496494
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493ff8
inc edx
cmp edx, ebp
jle 0x496440
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493ff8
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493ff8
inc edx
add ebx, 2
cmp edx, ebp
jle 0x4964b1
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x49652b
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493ff8
add ebx, 2
cmp ebx, esi
jae 0x49654a
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49654a
add ebx, 2
inc edx
cmp edx, ebp
jle 0x496500
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493ff8
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493ff8
inc edx
add ebx, 2
cmp edx, ebp
jle 0x496567
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4982a7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4965e1
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493ff8
add ebx, 2
cmp ebx, esi
jae 0x496600
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x496600
add ebx, 2
inc edx
cmp edx, ebp
jle 0x4965b6
mov dword [esp + 0x1c], ebx
jmp 0x49665b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4982a7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493ff8
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493ff8
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jle 0x496620
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x492680
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x30]
jne 0x498a1b
mov esi, ebx
mov dword [esp + 0x18], esi
test eax, eax
js 0x496d1c
cmp eax, 8
ja case.default.0x494332
jmp dword [eax*4 + 0x49a2dc]
cmp ebp, edx
jge 0x496cfe
mov edx, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop word [eax + eax]
cmp ebx, edx
jae 0x4966eb
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x34], 0
movzx ecx, ax
jne 0x496cfe
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 0x4966b0
jmp 0x496cfe
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496d05
cmp ebx, dword [ebp + 0x88]
jbe 0x496d05
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
jmp 0x496d05
cmp ebp, edx
jge 0x496cfe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
mov edx, 1
cmp ebx, esi
jae 0x4967c4
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49676d
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
mov al, byte [eax*8 + 0x4cbb51]
cmp al, 9
je 0x4967a0
cmp al, 5
je 0x4967a0
cmp al, 8
je 0x4967a0
xor eax, eax
jmp 0x4967a5
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x496cfa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496730
jmp 0x496cfa
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4967e9
cmp ebx, dword [ebp + 0x88]
jbe 0x4967e9
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x4998d3
mov esi, dword [esp + 0x18]
jmp 0x496d05
cmp ebp, edx
jge 0x496cfe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x44]
cmp ebx, esi
jae 0x49688f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49683e
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], edi
sete cl
cmp ecx, dword [esp + 0x34]
je 0x496cfa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496801
jmp 0x496cfa
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4967e9
cmp ebx, dword [ebp + 0x88]
jbe 0x4967e9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
mov esi, dword [esp + 0x18]
jmp 0x496d05
cmp ebp, edx
jge 0x496cfe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x49688f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496911
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x496cfa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x4968d8
jmp 0x496cfa
cmp ebp, edx
jge 0x496cfe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x49688f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4969a5
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb50]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x496cfa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496968
jmp 0x496cfa
cmp ebp, edx
jge 0x496cfe
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x4967c4
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496a3d
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x496a76
cmp eax, 3
je 0x496a76
xor eax, eax
jmp 0x496a7b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x496cfa
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496a00
jmp 0x496cfa
cmp ebp, edx
jge 0x496cfe
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x496b5b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496aed
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 + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 6
je 0x496b35
cmp edx, 9
je 0x496b35
cmp edx, 0xa
je 0x496b35
cmp edx, 0xc
je 0x496b35
cmp edx, 0xd
je 0x496b35
xor eax, eax
jmp 0x496b3a
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x496cfa
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496ab0
jmp 0x496cfa
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4967e9
cmp ebx, dword [ebp + 0x88]
jbe 0x4967e9
mov dword [ebp + 0x64], esi
cmp eax, 1
jg 0x4998d3
mov esi, dword [esp + 0x18]
jmp 0x496d05
cmp ebp, edx
jge 0x496cfe
mov edi, dword [ecx + 0x7c]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x496b5b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496bd9
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 + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 6
je 0x496c26
cmp edx, 9
je 0x496c26
cmp edx, 0xa
je 0x496c26
cmp edx, 0xb
je 0x496c26
cmp edx, 0xc
je 0x496c26
cmp edx, 0xd
je 0x496c26
xor eax, eax
jmp 0x496c2b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x496cfa
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496ba0
jmp 0x496cfa
cmp ebp, edx
jge 0x496cfe
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x496b5b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496c9d
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 + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x496cdd
cmp eax, 3
je 0x496cdd
cmp edx, 0x5f
je 0x496cdd
xor eax, eax
jmp 0x496ce2
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x496cfa
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496c60
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x4987db
mov edi, dword [esp + 0x170]
jmp 0x49268e
cmp edi, 0x16
jne 0x496e8a
cmp ebp, edx
jge 0x496e3d
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x496e5b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496d6d
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 2
je 0x496e39
mov eax, dword [esp + 0x174]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x496e2e
nop dword [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496df5
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 2
jne 0x496e2a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x496dc0
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496d30
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x498871
mov edi, dword [esp + 0x170]
jmp 0x49268e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496e84
cmp ebx, dword [ebp + 0x88]
jbe 0x496e84
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
mov esi, dword [esp + 0x18]
jmp 0x496e44
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x494332
jmp dword [eax*4 + 0x49a300]
cmp edx, 0x7fffffff
jge 0x496f92
cmp ebp, edx
jge 0x4971f4
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496f5a
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496f26
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049ba70
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jne 0x4971f4
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496f1a
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496f1a
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496eb1
jmp 0x4971f4
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496eeb
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496ef2
cmp edx, 1
je 0x4971f4
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4971f4
jmp 0x496ef2
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4971f4
cmp ebx, dword [ecx + 0x88]
jbe 0x4971f4
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4998d3
mov ebp, ecx
jmp 0x4971fb
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496f5a
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x497003
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049ba70
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jne 0x4971f4
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496ff7
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496ff7
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496f92
jmp 0x4971f4
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496fc8
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496fcf
cmp edx, 1
je 0x4971f4
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4971f4
jmp 0x496fcf
cmp edx, 0x7fffffff
jge 0x4970b5
cmp ebp, edx
jge 0x4971f4
mov ecx, dword [ecx + 0x7c]
nop
cmp ebx, ecx
jae 0x49707f
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, ecx
jae 0x497075
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x497075
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, edx
jl 0x497050
jmp 0x4971f4
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4971fb
cmp ebx, dword [ebp + 0x88]
jbe 0x4971fb
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
jmp 0x4971fb
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x4971fb
cmp ebx, dword [ebp + 0x88]
jbe 0x4971fb
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
jmp 0x4971fb
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 0x497124
mov eax, dword [ebp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x4971fb
cmp ecx, dword [ebp + 0x88]
jmp 0x4970d7
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
jmp 0x4971fb
cmp ebp, edx
jge 0x4971f4
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x497212
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49717c
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x497181
mov eax, 2
cmp ecx, 0xd
jne 0x4971a3
mov ebx, edx
mov dword [esp + 0x1c], ebx
cmp edx, esi
jae 0x4971f0
cmp word [ebx], 0xa
jne 0x4971e5
lea ebx, [edx + 2]
jmp 0x4971e1
cmp ecx, 0xa
je 0x4971df
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x497718
cmp ecx, 0xb
je 0x4971df
cmp ecx, 0xc
je 0x4971df
cmp ecx, 0x85
je 0x4971df
cmp ecx, 0x2028
je 0x4971df
cmp ecx, 0x2029
jne 0x497718
add ebx, eax
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x497140
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49896b
mov edi, dword [esp + 0x170]
jmp 0x49268e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49723b
cmp ebx, dword [ebp + 0x88]
jbe 0x49723b
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
mov esi, dword [esp + 0x18]
jmp 0x4971fb
cmp ebp, edx
jge 0x4971f4
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x497322
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49728d
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 0x4972f8
je case.0x497314.8193
cmp ecx, 0xa0
ja 0x4972e8
je case.0x497314.8193
cmp ecx, 9
je case.0x497314.8193
cmp ecx, 0x20
je case.0x497314.8193
xor ecx, ecx
xor eax, eax
cmp edi, 0x12
sete al
cmp ecx, eax
je 0x4971f0
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497250
jmp 0x4971f0
cmp ecx, 0x1680
je case.0x497314.8193
cmp ecx, 0x180e
jmp 0x4972b9
cmp ecx, 0x3000
ja case.0x497314.8203
je case.0x497314.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x497314.8203
movzx eax, byte [ecx + 0x49a348]
jmp dword [eax*4 + 0x49a340]
mov ecx, 1
jmp 0x4972c1
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49723b
cmp ebx, dword [ebp + 0x88]
jbe 0x49723b
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x4998d3
mov esi, dword [esp + 0x18]
jmp 0x4971fb
cmp ebp, edx
jge 0x4971f4
mov esi, dword [ecx + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x497322
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49739c
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 0x4973b5
je case.0x4973ae.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4973ae
jmp dword [ecx*4 + 0x49a3a8]
sub ecx, 0x2028
je case.0x4973ae.10
sub ecx, 1
je case.0x4973ae.10
xor ecx, ecx
jmp 0x4973cb
mov ecx, 1
xor eax, eax
cmp edi, 0x14
sete al
cmp ecx, eax
je 0x4971f0
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497363
jmp 0x4971f0
cmp ebp, edx
jge 0x4971f4
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x497212
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49743d
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 0x497459
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x4971f0
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497400
jmp 0x4971f0
cmp ebp, edx
jge 0x4971f4
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497212
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4974b4
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 0x4971f0
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x4971f0
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497477
jmp 0x4971f0
cmp ebp, edx
jge 0x4971f4
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497212
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49752f
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 0x49754b
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x4971f0
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4974f2
jmp 0x4971f0
cmp ebp, edx
jge 0x4971f4
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x497212
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4975ad
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 0x4971f0
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x4971f0
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497570
jmp 0x4971f0
cmp ebp, edx
jge 0x4971f4
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x497212
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49762d
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 0x497649
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x4971f0
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4975f0
jmp 0x4971f0
cmp ebp, edx
jge 0x4971f4
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4976d7
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4976a4
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 0x4971f0
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x4971f0
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497667
jmp 0x4971f0
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49723b
cmp ebx, dword [ebp + 0x88]
jbe 0x49723b
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x49723b
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x18]
mov ebp, edx
jmp 0x4971fb
cmp ecx, 0x74
mov ecx, ebx
jne 0x49776a
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49796b
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x49796b
mov eax, dword [esi + 0x90]
mov edx, dword [esp + 0x170]
cmp eax, edx
mov ecx, dword [esp + 0x14]
cmovg edx, eax
mov dword [esp + 0x170], edx
movzx eax, word [ecx + 6]
lea ecx, [ecx + eax*2]
add ecx, 4
cmp word [ecx], 0x71
jne 0x497803
mov edx, ecx
movzx eax, word [ecx + 2]
cmp word [edx + eax*2], 0x71
lea ecx, [edx + eax*2]
mov edx, ecx
je 0x4977e3
jmp 0x4977fc
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
add ecx, 4
cmp dword [esp + 0x20], 0x86
mov dword [esp + 0x14], ecx
je 0x497a96
mov ebp, dword [esp + 0x174]
mov esi, ecx
jmp 0x49796f
cmp eax, 0x75
je 0x497bfa
cmp eax, 0x74
jne 0x49788f
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x497b79
mov ecx, 0x82
cmp ax, cx
jae 0x497b38
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49796b
mov eax, 0x82
cmp word [ebp], ax
jb 0x4978a4
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.00492590
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4978e5
mov esi, dword [esp + 0x174]
cmp dword [esi + 0xb8], ebp
jne 0x497984
jmp 0x4978f4
test eax, eax
jne 0x497984
mov esi, dword [esp + 0x174]
mov ecx, dword [esp + 0x14]
add ecx, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], ecx
je 0x497bb7
mov ebp, dword [esp + 0x174]
mov esi, ecx
jmp 0x49796f
movzx ebp, word [esi + 4]
mov edi, dword [esp + 0x174]
lea eax, [ebp*2]
cmp eax, dword [edi + 0x14]
jl 0x4998e3
mov ebp, dword [esp + 0x174]
nop word [eax + eax]
cmp edx, 0x82
jae 0x49798f
cmp edx, 0x7b
je 0x49798f
cmp dword [ebp + 0x6c], 0
jne 0x497999
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x497999
movzx eax, cx
movzx eax, byte [eax + 0x4bfde8]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x492631
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 edi, dword [esp + 0x14]
inc eax
mov esi, dword [ebp + 0xb0]
push eax
push dword [esp + 0x17c]
movzx eax, word [edi]
push ebp
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4bfde8]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.00492590
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x497a08
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebp + 0x80], eax
jae 0x499a83
cmp word [edi], 0x71
je 0x497a10
cmp word [eax], 0x71
jne 0x499a83
jmp 0x497a10
test edx, edx
jne 0x499a47
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.0x493ff8
mov edx, dword [esp + 0x20]
mov ecx, 0x71
jmp 0x497940
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.00492590
add esp, 0x14
test eax, eax
je 0x497a7d
cmp eax, 0xfffffc1d
je 0x497a7d
cmp eax, 0xfffffc20
jne 0x497984
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 dword [esi + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push esi
push edx
push dword [esp + 0x17c]
mov edx, ecx
mov ecx, ebx
call fcn.00492590
add esp, 0x14
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 0x497af8
push eax
call fcn.0049f942
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.00492590
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
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
call fcn.00492590
add esp, 0x14
test eax, eax
je 0x497c43
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 esi
push edi
push dword [esp + 0x17c]
call fcn.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov dword [esi + 0xb8], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
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.0x493ff8
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x493ff8
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4998d3
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.0x493ff8
cmp ebx, dword [esi + 0x7c]
jb case.default.0x493ff8
jmp 0x4987c3
mov edi, ebx
cmp esi, eax
jge 0x497d41
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004923e0
add esp, 0xc
test eax, eax
js 0x497d0b
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x40]
inc esi
cmp esi, dword [esp + 0x24]
jl 0x497ce0
jmp 0x497d39
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x497d39
cmp ebx, dword [ecx + 0x7c]
jb 0x497d39
cmp ebx, dword [ecx + 0x88]
jbe 0x497d39
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4998d3
cmp ebx, edi
jb case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x497d41
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.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x494932
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x497e64
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x7c]
nop
cmp ebx, edi
jae 0x497f3a
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497e4d
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 0x497f01
cmp dword [esp + 0x20], 0x6a
jne 0x497f21
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493ff8
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497ec7
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.00492590
add esp, 0x14
test eax, eax
je 0x497ea2
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 + 0x3c]
test byte [edx + ecx], al
je 0x497e64
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 0x497e10
jmp 0x497e64
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497e6b
cmp ebx, dword [esi + 0x88]
jbe 0x497e6b
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4998d3
jmp 0x497e6b
mov ebp, ebx
cmp edi, eax
jge 0x497fe1
nop word [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x49807f
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497fc5
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 + 0x3c]
push 1
call fcn.0049bc20
add esp, 4
test eax, eax
je 0x497fe1
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x24]
jl 0x497f80
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493ff8
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498045
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.00492590
add esp, 0x14
test eax, eax
je 0x498020
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497fe8
cmp ebx, dword [esi + 0x88]
jbe 0x497fe8
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4998d3
jmp 0x497fe8
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x493ff8
cmp ebx, ecx
jb case.default.0x493ff8
jmp 0x497c9a
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493ff8
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x493ff8
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x493ff8
mov dword [ecx + 0x64], 1
jmp 0x497ca9
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493ff8
mov ebp, dword [ebp + 0x7c]
lea eax, [ebp - 4]
cmp ebx, eax
ja 0x4981bb
mov eax, dword [esp + 0x40]
mov ecx, ebx
mov edx, dword [esp + 0x30]
lea esi, [eax + eax]
sub esi, 4
jb 0x498181
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x498186
add ecx, 4
add edx, 4
sub esi, 4
jae 0x498170
cmp esi, 0xfffffffc
je 0x4981b3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4981bb
cmp esi, 0xfffffffd
je 0x4981b3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4981bb
cmp esi, 0xfffffffe
je 0x4981b3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4981bb
cmp esi, 0xffffffff
je 0x4981b3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4981bb
add ebx, 4
jmp 0x49823d
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x49828b
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x49828b
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4981f5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4981fa
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4981e4
cmp esi, 0xfffffffc
je 0x498237
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49828b
cmp esi, 0xfffffffd
je 0x498237
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49828b
cmp esi, 0xfffffffe
je 0x498237
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49828b
cmp esi, 0xffffffff
je 0x498237
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49828b
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.00492590
add esp, 0x14
test eax, eax
je 0x498140
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.0x493ff8
cmp ebx, ebp
jmp 0x4980e1
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493ff8
jmp 0x4980e7
cmp ebx, edi
jb case.default.0x493ff8
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.00492590
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497984
cmp ebx, edi
jae 0x4982d0
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
cmp edi, dword [esp + 0x24]
jge case.default.0x493ff8
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4982ae
movzx eax, word [ebx]
cmp esi, eax
je 0x49837b
cmp ebp, eax
jne case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x498352
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ebx, edi
jb case.default.0x493ff8
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.00492590
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497984
cmp ebx, edi
jae 0x4983d0
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov ecx, edi
cmp edi, ebp
jge case.default.0x493ff8
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4984b9
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x493ff8
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.00492590
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x498452
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x493ff8
cmp ebx, dword [edx + 0x88]
jbe case.default.0x493ff8
mov dword [edx + 0x64], 1
jmp 0x497ca9
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493ff8
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498535
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.00492590
add esp, 0x14
test eax, eax
je 0x498510
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493ff8
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4984b9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4985fa
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.0x493ff8
cmp ebp, ecx
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x4985b0
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493ff8
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4986a5
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.00492590
add esp, 0x14
test eax, eax
je 0x498680
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493ff8
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4984b9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49876a
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x498720
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x493ff8
cmp ebx, dword [esi + 0x88]
jbe case.default.0x493ff8
mov dword [esi + 0x64], 1
jmp 0x497ca9
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493ff8
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498837
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.00492590
add esp, 0x14
test eax, eax
je 0x498812
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493ff8
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4988cf
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4988fa
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 2
jne 0x49892d
sub ebx, 2
jmp 0x4988b5
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.00492590
add esp, 0x14
test eax, eax
je 0x4988a8
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
lea ecx, [ebx - 2]
cmp ebx, esi
je case.default.0x493ff8
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4989c3
add ecx, 0xfffffffe
mov ebx, ecx
cmp edi, 0x11
jne 0x4989df
cmp ecx, esi
jbe 0x4989df
cmp word [ecx], 0xa
jne 0x4989df
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.00492590
add esp, 0x14
test eax, eax
je 0x4989a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x499375
cmp eax, 8
ja case.default.0x494332
jmp dword [eax*4 + 0x49a3b8]
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, ebp
nop dword [eax]
mov ecx, ebx
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4984b9
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498aa1
lea ebx, [ecx + 4]
cmp dword [esp + 0x34], 0
jne case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x498a70
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4984b9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498b6c
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
mov al, byte [eax*8 + 0x4cbb51]
cmp al, 9
je 0x498b9f
cmp al, 5
je 0x498b9f
cmp al, 8
je 0x498b9f
xor eax, eax
jmp 0x498ba4
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x498b22
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4984b9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498c7a
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov esi, dword [esp + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4ccc30]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], esi
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x498c30
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4984b9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498d7c
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x498d32
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4984b9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498e7a
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb50]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x498e30
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4984b9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498f7a
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x498fb3
cmp eax, 3
je 0x498fb3
xor eax, eax
jmp 0x498fb8
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x498f30
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
cmp ebx, dword [edi + 0x7c]
jae 0x49911e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499084
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 + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 6
je 0x4990cc
cmp edx, 9
je 0x4990cc
cmp edx, 0xa
je 0x4990cc
cmp edx, 0xc
je 0x4990cc
cmp edx, 0xd
je 0x4990cc
xor eax, eax
jmp 0x4990d1
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x499041
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x493ff8
cmp ebx, dword [edi + 0x88]
jbe case.default.0x493ff8
mov dword [edi + 0x64], 1
jmp 0x497ca9
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
cmp ebx, dword [edi + 0x7c]
jae 0x49911e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4991c1
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 + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 6
je 0x49920e
cmp edx, 9
je 0x49920e
cmp edx, 0xa
je 0x49920e
cmp edx, 0xb
je 0x49920e
cmp edx, 0xc
je 0x49920e
cmp edx, 0xd
je 0x49920e
xor eax, eax
jmp 0x499213
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x499182
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.00492590
add esp, 0x14
test eax, eax
jne 0x497984
mov edi, dword [esp + 0x174]
mov esi, ebp
nop
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
cmp ebx, dword [edi + 0x7c]
jae 0x49911e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4992e3
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 + 0x4ccc30]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
mov eax, dword [eax*4 + 0x4bfd70]
cmp eax, 1
je 0x499323
cmp eax, 3
je 0x499323
cmp edx, 0x5f
je 0x499323
xor eax, eax
jmp 0x499328
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x4992a0
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.00492590
add esp, 0x14
cmp edi, 0x16
jne 0x4994ee
test eax, eax
jne 0x497984
mov edi, dword [esp + 0x174]
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
mov esi, dword [edi + 0x7c]
cmp ebx, esi
jae 0x49911e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499407
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 2
je case.default.0x493ff8
cmp ebx, esi
jae 0x4994ab
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499476
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 + 0x4ccc30]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c0250]
movzx eax, byte [eax*8 + 0x4cbb51]
cmp dword [eax*4 + 0x4bfd70], 2
jne 0x4994ab
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x499441
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.00492590
add esp, 0x14
test eax, eax
je 0x4993c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x497984
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493ff8
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4998a9
mov edx, esi
cmp edi, 0xc
jne 0x49958b
mov edx, dword [ecx + 0x18]
add ecx, 0x1c
test edx, edx
je 0x49954d
push 1
push ecx
push esi
mov ecx, ebx
call fcn.0049ba70
add esp, 0xc
neg eax
sbb eax, eax
neg eax
jne case.default.0x493ff8
jmp 0x49957f
mov ecx, dword [ecx]
lea eax, [ecx + ecx]
sub esi, eax
cmp ebx, esi
ja 0x49957f
mov edx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [edx + 0x2c]
jne 0x49957f
cmp ecx, 1
je case.default.0x493ff8
mov ax, word [ebx + 2]
cmp ax, word [edx + 0x2e]
je case.default.0x493ff8
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, esi
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4995bd
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov esi, edx
add ecx, 0x10000
add ebx, 2
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x494332
jmp dword [eax*4 + 0x49a3dc]
cmp ecx, 0x85
ja 0x499607
je case.0x4995e6.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493ff8
jmp dword [ecx*4 + 0x49a41c]
cmp ebx, esi
jae case.0x4995c9.12
cmp word [ebx], 0xa
jne case.0x4995c9.12
add ebx, 2
jmp case.0x4995c9.12
sub ecx, 0x2028
je case.0x4995e6.11
sub ecx, 1
jne case.default.0x493ff8
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x68], 0
jne case.default.0x493ff8
jmp case.0x4995c9.12
cmp ecx, 0x2000
ja 0x499672
je case.default.0x493ff8
cmp ecx, 0xa0
ja 0x49965b
je case.default.0x493ff8
cmp ecx, 9
je case.default.0x493ff8
cmp ecx, 0x20
jmp 0x49984a
cmp ecx, 0x1680
je case.default.0x493ff8
cmp ecx, 0x180e
jmp 0x49984a
cmp ecx, 0x3000
ja case.0x4995c9.12
je case.default.0x493ff8
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4995c9.12
movzx eax, byte [ecx + 0x49a434]
jmp dword [eax*4 + 0x49a42c]
cmp ecx, 0x2000
ja 0x4996f1
je case.0x4995c9.12
cmp ecx, 0xa0
ja 0x4996d4
je case.0x4995c9.12
cmp ecx, 9
je case.0x4995c9.12
cmp ecx, 0x20
jne case.default.0x493ff8
jmp case.0x4995c9.12
cmp ecx, 0x1680
je case.0x4995c9.12
cmp ecx, 0x180e
jne case.default.0x493ff8
jmp case.0x4995c9.12
cmp ecx, 0x3000
ja case.default.0x493ff8
je case.0x4995c9.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493ff8
movzx eax, byte [ecx + 0x49a49c]
jmp dword [eax*4 + 0x49a494]
cmp ecx, 0x85
ja 0x499741
je case.default.0x493ff8
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4995c9.12
jmp dword [ecx*4 + 0x49a4fc]
sub ecx, 0x2028
je case.default.0x493ff8
sub ecx, 1
jmp 0x49984a
cmp ecx, 0x85
ja 0x499776
je case.0x4995c9.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493ff8
jmp dword [ecx*4 + 0x49a50c]
sub ecx, 0x2028
je case.0x4995c9.12
sub ecx, 1
jne case.default.0x493ff8
jmp case.0x4995c9.12
cmp ecx, 0x100
jae case.0x4995c9.12
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493ff8
jmp case.0x4995c9.12
cmp ecx, 0x100
jae case.default.0x493ff8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jmp 0x49984a
cmp ecx, 0x100
jae case.0x4995c9.12
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493ff8
jmp case.0x4995c9.12
cmp ecx, 0x100
jae case.default.0x493ff8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jmp 0x49984a
cmp ecx, 0x100
jae case.0x4995c9.12
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493ff8
jmp case.0x4995c9.12
cmp ecx, 0x100
jae case.default.0x493ff8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493ff8
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.00492590
add esp, 0x14
test eax, eax
je 0x499500
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 [ecx + 0x8c]
test eax, eax
je case.default.0x493ff8
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x493ff8
mov dword [ecx + 0x64], 1
cmp eax, 1
jle case.default.0x493ff8
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x174]
mov esi, dword [edi + 0x94]
mov eax, dword [ecx + ebp*8]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + ebp*8 + 4]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0xb0]
sub eax, ebp
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x48], eax
mov eax, ebx
sub eax, dword [edx + 0x78]
sar eax, 1
mov dword [ecx], eax
mov ecx, edx
mov edx, dword [esp + 0x20]
cmp edx, 0x82
jb 0x499937
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 + 0x4bfde8]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00492590
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1c
je 0x499a08
cmp edx, 0xfffffc20
jne 0x4999c4
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x80], eax
jae 0x499a3a
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0x71
mov ecx, dword [esp + 0x174]
je 0x4999c0
cmp word [eax], 0x71
jne 0x499a3a
xor edx, edx
jmp 0x4999d3
test edx, edx
jne 0x499a3a
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x94], esi
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xb0], edi
cmp word [eax], 0x71
jne 0x499a0f
jmp 0x499921
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0xc]
mov ebx, dword [esp + 0x174]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x48]
mov dword [eax + ebp*8], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x54]
mov dword [eax + ebp*8 + 4], ecx
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
sub ecx, ebp
mov dword [eax + ecx*4], esi
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp edx, 0xfffffc1c
jne 0x499a83
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
je 0x499a78
cmp ecx, 0x71
jne 0x499a70
mov ecx, edi
movzx eax, word [edi + 2]
cmp word [ecx + eax*2], 0x71
lea edi, [ecx + eax*2]
mov ecx, edi
je 0x499a60
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 + 0x4bfde8]
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.00492590
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x499af6
cmp esi, 0xfffffc19
je 0x499af6
cmp esi, 0xfffffc1b
jne 0x499b12
cmp dword [ebp + 0xb0], 0
jne 0x499b12
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x497af8
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.0049b9e0
test eax, eax
jne 0x497af8
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 + 0x4bfde8]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492590
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x499bab
cmp ecx, 0xfffffc1d
je 0x499bab
cmp ecx, 0xfffffc1e
je 0x499bab
cmp ecx, 0xfffffc1f
je 0x499bab
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 + 0x4bfde8]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492590
add esp, 0x14
test eax, eax
je 0x499bf7
cmp eax, 0xfffffc20
jne 0x497984
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 + 0x4bfde8]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00492590
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x499c63
cmp ecx, 0xfffffc19
jne 0x499c72
cmp dword [ebp + 0xb0], 0
jne 0x499c72
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x499bf7
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 + 0x4bfde8]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492590
add esp, 0x14
test eax, eax
je 0x499cd2
cmp eax, 0xfffffc1d
je 0x499cd2
cmp eax, 0xfffffc20
jne 0x497984
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 + 0x4bfde8]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492590
add esp, 0x14
test eax, eax
je 0x499d9c
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 + 0x4bfde8]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00492590
add esp, 0x14
cmp eax, 1
je 0x499d81
cmp eax, 0xfffffc19
jne 0x499d90
cmp dword [ebp + 0xb0], 0
jne 0x499d90
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x497984
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 0x499df2
cmp edx, 0x99
je 0x499df2
cmp dword [ebp + 0xa8], 0
jne 0x499df2
cmp dword [ebp + 0x5c], 0
jne case.default.0x493ff8
cmp dword [ebp + 0x60], 0
je 0x499df2
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x493ff8
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