Function at 0x497260
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 0x4972be
cmp dword [esp + 0x17c], edx
jne 0x4972a3
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.00497260
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea eax, [esp + 0x17c]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x40], 0
mov dword [esp + 0x34], 0
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jae 0x49c65b
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 0x49ea20
cmp dword [ebp + 0x9c], 2
jne 0x497342
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 0x497362
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.0x49738e.98
movzx eax, byte [edx + 0x49eb78]
jmp dword [eax*4 + 0x49ea30]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4c4ea0]
je 0x49c710
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x497362
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.00497260
mov edx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 1
je 0x4974cf
cmp eax, 0xfffffc20
jne 0x49743a
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
jae 0x49743a
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x497442
cmp word [ecx], 0x71
mov eax, 0xfffffc20
je 0x497442
test eax, eax
jne 0x49c664
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [edx + 0xb0], esi
lea ecx, [ecx + eax*2]
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x4973c6
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x497480
cmp eax, 0x71
jne case.default.0x498c9c
nop word [eax + eax]
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x71
je 0x497480
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x1c], ebx
cmp ecx, 0x72
je 0x4974b5
cmp ebx, edi
jne 0x49c3d3
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
jmp 0x497362
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
mov dword [esp + 0x16c], eax
movzx ecx, word [esi]
jmp 0x497469
xor ebp, ebp
mov dword [esp + 0x38], ebp
jmp 0x498028
cmp word [esi + 4], 0x70
movzx ebp, word [esi + 2]
jne 0x4975fb
movzx edi, word [esi + 6]
mov esi, dword [0x4effc4]
add edi, edi
test esi, esi
je 0x4975ee
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.0x498c9c
js 0x49c664
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 0x49781f
cmp ecx, 0x8a
je 0x49781f
cmp ecx, 0x87
je 0x497693
cmp ecx, 0x88
je 0x497693
cmp ecx, 0x8b
jne 0x49763e
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4979b8
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x9c], 1
mov eax, dword [esp + 0x17c]
inc eax
push eax
push 0
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00497260
add esp, 0x14
cmp eax, 1
je 0x49c468
test eax, eax
je 0x49768b
cmp eax, 0xfffffc20
jne 0x49c664
lea eax, [esi + ebp*2]
jmp 0x4979b8
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x4976b7
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + edx*4], 0
jge 0x4977f5
xor edi, edi
cmp ecx, 0x88
jne 0x49780b
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
mov eax, dword [ecx + 0x28]
mov ebp, eax
mov edx, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x3c], eax
test edx, edx
jle 0x497722
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
nop
movzx eax, word [ebp]
cmp eax, esi
je 0x497716
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 0x4976f0
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
cmp ecx, edx
jge 0x49780b
cmp ebp, eax
mov esi, ebp
mov eax, dword [esp + 0x174]
jbe 0x497789
mov eax, dword [eax + 0x24]
lea ecx, [ebp + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.004a05f0
test eax, eax
jne 0x4977e8
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x497775
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4977f5
mov eax, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp esi, dword [eax + 0x28]
ja 0x497737
xor edi, edi
mov esi, dword [esp + 0x30]
inc esi
cmp esi, dword [eax + 0x20]
jge 0x49780b
lea ecx, [ebp + 2]
mov dword [esp + 0x30], ecx
nop word [eax + eax]
mov eax, dword [eax + 0x24]
lea ebp, [ebp + eax*2]
lea edx, [ebp + 2]
call fcn.004a05f0
test eax, eax
jne 0x49780b
movzx eax, word [ebp]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4977d3
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4977f5
mov eax, dword [esp + 0x174]
inc esi
xor edi, edi
cmp esi, dword [eax + 0x20]
jge 0x49780b
mov ecx, dword [esp + 0x30]
jmp 0x4977a0
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x174]
jmp 0x497789
mov ecx, dword [esp + 0x14]
mov eax, 2
mov edi, 1
lea eax, [ecx + eax*2]
jmp 0x4979ae
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x4979ae
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x49783c
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4979bf
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x4979a1
cmp edx, dword [eax + 4]
je 0x4979a1
xor edi, edi
cmp ecx, 0x8a
jne 0x49799b
mov ecx, dword [esp + 0x174]
mov eax, dword [ebp + 0x28]
mov ebp, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], eax
mov esi, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], edi
test esi, esi
jle 0x4978c6
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
movzx eax, word [ebp]
cmp eax, edx
je 0x4978b6
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 0x497890
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], ebp
cmp ecx, esi
jge 0x497997
cmp ebp, eax
jbe 0x497923
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.004a05f0
test eax, eax
jne 0x49790f
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x49790f
cmp esi, dword [ebp + 0x28]
ja 0x4978e2
mov ebp, dword [esp + 0x30]
test ebx, ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
jne 0x497989
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x38]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x497997
mov ebx, dword [esp + 0x2c]
lea edi, [ebp + 2]
nop dword [eax + eax]
mov eax, dword [edx + 0x24]
mov ecx, edi
lea edx, [eax*2]
add edx, ebp
mov ebp, edx
add edx, 2
call fcn.004a05f0
test eax, eax
jne 0x49797d
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 0x49797d
inc esi
cmp esi, dword [edx + 0x20]
jl 0x497940
mov dword [esp + 0x2c], ebx
test ebx, ebx
mov ebx, dword [esp + 0x1c]
je 0x497993
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
jmp 0x4979a6
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x4979ab
mov edi, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test edi, edi
jne 0x49c4b2
mov ebp, dword [esp + 0x174]
mov ecx, eax
cmp word [ecx], 0x71
je 0x49c4b9
mov edi, dword [esp + 0x170]
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x497362
movzx edx, word [esi + 2]
mov dword [ebp + 0x94], edx
lea esi, [edx + edx]
cmp esi, dword [ebp + 0x14]
jl 0x497a07
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x497362
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 0x497a31
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x497362
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x497a61
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x497a63
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.00497260
add esp, 0x14
cmp eax, 1
je 0x497ace
cmp eax, 0xfffffc19
je 0x497ace
test eax, eax
je 0x497aa9
cmp eax, 0xfffffc20
jne 0x49c664
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 0x497a63
mov esi, dword [esp + 0x14]
jmp 0x497ae2
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.0x498c9c
test edi, edi
jne 0x49c8ed
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x497af4
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x497362
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x497b3b
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x497b3d
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.00497260
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x498c9c
cmp eax, 0xfffffc19
je case.default.0x498c9c
cmp eax, 0xfffffc1e
je 0x497bc0
cmp eax, 0xfffffc1d
je 0x497bc0
cmp eax, 0xfffffc1a
je 0x497bc0
test eax, eax
je 0x497ba6
cmp eax, 0xfffffc20
jne 0x49c664
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 0x497b41
mov esi, ecx
jmp 0x497bd2
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x497bc4
test edi, edi
jne 0x49c8ed
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x497362
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x497c22
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x1c], ebx
cmp ebx, edx
jb case.default.0x498c9c
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x497c1e
add ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
test ecx, ecx
jg 0x497bf8
cmp ebx, dword [ebp + 0x88]
jae 0x497c30
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x497362
movzx edi, word [esi + 2]
mov esi, dword [0x4effc4]
test esi, esi
je 0x497d25
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.0x498c9c
js 0x49c664
mov esi, dword [esp + 0x14]
lea esi, [esi + edi*2]
mov edi, dword [esp + 0x170]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x497362
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x497d51
xor ecx, ecx
jmp 0x497d55
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x497d75
cmp ecx, dword [eax + 4]
jne 0x497d6f
cmp ebx, dword [eax + 0x10]
je 0x49c76b
mov eax, dword [eax]
test eax, eax
jne 0x497d61
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 0x497dab
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x497dc9
shl eax, 2
push eax
call fcn.004a45cd
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x49c7a0
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call fcn.004a20f0
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
mov eax, 0x82
cmp bp, ax
jb 0x497df7
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 + 0x4c4ea0]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.00497260
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.004a20f0
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x497ece
cmp esi, 0xfffffc19
je 0x497ece
test esi, esi
je 0x497e7f
cmp esi, 0xfffffc20
jne 0x49c77b
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 0x497de3
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.0x498c9c
push eax
call fcn.004a45b2
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 0x497ee6
push eax
call fcn.004a45b2
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 0x49735e
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x49738e.113
mov dword [esp + 0x14], esi
jmp 0x497362
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
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 0x497f60
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x497362
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 0x497f90
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.00497260
add esp, 0x14
test eax, eax
je 0x497362
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 0x497fe0
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x497362
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 0x498028
cmp edx, 0x85
jne 0x4981e5
movzx edi, word [esi + 4]
mov esi, dword [esp + 0x174]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x14]
jge 0x4981df
mov ecx, dword [esi + 0xc]
xor edx, edx
mov ebp, dword [esp + 0x14]
sub ebp, dword [esi + 0x74]
sar ebp, 1
mov eax, dword [ecx + edi*8]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + edi*8 + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x10]
sub eax, edi
mov dword [esp + 0x30], edx
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov dword [esp + 0x28], eax
mov esi, dword [ecx + 0x94]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, edi
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x4980a8
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 + 0x4c4ea0]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00497260
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x498124
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x30], 1
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x1c], ebx
lea eax, [eax + ebp*2]
mov dword [esp + 0x14], eax
jmp 0x49806e
cmp eax, 0xfffffc20
jne 0x49815c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x498160
cmp word [edx], 0x71
je 0x498168
cmp word [ecx], 0x71
je 0x498168
jmp 0x498160
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x49c664
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 0x498074
mov edx, dword [esp + 0x30]
mov ebp, ecx
test edx, edx
jne 0x4981b9
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
mov dword [eax + edi*8], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
mov dword [eax + edi*8 + 4], ecx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
sub ecx, edi
mov dword [eax + ecx*4], esi
cmp dword [esp + 0x38], 0
jne 0x4981c8
test edx, edx
je case.default.0x498c9c
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x497362
mov esi, dword [esp + 0x14]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
cmp edx, 0x82
jb 0x498205
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 + 0x4c4ea0]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00497260
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x49827c
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 0x4981f3
cmp eax, 0xfffffc20
jne 0x4982d1
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x4982d5
cmp word [edx], 0x71
je 0x4982dd
cmp word [ecx], 0x71
jne 0x4982d5
movzx eax, word [edx + 2]
mov ecx, dword [esp + 0x174]
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
jmp 0x4981f3
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x49c664
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
je 0x4981f3
test edi, edi
jne 0x49830a
test ebp, ebp
je case.default.0x498c9c
mov esi, dword [esp + 0x14]
mov ebp, ecx
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x497362
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 0x49834c
cmp ecx, 0x7b
je 0x49834c
mov dword [esp + 0x30], 0
jmp 0x498365
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 0x498373
cmp ecx, 0x7a
jbe 0x49c8cd
cmp ecx, 0x7c
je 0x49c8cd
cmp ecx, 0x7f
je 0x4983a3
mov eax, 0x84
cmp cx, ax
je 0x4983a3
mov eax, 0x80
cmp cx, ax
je 0x4983a3
mov eax, 0x85
cmp cx, ax
jne 0x498480
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x4983c4
cmp dword [eax + 4], edi
je 0x49c7b0
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x498411
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x4983f3
cmp ebx, dword [esp + 0x30]
jne 0x49c50f
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x49c883
mov ebp, dword [esp + 0x174]
jmp 0x497362
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x498446
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x49843f
mov eax, ecx
nop dword [eax + eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x498430
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 0x4983dd
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x4983dd
mov edx, dword [esp + 0x174]
jmp 0x4983e1
cmp dword [ebp + 0x44], 0
je case.0x49738e.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x498c9c
cmp ebx, dword [ebp + 0x78]
jne case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp dword [ebp + 0x44], 0
je 0x4984c4
cmp ebx, dword [ebp + 0x78]
je case.default.0x498c9c
mov ecx, dword [ebp + 0x78]
jmp 0x4984cf
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x498c9c.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x498c9c
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x498515
cmp ebx, ecx
jbe 0x4984ff
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004a0740
add esp, 0xc
test eax, eax
je 0x4984ff
mov eax, 1
jmp 0x498501
xor eax, eax
test eax, eax
je case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x498c9c
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x498c9c
cmp esi, 1
je 0x49854a
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x498c9c
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x497362
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x498604
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4985c4
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004a0680
add esp, 0xc
test eax, eax
je case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x498c9c
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x498c9c
cmp edx, 1
je case.0x498c9c.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp dword [ebp + 0x48], 0
jne case.default.0x498c9c
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x498c9c.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x498c9c.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp dword [ebp + 0x48], 0
jne case.default.0x498c9c
cmp dword [ebp + 0x58], 0
je case.0x49738e.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x498c9c
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x498c9c.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x498c9c.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x498704
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x4986c0
push 1
push esi
push ecx
mov ecx, ebx
call fcn.004a0680
add esp, 0xc
test eax, eax
je case.default.0x498c9c
jmp 0x4986ef
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x498c9c
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x498c9c
cmp edx, 1
je 0x4986ef
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x498c9c
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x498c9c
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x498c9c.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x498c9c.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x78]
jne 0x49879f
lea edi, [ebp + 0x88]
xor esi, esi
mov ecx, 0x54
mov eax, ebp
lea edx, [eax + ecx]
cmp ebx, dword [ebp + 0x7c]
jb 0x49885e
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49877c
cmp ebx, dword [edi]
jbe 0x49877c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
xor ecx, ecx
lea edx, [ecx + 1]
mov edi, dword [esp + 0x14]
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x14], edi
cmp eax, 5
jne 0x49890d
xor esi, edx
jmp 0x49890f
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4987bb
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
lea edi, [ebp + 0x88]
jae 0x4987cb
mov dword [edi], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4987f6
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 0x49883b
cmp ecx, 0x5f
je 0x498854
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x498854
cmp eax, 3
je 0x498854
jmp 0x498749
cmp ecx, 0x100
jae 0x498749
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x498749
mov esi, 1
jmp 0x49874b
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498889
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 0x4988e8
cmp ecx, 0x5f
jne 0x4988a3
mov ecx, 1
xor edx, edx
jmp 0x498781
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x4988dc
cmp eax, 3
jne 0x49877c
mov ecx, 1
xor edx, edx
jmp 0x498781
cmp ecx, 0x100
jae 0x49877c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x49877c
mov ecx, 1
xor edx, edx
jmp 0x498781
xor esi, ecx
test esi, esi
jne case.default.0x498c9c
mov edi, dword [esp + 0x170]
jmp 0x49735e
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x498959
cmp ebx, ecx
jae 0x49894d
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004a0680
add esp, 0xc
test eax, eax
je 0x49894d
mov eax, 1
jmp 0x49894f
xor eax, eax
test eax, eax
jne case.default.0x498c9c
jmp case.0x49738e.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x49738e.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x49738e.13
cmp edx, 1
je case.default.0x498c9c
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x498c9c
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x49c8fd
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, eax
jae 0x4989b7
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4989b7
add ebx, 2
mov dword [esp + 0x1c], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498a20
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.0x498c9c.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498a86
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.0x498c9c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498aec
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.0x498c9c.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498b52
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.0x498c9c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498bb8
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.0x498c9c.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498c1e
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.0x498c9c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498c86
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 0x498cc8
je case.0x498c9c.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x498c9c
jmp dword [ecx*4 + 0x49ec14]
cmp ebx, edx
jae case.0x498c9c.10
cmp word [ebx], 0xa
jne case.0x498c9c.10
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x497362
sub ecx, 0x2028
je case.0x498c9c.11
sub ecx, 1
jne case.default.0x498c9c
cmp dword [ebp + 0x68], 0
jne case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498d30
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 0x498d8e
je case.default.0x498c9c
cmp ecx, 0xa0
ja 0x498d6a
je case.default.0x498c9c
cmp ecx, 9
je case.default.0x498c9c
cmp ecx, 0x20
je case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ecx, 0x1680
je case.default.0x498c9c
cmp ecx, 0x180e
je case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ecx, 0x3000
ja case.0x498db6.8203
je case.default.0x498c9c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x498db6.8203
movzx eax, byte [ecx + 0x49ec2c]
jmp dword [eax*4 + 0x49ec24]
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498dfe
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 0x498e42
je case.0x498db6.8203
cmp ecx, 0xa0
ja 0x498e2b
je case.0x498db6.8203
cmp ecx, 9
je case.0x498db6.8203
cmp ecx, 0x20
jmp 0x49849e
cmp ecx, 0x1680
je case.0x498db6.8203
cmp ecx, 0x180e
jmp 0x49849e
cmp ecx, 0x3000
ja case.default.0x498c9c
je case.0x498db6.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x498c9c
movzx eax, byte [ecx + 0x49ec94]
jmp dword [eax*4 + 0x49ec8c]
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498eb2
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 0x498ed3
je case.default.0x498c9c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x498db6.8203
jmp dword [ecx*4 + 0x49ecf4]
sub ecx, 0x2028
je case.default.0x498c9c
sub ecx, 1
je case.default.0x498c9c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498f35
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 0x498f56
je case.0x498db6.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x498c9c
jmp dword [ecx*4 + 0x49ed04]
sub ecx, 0x2028
je case.0x498db6.8203
sub ecx, 1
jmp 0x49849e
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498fab
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 + 0x4d1ce8]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x498fd6
jmp dword [ecx*4 + 0x49ed14]
cmp dword [esp + 0x20], 0xf
jmp 0x499126
mov al, byte [eax*8 + 0x4d0c09]
cmp al, 9
je 0x499115
cmp al, 5
je 0x499115
cmp al, 8
je 0x499115
xor ecx, ecx
jmp 0x49911a
movzx ecx, byte [eax*8 + 0x4d0c09]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4c4e28]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x499126
movzx eax, byte [eax*8 + 0x4d0c09]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x499121
movzx eax, byte [eax*8 + 0x4d0c08]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x499121
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x499115
cmp eax, 3
je 0x499115
xor ecx, ecx
jmp 0x49911a
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 6
je 0x499115
cmp edx, 9
je 0x499115
cmp edx, 0xa
je 0x499115
cmp edx, 0xc
je 0x499115
cmp edx, 0xd
je 0x499115
xor ecx, ecx
jmp 0x49911a
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 6
je 0x499115
cmp edx, 9
je 0x499115
cmp edx, 0xa
je 0x499115
cmp edx, 0xb
jmp 0x4990ba
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x499115
cmp eax, 3
je 0x499115
cmp edx, 0x5f
je 0x499115
xor ecx, ecx
jmp 0x49911a
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x498c9c
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x497362
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x49c8fd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49917b
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 2
je case.default.0x498c9c
cmp ebx, esi
jae 0x49922e
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 0x4991f5
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 2
jne 0x49922a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4991c0
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x497362
movzx eax, word [esi + 2]
xor edx, edx
cmp dword [esp + 0x20], 0x6e
sete dl
add esi, 4
lea ecx, [eax + eax]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x14], esi
cmp ecx, edi
jge 0x499274
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x499274
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x49927e
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.0x49929a
movzx eax, byte [edi + 0x49ed40]
jmp dword [eax*4 + 0x49ed38]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4c46a0]
and eax, 1
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x4c4698]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4992f9
mov dword [esp + 0x24], connect
jmp 0x4992f9
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 0x497357
jns 0x499312
test esi, esi
je 0x497357
cmp esi, 1
jl 0x49934f
mov edi, 1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004970b0
add esp, 0xc
test eax, eax
js 0x49cd39
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc edi
mov dword [esp + 0x1c], ebx
cmp edi, esi
jle 0x499320
mov eax, dword [esp + 0x24]
cmp esi, eax
je 0x497350
cmp dword [esp + 0x30], 0
je 0x49c940
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov edi, dword [esp + 0x38]
mov dword [esp + 0x48], esi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x498c9c
push dword [esp + 0x3c]
mov esi, dword [esp + 0x178]
mov edx, ebx
push esi
push ebp
mov ecx, edi
call fcn.004970b0
add esp, 0xc
test eax, eax
js 0x49c92c
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.00497260
add esp, 0x14
mov dword [esp + 0x48], esi
test eax, eax
je 0x4993b0
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.004970b0
add esp, 0xc
test eax, eax
js 0x49c92c
mov edi, dword [esp + 0x170]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x1c], ebx
mov ebp, esi
jmp 0x49735e
movzx eax, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x44], ebp
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x499481
movzx eax, byte [ecx + 0x49ed50]
jmp dword [eax*4 + 0x49ed48]
movsx eax, byte [ecx + 0x4c4698]
mov edx, ecx
movsx edi, byte [ecx + 0x4c46a0]
and edx, 1
add esi, 2
mov dword [esp + 0x18], edx
test eax, eax
mov ecx, closesocket
cmove eax, ecx
jmp 0x4994cf
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, closesocket
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 0x49957e
jmp 0x4994fd
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 0x49cf1e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499545
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
cmp edx, 0xff
jbe 0x49955a
cmp dword [esp + 0x20], 0x6a
je case.default.0x498c9c
jmp 0x499579
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x498c9c
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, edi
jle 0x499504
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x497350
cmp dword [esp + 0x18], 0
je 0x49ca66
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x498c9c
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x49cf1e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49961c
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 0x49ca04
cmp dword [esp + 0x20], 0x6a
je case.default.0x498c9c
jmp 0x49ca23
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
mov dword [esp + 0x44], ebp
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x499662
movzx eax, byte [ecx + 0x49ed60]
jmp dword [eax*4 + 0x49ed58]
movsx eax, byte [ecx + 0x4c4698]
mov edx, ecx
movsx edi, byte [ecx + 0x4c46a0]
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 0x4996c2
mov dword [esp + 0x24], connect
jmp 0x4996c2
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, closesocket
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 0x499741
jmp 0x4996e0
mov edi, 1
mov dword [esp + 0x24], 1
mov esi, edi
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x49cf1e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499728
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.004a0830
add esp, 4
test eax, eax
je case.default.0x498c9c
inc esi
cmp esi, edi
jle 0x4996e0
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x497350
cmp dword [esp + 0x18], 0
je 0x49cbe0
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x498c9c
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x49cf1e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4997df
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.004a0830
add esp, 4
test eax, eax
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x499795
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 0x49cd1e
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.0x498c9c
test edx, edx
jg 0x499870
jmp 0x49735e
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
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 0x4998e0
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x4998e5
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x499925
mov edi, 0xff
mov ecx, eax
cmp ax, di
ja 0x499903
mov eax, dword [ebp + 0x34]
movzx ecx, byte [ecx + eax]
mov eax, dword [ebp + 0x34]
movzx eax, byte [edx + eax]
cmp eax, ecx
jne case.default.0x498c9c
mov edi, dword [esp + 0x170]
add ebx, 2
mov dword [esp + 0x1c], ebx
jmp 0x497362
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
cmp eax, 0xd800
jne 0x49995a
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
add ebx, 2
or esi, eax
mov dword [esp + 0x1c], ebx
add esi, 0x10000
lea eax, [ecx + edi]
mov edi, dword [esp + 0x170]
mov dword [esp + 0x14], eax
cmp edx, esi
je 0x49735e
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
mov eax, dword [eax*8 + 0x4d0c0c]
add eax, edx
cmp esi, eax
jne case.default.0x498c9c
jmp 0x49735e
movzx ebp, word [esi + 2]
add esi, 4
mov edi, ebp
jmp 0x499a5e
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 0x4999d6
mov dword [esp + 0x18], edi
cmp ecx, 0x35
jne 0x4999de
mov dword [esp + 0x18], 1
add esi, 4
jmp 0x499a66
xor edi, edi
mov dword [esp + 0x2c], 1
mov ebp, closesocket
add esi, 2
jmp 0x499a5e
mov dword [esp + 0x2c], 1
mov edi, 1
mov ebp, closesocket
add esi, 2
jmp 0x499a5e
xor edi, edi
mov dword [esp + 0x2c], 1
add esi, 2
lea ebp, [edi + 1]
jmp 0x499a5e
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 + 0x4c4698]
movsx edi, byte [eax + 0x4c46a0]
test ebp, ebp
mov eax, closesocket
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 0x499e4c
mov eax, ecx
and esi, 0x3ff
shl esi, 0xa
movzx edx, word [eax + 2]
lea eax, [ecx + 4]
and edx, 0x3ff
mov dword [esp + 0x14], eax
or edx, esi
mov esi, 2
add edx, 0x10000
mov dword [esp + 0x3c], esi
cmp dword [esp + 0x20], 0x2e
jb 0x499af3
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d1ce8]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
mov ecx, dword [eax*8 + 0x4d0c0c]
add ecx, edx
cmp ecx, edx
je 0x499af3
lea edx, [esp + 0x74]
call fcn.004a0620
mov dword [esp + 0x38], eax
jmp 0x499afb
mov dword [esp + 0x38], 0
mov ebp, 1
cmp edi, ebp
jl 0x499c32
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x20], ecx
lea eax, [ecx - 4]
mov dword [esp + 0x44], eax
nop dword [eax]
cmp ebx, eax
ja 0x499b94
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x499b56
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x499b5b
add ecx, 4
add edx, 4
sub esi, 4
jae 0x499b45
cmp esi, 0xfffffffc
je 0x499b88
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x499b90
cmp esi, 0xfffffffd
je 0x499b88
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x499b90
cmp esi, 0xfffffffe
je 0x499b88
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x499b90
cmp esi, 0xffffffff
je 0x499b88
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x499b90
add ebx, 4
jmp 0x499c19
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
test edx, edx
jle 0x49cd39
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x49cd39
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x499bd1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x499bd6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x499bc0
cmp esi, 0xfffffffc
je 0x499c13
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49cd39
cmp esi, 0xfffffffd
je 0x499c13
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49cd39
cmp esi, 0xfffffffe
je 0x499c13
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49cd39
cmp esi, 0xffffffff
je 0x499c13
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49cd39
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
inc ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jle 0x499b30
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x497350
cmp dword [esp + 0x18], 0
jne 0x49cd6f
mov ebp, ebx
mov dword [esp + 0x18], ebp
cmp edi, eax
jge 0x499d6e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x20], eax
lea ebp, [eax - 4]
cmp ebx, ebp
ja 0x499ccf
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x499c91
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x499c96
add ecx, 4
add edx, 4
sub esi, 4
jae 0x499c80
cmp esi, 0xfffffffc
je 0x499cc3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x499ccb
cmp esi, 0xfffffffd
je 0x499cc3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x499ccb
cmp esi, 0xfffffffe
je 0x499cc3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x499ccb
cmp esi, 0xffffffff
je 0x499cc3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x499ccb
add ebx, 4
jmp 0x499d4f
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x499e15
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x499e15
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x499d07
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x499d0c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x499cf6
cmp esi, 0xfffffffc
je 0x499d49
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x499e15
cmp esi, 0xfffffffd
je 0x499d49
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x499e15
cmp esi, 0xfffffffe
je 0x499d49
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x499e15
cmp esi, 0xffffffff
je 0x499d49
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x499e15
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
inc edi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edi
cmp edi, dword [esp + 0x24]
jl 0x499c68
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x497350
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
cmp ebx, ebp
je case.default.0x498c9c
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x499ddb
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.00497260
add esp, 0x14
test eax, eax
je 0x499db7
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 0x499e43
cmp ebx, dword [esi + 0x7c]
jb 0x499e43
cmp ebx, dword [esi + 0x88]
jbe 0x499e43
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x49e4f8
mov ebp, dword [esp + 0x18]
jmp 0x499d75
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x499f6c
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x499e91
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4d1ce8]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
mov ebp, dword [eax*8 + 0x4d0c0c]
add ebp, esi
jmp 0x499e98
mov eax, dword [edx + 0x38]
movzx ebp, byte [eax + esi]
mov ecx, 1
cmp edi, ecx
jl 0x499edb
mov edx, dword [edx + 0x7c]
mov eax, dword [esp + 0x14]
nop dword [eax + eax]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x49cf17
movzx eax, word [ebx]
cmp esi, eax
je 0x499ecb
cmp ebp, eax
jne case.default.0x498c9c
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x1c], ebx
cmp ecx, edi
jle 0x499eb0
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x497350
cmp dword [esp + 0x18], 0
jne 0x49cf87
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, eax
jge 0x499f23
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x499f41
movzx eax, word [ebx]
cmp esi, eax
je 0x499f15
cmp ebp, eax
jne 0x499f23
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, dword [esp + 0x24]
jl 0x499f06
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49cf31
mov edi, dword [esp + 0x170]
jmp 0x49735e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x499f2a
cmp ebx, dword [ebp + 0x88]
jbe 0x499f2a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
jmp 0x499f2a
cmp edi, 1
jl 0x499fa3
mov eax, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x49cf17
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp esi, eax
jne case.default.0x498c9c
inc ecx
cmp ecx, edi
jle 0x499f80
mov ecx, dword [esp + 0x14]
cmp edi, ebp
je 0x497350
cmp dword [esp + 0x18], 0
jne 0x49d087
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, ebp
jge 0x499fe7
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x49a005
movzx eax, word [ebx]
cmp esi, eax
jne 0x499fe7
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jl 0x499fd0
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49d035
mov edi, dword [esp + 0x170]
jmp 0x49735e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x499fee
cmp ebx, dword [ebp + 0x88]
jbe 0x499fee
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
jmp 0x499fee
cmp ebx, dword [ebp + 0x7c]
jae 0x49c8fd
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 0x49a074
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 0x49a0cf
cmp edx, 0x7f
jbe 0x49a0b3
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
mov eax, dword [eax*8 + 0x4d0c0c]
add eax, edx
jmp 0x49a0ba
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x498c9c
cmp eax, esi
je case.default.0x498c9c
jmp 0x49735e
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x498c9c
jmp 0x49735e
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], eax
mov edi, eax
jmp 0x49a1ad
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], eax
cmp ecx, 0x42
je 0x49a10a
mov dword [esp + 0x18], edi
cmp ecx, 0x4f
jne 0x49a112
mov dword [esp + 0x18], 1
lea ecx, [esi + 4]
jmp 0x49a1ad
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x49a1a5
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x49a1a5
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x28], 1
jmp 0x49a1ad
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x49a1ad
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 + 0x4c46a0]
movsx eax, byte [eax + 0x4c4698]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x49a1ad
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 0x49a351
cmp ebp, 0x7f
jbe 0x49a200
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4d1ce8]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4d0c0c]
add ebp, dword [esp + 0x24]
jmp 0x49a20e
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x30], ebp
cmp edi, 1
jl 0x49a27b
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a260
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add ebx, 2
or ecx, eax
mov dword [esp + 0x1c], ebx
add ecx, 0x10000
cmp dword [esp + 0x24], ecx
je case.default.0x498c9c
cmp ebp, ecx
je case.default.0x498c9c
inc edx
cmp edx, edi
jle 0x49a220
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x4974bc
cmp dword [esp + 0x18], 0
jne 0x49d1df
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x49a304
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49a326
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a2e3
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 0x49a2fd
cmp dword [esp + 0x30], ecx
je 0x49a2fd
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x49a2a6
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x49d14f
mov ebp, dword [esp + 0x174]
jmp 0x497362
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x49a304
cmp ebx, dword [ecx + 0x88]
jbe 0x49a304
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x49e4f8
jmp 0x49a304
cmp edi, 1
jl 0x49a3b5
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a3a4
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add ebx, 2
or ecx, eax
mov dword [esp + 0x1c], ebx
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x498c9c
inc edx
cmp edx, edi
jle 0x49a364
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x4974bc
cmp dword [esp + 0x18], 0
jne 0x49d34f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x49a438
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49a45a
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a41d
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 0x49a431
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x49a3e0
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x49d2bf
mov ebp, dword [esp + 0x174]
jmp 0x497362
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x49a438
cmp ebx, dword [ecx + 0x88]
jbe 0x49a438
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x49e4f8
jmp 0x49a438
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 0x49a55e
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 0x49a55e
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x49a556
mov ebp, 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x49a556
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
mov dword [esp + 0x20], 1
jmp 0x49a55e
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 0x49a55e
add edx, 0xffffffab
lea ecx, [esi + 2]
mov eax, edx
and edx, 1
mov dword [esp + 0x18], edx
movsx ebp, byte [eax + 0x4c46a0]
movsx eax, byte [eax + 0x4c4698]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
test eax, eax
jne 0x49a55e
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 0x49a583
cmp edx, 0xf
je 0x49a583
or eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x49a5a9
movzx ecx, word [esi]
xor eax, eax
cmp edx, 0xf
mov dword [esp + 0x30], ecx
sete al
mov dword [esp + 0x34], eax
lea eax, [esi + 2]
movzx esi, word [eax]
add eax, 2
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x40], esi
test ebp, ebp
jle 0x49b2f2
test eax, eax
js 0x49ab21
cmp eax, 8
ja case.default.0x498fd6
jmp dword [eax*4 + 0x49ed68]
cmp dword [esp + 0x34], 0
jne case.default.0x498c9c
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
mov ecx, ebx
cmp ebx, esi
jae 0x49cf17
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 0x49a5e3
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a660
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
mov al, byte [eax*8 + 0x4d0c09]
cmp al, 9
je 0x49a693
cmp al, 5
je 0x49a693
cmp al, 8
je 0x49a693
xor eax, eax
jmp 0x49a698
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49a628
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a6f8
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov edi, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4d1ce8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], edi
mov edi, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49a6c0
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a78f
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49a757
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a81b
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c08]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49a7e3
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a8a8
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x49a8e1
cmp eax, 3
je 0x49a8e1
xor eax, eax
jmp 0x49a8e6
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49a870
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x49cf17
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a949
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 + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 6
je 0x49a991
cmp edx, 9
je 0x49a991
cmp edx, 0xa
je 0x49a991
cmp edx, 0xc
je 0x49a991
cmp edx, 0xd
je 0x49a991
xor eax, eax
jmp 0x49a996
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
inc esi
cmp esi, ebp
jle 0x49a911
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x49cf17
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49a9fd
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 + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 6
je 0x49aa4a
cmp edx, 9
je 0x49aa4a
cmp edx, 0xa
je 0x49aa4a
cmp edx, 0xb
je 0x49aa4a
cmp edx, 0xc
je 0x49aa4a
cmp edx, 0xd
je 0x49aa4a
xor eax, eax
jmp 0x49aa4f
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
inc esi
cmp esi, ebp
jle 0x49a9c5
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
nop
cmp ebx, edi
jae 0x49cf17
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49aac0
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x49ab00
cmp eax, 3
je 0x49ab00
cmp edx, 0x5f
je 0x49ab00
xor eax, eax
jmp 0x49ab05
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
inc esi
cmp esi, ebp
jle 0x49aa80
mov edi, dword [esp + 0x28]
jmp 0x49b2f2
cmp edx, 0x16
jne 0x49ac3f
mov esi, dword [esp + 0x174]
lea edi, [edx - 0x15]
mov ebp, dword [esi + 0x7c]
cmp ebx, ebp
jae 0x49d425
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ab71
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 2
je case.default.0x498c9c
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x49ac1a
nop
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49abe5
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 2
jne 0x49ac1a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x49abb0
mov esi, dword [esp + 0x174]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x49ab37
mov ebp, dword [esp + 0x24]
mov ecx, esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x49b2f9
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x498fd6
jmp dword [eax*4 + 0x49ed8c]
mov ecx, dword [esp + 0x174]
mov esi, 1
nop
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x49cf17
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x49accb
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004a0680
add esp, 0xc
test eax, eax
jne case.default.0x498c9c
mov ecx, dword [esp + 0x174]
add ebx, 2
cmp ebx, dword [ecx + 0x7c]
jae 0x49acbd
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x49acbd
add ebx, 2
inc esi
cmp esi, ebp
jle 0x49ac60
mov dword [esp + 0x1c], ebx
jmp 0x49b2f9
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x49ac96
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x49ac9d
cmp edx, 1
je case.default.0x498c9c
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je case.default.0x498c9c
jmp 0x49ac9d
mov esi, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [esi + 0x7c]
nop
cmp ebx, edx
jae 0x49d425
add ebx, 2
cmp ebx, edx
jae 0x49ad31
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x49ad31
add ebx, 2
inc ecx
cmp ecx, ebp
jle 0x49ad10
mov dword [esp + 0x1c], ebx
mov ecx, esi
jmp 0x49b2f9
mov eax, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [eax + 0x7c]
sub eax, ecx
cmp ebx, eax
ja case.default.0x498c9c
add ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x49cf1e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49adae
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 0x49ae0a
je case.0x49adcc.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x498c9c
jmp dword [ecx*4 + 0x49edcc]
mov ebx, edx
cmp edx, edi
jae 0x49aded
cmp word [edx], 0xa
mov ecx, dword [esp + 0x174]
jne 0x49adf4
lea ebx, [edx + 2]
jmp 0x49adf4
mov ebx, edx
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, ebp
jle 0x49ad76
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x49b2f9
sub ecx, 0x2028
je case.0x49adcc.11
sub ecx, 1
jne case.default.0x498c9c
mov ecx, dword [esp + 0x174]
mov ebx, edx
cmp dword [ecx + 0x68], 0
jne case.default.0x498c9c
jmp 0x49adf4
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ae78
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 0x49aed2
je case.default.0x498c9c
cmp ecx, 0xa0
ja 0x49aeb8
je case.default.0x498c9c
cmp ecx, 9
je case.default.0x498c9c
cmp ecx, 0x20
je case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49ae40
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
cmp ecx, 0x1680
je case.default.0x498c9c
cmp ecx, 0x180e
je case.default.0x498c9c
jmp case.0x49aef2.8203
cmp ecx, 0x3000
ja case.0x49aef2.8203
je case.default.0x498c9c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x49aef2.8203
movzx eax, byte [ecx + 0x49ede4]
jmp dword [eax*4 + 0x49eddc]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49af40
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 0x49af8a
je case.0x49afae.8193
cmp ecx, 0xa0
ja 0x49af74
je case.0x49afae.8193
cmp ecx, 9
je case.0x49afae.8193
cmp ecx, 0x20
jne case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49af08
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
cmp ecx, 0x1680
je case.0x49afae.8193
cmp ecx, 0x180e
jne case.default.0x498c9c
jmp case.0x49afae.8193
cmp ecx, 0x3000
ja case.default.0x498c9c
je case.0x49afae.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x498c9c
movzx eax, byte [ecx + 0x49ee4c]
jmp dword [eax*4 + 0x49ee44]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49affc
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 0x49b019
je case.default.0x498c9c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49b012
jmp dword [ecx*4 + 0x49eeac]
sub ecx, 0x2028
je case.default.0x498c9c
sub ecx, 1
je case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49afc4
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b088
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 0x49b0a5
je case.0x49b09e.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x498c9c
jmp dword [ecx*4 + 0x49eebc]
sub ecx, 0x2028
je case.0x49b09e.10
sub ecx, 1
jne case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49b050
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b10b
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 0x49b127
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x498c9c
inc edx
cmp edx, ebp
jle 0x49b0d3
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x498c9c
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je case.default.0x498c9c
inc edx
add ebx, 2
cmp edx, ebp
jle 0x49b144
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x49b1be
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x498c9c
add ebx, 2
cmp ebx, esi
jae 0x49b1dd
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49b1dd
add ebx, 2
inc edx
cmp edx, ebp
jle 0x49b193
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x49cf17
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x498c9c
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je case.default.0x498c9c
inc edx
add ebx, 2
cmp edx, ebp
jle 0x49b200
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
nop
cmp ebx, esi
jae 0x49cf17
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x49b27b
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x498c9c
add ebx, 2
cmp ebx, esi
jae 0x49b29a
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49b29a
add ebx, 2
inc edx
cmp edx, ebp
jle 0x49b250
mov dword [esp + 0x1c], ebx
jmp 0x49b2f2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49cf17
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x498c9c
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x498c9c
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jle 0x49b2b7
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x497350
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x30]
jne 0x49d68b
mov esi, ebx
mov dword [esp + 0x18], esi
test eax, eax
js 0x49b9bc
cmp eax, 8
ja case.default.0x498fd6
jmp dword [eax*4 + 0x49eecc]
cmp ebp, edx
jge 0x49b99e
mov edx, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, edx
jae 0x49b37c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x34], 0
movzx ecx, ax
jne 0x49b99e
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 0x49b341
jmp 0x49b99e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49b9a5
cmp ebx, dword [ebp + 0x88]
jbe 0x49b9a5
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
jmp 0x49b9a5
cmp ebp, edx
jge 0x49b99e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
mov edx, 1
cmp ebx, esi
jae 0x49b455
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b3fe
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
mov al, byte [eax*8 + 0x4d0c09]
cmp al, 9
je 0x49b431
cmp al, 5
je 0x49b431
cmp al, 8
je 0x49b431
xor eax, eax
jmp 0x49b436
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49b99a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x49b3c1
jmp 0x49b99a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49b47a
cmp ebx, dword [ebp + 0x88]
jbe 0x49b47a
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x49e4f8
mov esi, dword [esp + 0x18]
jmp 0x49b9a5
cmp ebp, edx
jge 0x49b99e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x40]
cmp ebx, esi
jae 0x49b520
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b4cf
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], edi
sete cl
cmp ecx, dword [esp + 0x34]
je 0x49b99a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49b492
jmp 0x49b99a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49b47a
cmp ebx, dword [ebp + 0x88]
jbe 0x49b47a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
mov esi, dword [esp + 0x18]
jmp 0x49b9a5
cmp ebp, edx
jge 0x49b99e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
cmp ebx, esi
jae 0x49b520
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b5a9
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x49b99a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x49b570
jmp 0x49b99a
cmp ebp, edx
jge 0x49b99e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x49b520
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b63d
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c08]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x49b99a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x49b600
jmp 0x49b99a
cmp ebp, edx
jge 0x49b99e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x49b455
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b6dd
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x49b716
cmp eax, 3
je 0x49b716
xor eax, eax
jmp 0x49b71b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49b99a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x49b6a0
jmp 0x49b99a
cmp ebp, edx
jge 0x49b99e
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x49b7fb
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b78d
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 + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 6
je 0x49b7d5
cmp edx, 9
je 0x49b7d5
cmp edx, 0xa
je 0x49b7d5
cmp edx, 0xc
je 0x49b7d5
cmp edx, 0xd
je 0x49b7d5
xor eax, eax
jmp 0x49b7da
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49b99a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49b750
jmp 0x49b99a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49b47a
cmp ebx, dword [ebp + 0x88]
jbe 0x49b47a
mov dword [ebp + 0x64], esi
cmp eax, 1
jg 0x49e4f8
mov esi, dword [esp + 0x18]
jmp 0x49b9a5
cmp ebp, edx
jge 0x49b99e
mov edi, dword [ecx + 0x7c]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x49b7fb
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b879
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 + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 6
je 0x49b8c6
cmp edx, 9
je 0x49b8c6
cmp edx, 0xa
je 0x49b8c6
cmp edx, 0xb
je 0x49b8c6
cmp edx, 0xc
je 0x49b8c6
cmp edx, 0xd
je 0x49b8c6
xor eax, eax
jmp 0x49b8cb
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49b99a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49b840
jmp 0x49b99a
cmp ebp, edx
jge 0x49b99e
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x49b7fb
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49b93d
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 + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x49b97d
cmp eax, 3
je 0x49b97d
cmp edx, 0x5f
je 0x49b97d
xor eax, eax
jmp 0x49b982
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49b99a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49b900
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49d44b
mov edi, dword [esp + 0x170]
jmp 0x49735e
cmp edi, 0x16
jne 0x49bb2a
cmp ebp, edx
jge 0x49badd
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x49bafb
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ba0d
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 2
je 0x49bad9
mov eax, dword [esp + 0x174]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x49bace
nop dword [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49ba95
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 2
jne 0x49baca
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x49ba60
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x49b9d0
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49d4e1
mov edi, dword [esp + 0x170]
jmp 0x49735e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49bb24
cmp ebx, dword [ebp + 0x88]
jbe 0x49bb24
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
mov esi, dword [esp + 0x18]
jmp 0x49bae4
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x498fd6
jmp dword [eax*4 + 0x49eef0]
cmp edx, 0x7fffffff
jge 0x49bc30
cmp ebp, edx
jge 0x49be92
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x49bbf6
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x49bbc2
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004a0680
add esp, 0xc
test eax, eax
jne 0x49be92
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x49bbb6
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x49bbb6
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x49bb51
jmp 0x49be92
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x49bb87
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x49bb8e
cmp edx, 1
je 0x49be92
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x49be92
jmp 0x49bb8e
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x49be92
cmp ebx, dword [ecx + 0x88]
jbe 0x49be92
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x49e4f8
mov ebp, ecx
jmp 0x49be99
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x49bbf6
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x49bc9d
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004a0680
add esp, 0xc
test eax, eax
jne 0x49be92
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x49bc91
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x49bc91
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x49bc30
jmp 0x49be92
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x49bc62
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x49bc69
cmp edx, 1
je 0x49be92
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x49be92
jmp 0x49bc69
cmp edx, 0x7fffffff
jge 0x49bd51
cmp ebp, edx
jge 0x49be92
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x49bd1b
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, ecx
jae 0x49bd11
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x49bd11
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, edx
jl 0x49bce8
jmp 0x49be92
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49be99
cmp ebx, dword [ebp + 0x88]
jbe 0x49be99
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
jmp 0x49be99
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x49be99
cmp ebx, dword [ebp + 0x88]
jbe 0x49be99
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
jmp 0x49be99
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 0x49bdc0
mov eax, dword [ebp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x49be99
cmp ecx, dword [ebp + 0x88]
jmp 0x49bd73
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
jmp 0x49be99
cmp ebp, edx
jge 0x49be92
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49beb0
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49be13
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x49be18
mov eax, 2
cmp ecx, 0xd
jne 0x49be3d
mov ebx, edx
mov dword [esp + 0x1c], ebx
cmp edx, esi
jae 0x49be8e
cmp word [ebx], 0xa
jne 0x49be83
lea ebx, [edx + 2]
jmp 0x49be7f
cmp ecx, 0xa
je 0x49be7d
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x49c3c8
cmp ecx, 0xb
je 0x49be7d
cmp ecx, 0xc
je 0x49be7d
cmp ecx, 0x85
je 0x49be7d
cmp ecx, 0x2028
je 0x49be7d
cmp ecx, 0x2029
jne 0x49c3c8
add ebx, eax
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x49bdd7
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49d5db
mov edi, dword [esp + 0x170]
jmp 0x49735e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49bed9
cmp ebx, dword [ebp + 0x88]
jbe 0x49bed9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
mov esi, dword [esp + 0x18]
jmp 0x49be99
cmp ebp, edx
jge 0x49be92
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x49bfca
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49bf2d
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 0x49bfa0
je case.0x49bfbc.8193
cmp ecx, 0xa0
ja 0x49bf8c
je case.0x49bfbc.8193
cmp ecx, 9
je case.0x49bfbc.8193
cmp ecx, 0x20
je case.0x49bfbc.8193
xor ecx, ecx
xor eax, eax
cmp edi, 0x12
sete al
cmp ecx, eax
je 0x49be8e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49bef0
jmp 0x49be8e
cmp ecx, 0x1680
je case.0x49bfbc.8193
cmp ecx, 0x180e
jmp 0x49bf5d
cmp ecx, 0x3000
ja case.0x49bfbc.8203
je case.0x49bfbc.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x49bfbc.8203
movzx eax, byte [ecx + 0x49ef38]
jmp dword [eax*4 + 0x49ef30]
mov ecx, 1
jmp 0x49bf65
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49bed9
cmp ebx, dword [ebp + 0x88]
jbe 0x49bed9
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x49e4f8
mov esi, dword [esp + 0x18]
jmp 0x49be99
cmp ebp, edx
jge 0x49be92
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x49bfca
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c049
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 0x49c062
je case.0x49c05b.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49c05b
jmp dword [ecx*4 + 0x49ef98]
sub ecx, 0x2028
je case.0x49c05b.10
sub ecx, 1
je case.0x49c05b.10
xor ecx, ecx
jmp 0x49c078
mov ecx, 1
xor eax, eax
cmp edi, 0x14
sete al
cmp ecx, eax
je 0x49be8e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49c010
jmp 0x49be8e
cmp ebp, edx
jge 0x49be92
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x49beb0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c0ed
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 0x49c109
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x49be8e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49c0b0
jmp 0x49be8e
cmp ebp, edx
jge 0x49be92
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49beb0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c164
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 0x49be8e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x49be8e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49c127
jmp 0x49be8e
cmp ebp, edx
jge 0x49be92
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49beb0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c1df
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 0x49c1fb
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x49be8e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49c1a2
jmp 0x49be8e
cmp ebp, edx
jge 0x49be92
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x49beb0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c25d
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 0x49be8e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x49be8e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49c220
jmp 0x49be8e
cmp ebp, edx
jge 0x49be92
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x49beb0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c2dd
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 0x49c2f9
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x49be8e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49c2a0
jmp 0x49be8e
cmp ebp, edx
jge 0x49be92
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49c387
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49c354
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 0x49be8e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x49be8e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x49c317
jmp 0x49be8e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49bed9
cmp ebx, dword [ebp + 0x88]
jbe 0x49bed9
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x49bed9
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x18]
mov ebp, edx
jmp 0x49be99
cmp ecx, 0x74
mov ecx, ebx
jne 0x49c41e
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49c64b
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x49c64b
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
movzx ecx, word [esi + 6]
mov eax, dword [ebp + 0x90]
cmp eax, edx
cmovg edx, eax
add ecx, 2
cmp word [esi + ecx*2], 0x71
mov dword [esp + 0x170], edx
lea ecx, [esi + ecx*2]
jne 0x49c4c0
mov edx, ecx
nop dword [eax + eax]
movzx eax, word [ecx + 2]
cmp word [edx + eax*2], 0x71
lea ecx, [edx + eax*2]
mov edx, ecx
je 0x49c4a0
jmp 0x49c4b9
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
cmp dword [esp + 0x20], 0x86
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jne 0x49c64f
mov dword [ebp + 0x9c], 2
mov ecx, ebx
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edx
push dword [esp + 0x17c]
mov edx, esi
call fcn.00497260
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0x75
je 0x49c867
cmp eax, 0x74
jne 0x49c578
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x49c814
mov ecx, 0x82
cmp ax, cx
jae 0x49c7d3
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49c64b
mov eax, 0x82
cmp word [ebp], ax
jb 0x49c58d
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.00497260
mov ecx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x49c5c8
cmp dword [ecx + 0xb8], ebp
je 0x49c5d0
test eax, eax
jne 0x49c664
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x49c852
mov ebp, dword [esp + 0x174]
jmp 0x49c64f
movzx edx, word [esi + 4]
mov dword [esp + 0x44], edx
lea eax, [edx + edx]
cmp eax, dword [ebp + 0x14]
jl 0x49e508
mov edx, dword [esp + 0x20]
nop word [eax + eax]
cmp edx, 0x82
jae 0x49c66f
cmp edx, 0x7b
je 0x49c66f
cmp dword [ebp + 0x6c], 0
jne 0x49c679
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x49c679
movzx eax, cx
movzx eax, byte [eax + 0x4c4ea0]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x497301
inc eax
mov dword [ebp], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [ebp + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [ebp + 0xb0]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edi
mov edi, dword [esp + 0x24]
push dword [esp + 0x17c]
movzx eax, word [edi]
movzx eax, byte [eax + 0x4c4ea0]
lea edx, [edi + eax*2]
call fcn.00497260
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x49c6da
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
mov eax, edx
cmp dword [ebp + 0x80], ecx
jae 0x49c6da
cmp word [edi], 0x71
je 0x49c6e2
cmp word [ecx], 0x71
je 0x49c6e2
test eax, eax
jne 0x49e636
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.0x498c9c
mov edi, dword [esp + 0x170]
mov ecx, 0x71
jmp 0x49c602
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.00497260
add esp, 0x14
test eax, eax
je 0x49c752
cmp eax, 0xfffffc1d
je 0x49c752
cmp eax, 0xfffffc20
jne 0x49c664
lea eax, [esi + 4]
mov dword [ebp + 0x80], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x49c793
push eax
call fcn.004a45b2
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.00497260
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.00497260
add esp, 0x14
test eax, eax
je 0x49c8b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
jmp 0x49c82d
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
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.0x498c9c
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x498c9c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x49e4f8
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.0x498c9c
cmp ebx, dword [esi + 0x7c]
jb case.default.0x498c9c
jmp 0x49d433
mov edi, ebx
cmp esi, eax
jge 0x49c9b1
nop word [eax + eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004970b0
add esp, 0xc
test eax, eax
js 0x49c97b
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, dword [esp + 0x24]
jl 0x49c950
jmp 0x49c9a9
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x49c9a9
cmp ebx, dword [ecx + 0x7c]
jb 0x49c9a9
cmp ebx, dword [ecx + 0x88]
jbe 0x49c9a9
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x49e4f8
cmp ebx, edi
jb case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x49c9b1
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.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x4995d2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x49cad4
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x7c]
nop
cmp ebx, edi
jae 0x49cbaa
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49cabd
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 0x49cb71
cmp dword [esp + 0x20], 0x6a
jne 0x49cb91
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x498c9c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49cb37
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.00497260
add esp, 0x14
test eax, eax
je 0x49cb12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x44]
test byte [edx + ecx], al
je 0x49cad4
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 0x49ca80
jmp 0x49cad4
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x49cadb
cmp ebx, dword [esi + 0x88]
jbe 0x49cadb
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x49e4f8
jmp 0x49cadb
mov ebp, ebx
cmp edi, eax
jge 0x49cc51
nop word [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x49ccef
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49cc35
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov edx, dword [esp + 0x44]
push 1
call fcn.004a0830
add esp, 4
test eax, eax
je 0x49cc51
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x24]
jl 0x49cbf0
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x498c9c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49ccb5
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.00497260
add esp, 0x14
test eax, eax
je 0x49cc90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x49cc58
cmp ebx, dword [esi + 0x88]
jbe 0x49cc58
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x49e4f8
jmp 0x49cc58
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x498c9c
cmp ebx, ecx
jb case.default.0x498c9c
jmp 0x49c907
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x498c9c
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x498c9c
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x498c9c
mov dword [ecx + 0x64], 1
jmp 0x49c916
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x498c9c
mov ebp, dword [ebp + 0x7c]
lea eax, [ebp - 4]
cmp ebx, eax
ja 0x49ce2b
mov eax, dword [esp + 0x3c]
mov ecx, ebx
mov edx, dword [esp + 0x30]
lea esi, [eax + eax]
sub esi, 4
jb 0x49cdf1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49cdf6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x49cde0
cmp esi, 0xfffffffc
je 0x49ce23
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49ce2b
cmp esi, 0xfffffffd
je 0x49ce23
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49ce2b
cmp esi, 0xfffffffe
je 0x49ce23
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49ce2b
cmp esi, 0xffffffff
je 0x49ce23
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49ce2b
add ebx, 4
jmp 0x49cead
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x49cefb
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x49cefb
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x49ce65
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49ce6a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x49ce54
cmp esi, 0xfffffffc
je 0x49cea7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49cefb
cmp esi, 0xfffffffd
je 0x49cea7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49cefb
cmp esi, 0xfffffffe
je 0x49cea7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49cefb
cmp esi, 0xffffffff
je 0x49cea7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49cefb
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.00497260
add esp, 0x14
test eax, eax
je 0x49cdb0
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.0x498c9c
cmp ebx, ebp
jmp 0x49cd51
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x498c9c
jmp 0x49cd57
cmp ebx, edi
jb case.default.0x498c9c
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.00497260
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x49c664
cmp ebx, edi
jae 0x49cf40
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
cmp edi, dword [esp + 0x24]
jge case.default.0x498c9c
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x49cf1e
movzx eax, word [ebx]
cmp esi, eax
je 0x49cfeb
cmp ebp, eax
jne case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49cfc2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ebx, edi
jb case.default.0x498c9c
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.00497260
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x49c664
cmp ebx, edi
jae 0x49d040
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov ecx, edi
cmp edi, ebp
jge case.default.0x498c9c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x49d129
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x498c9c
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.00497260
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x49d0c2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x498c9c
cmp ebx, dword [edx + 0x88]
jbe case.default.0x498c9c
mov dword [edx + 0x64], 1
jmp 0x49c916
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x498c9c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49d1a5
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.00497260
add esp, 0x14
test eax, eax
je 0x49d180
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x498c9c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x49d129
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d26a
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.0x498c9c
cmp ebp, ecx
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49d220
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x498c9c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49d315
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.00497260
add esp, 0x14
test eax, eax
je 0x49d2f0
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x498c9c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x49d129
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d3da
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49d390
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x498c9c
cmp ebx, dword [esi + 0x88]
jbe case.default.0x498c9c
mov dword [esi + 0x64], 1
jmp 0x49c916
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x498c9c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49d4a7
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.00497260
add esp, 0x14
test eax, eax
je 0x49d482
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x498c9c
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x49d53f
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d56a
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 2
jne 0x49d59d
sub ebx, 2
jmp 0x49d525
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.00497260
add esp, 0x14
test eax, eax
je 0x49d518
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
lea ecx, [ebx - 2]
cmp ebx, esi
je case.default.0x498c9c
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x49d633
add ecx, 0xfffffffe
mov ebx, ecx
cmp edi, 0x11
jne 0x49d64f
cmp ecx, esi
jbe 0x49d64f
cmp word [ecx], 0xa
jne 0x49d64f
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.00497260
add esp, 0x14
test eax, eax
je 0x49d610
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x49dfe5
cmp eax, 8
ja case.default.0x498fd6
jmp dword [eax*4 + 0x49efa8]
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, ebp
nop dword [eax]
mov ecx, ebx
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x49d129
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d711
lea ebx, [ecx + 4]
cmp dword [esp + 0x34], 0
jne case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49d6e0
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x49d129
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d7dc
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
mov al, byte [eax*8 + 0x4d0c09]
cmp al, 9
je 0x49d80f
cmp al, 5
je 0x49d80f
cmp al, 8
je 0x49d80f
xor eax, eax
jmp 0x49d814
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49d792
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x49d129
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d8ea
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov esi, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4d1ce8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], esi
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49d8a0
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x49d129
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49d9ec
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49d9a2
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x49d129
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49daea
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c08]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49daa0
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x49d129
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49dbea
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x49dc23
cmp eax, 3
je 0x49dc23
xor eax, eax
jmp 0x49dc28
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49dba0
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
cmp ebx, dword [edi + 0x7c]
jae 0x49dd8e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49dcf4
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 + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 6
je 0x49dd3c
cmp edx, 9
je 0x49dd3c
cmp edx, 0xa
je 0x49dd3c
cmp edx, 0xc
je 0x49dd3c
cmp edx, 0xd
je 0x49dd3c
xor eax, eax
jmp 0x49dd41
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49dcb1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x498c9c
cmp ebx, dword [edi + 0x88]
jbe case.default.0x498c9c
mov dword [edi + 0x64], 1
jmp 0x49c916
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
cmp ebx, dword [edi + 0x7c]
jae 0x49dd8e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49de31
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 + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 6
je 0x49de7e
cmp edx, 9
je 0x49de7e
cmp edx, 0xa
je 0x49de7e
cmp edx, 0xb
je 0x49de7e
cmp edx, 0xc
je 0x49de7e
cmp edx, 0xd
je 0x49de7e
xor eax, eax
jmp 0x49de83
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49ddf2
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.00497260
add esp, 0x14
test eax, eax
jne 0x49c664
mov edi, dword [esp + 0x174]
mov esi, ebp
nop
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
cmp ebx, dword [edi + 0x7c]
jae 0x49dd8e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49df53
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 + 0x4d1ce8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
mov eax, dword [eax*4 + 0x4c4e28]
cmp eax, 1
je 0x49df93
cmp eax, 3
je 0x49df93
cmp edx, 0x5f
je 0x49df93
xor eax, eax
jmp 0x49df98
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49df10
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.00497260
add esp, 0x14
cmp edi, 0x16
jne 0x49e15e
test eax, eax
jne 0x49c664
mov edi, dword [esp + 0x174]
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
mov esi, dword [edi + 0x7c]
cmp ebx, esi
jae 0x49dd8e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49e077
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 2
je case.default.0x498c9c
cmp ebx, esi
jae 0x49e11b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49e0e6
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 + 0x4d1ce8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5308]
movzx eax, byte [eax*8 + 0x4d0c09]
cmp dword [eax*4 + 0x4c4e28], 2
jne 0x49e11b
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x49e0b1
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.00497260
add esp, 0x14
test eax, eax
je 0x49e030
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x49c664
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x498c9c
mov esi, dword [esp + 0x174]
mov ecx, dword [esi + 0x7c]
cmp ebx, ecx
jae 0x49e4ce
cmp edi, 0xc
jne 0x49e1e2
mov edx, dword [esi + 0x18]
lea eax, [esi + 0x1c]
test edx, edx
je 0x49e1b7
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004a0680
add esp, 0xc
test eax, eax
jne case.default.0x498c9c
jmp 0x49e1e2
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x49e1e2
mov ax, word [ebx]
cmp ax, word [esi + 0x2c]
jne 0x49e1e2
cmp edx, 1
je case.default.0x498c9c
mov ax, word [ebx + 2]
cmp ax, word [esi + 0x2e]
je case.default.0x498c9c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49e212
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x498fd6
jmp dword [eax*4 + 0x49efcc]
cmp ecx, 0x85
ja 0x49e25d
je case.0x49e23b.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x498c9c
jmp dword [ecx*4 + 0x49f00c]
cmp ebx, dword [esi + 0x7c]
jae case.0x49e21e.12
cmp word [ebx], 0xa
jne case.0x49e21e.12
add ebx, 2
jmp case.0x49e21e.12
sub ecx, 0x2028
je case.0x49e23b.11
sub ecx, 1
jne case.default.0x498c9c
cmp dword [esi + 0x68], 0
jne case.default.0x498c9c
jmp case.0x49e21e.12
cmp ecx, 0x2000
ja 0x49e2c1
je case.default.0x498c9c
cmp ecx, 0xa0
ja 0x49e2aa
je case.default.0x498c9c
cmp ecx, 9
je case.default.0x498c9c
cmp ecx, 0x20
jmp 0x49e46f
cmp ecx, 0x1680
je case.default.0x498c9c
cmp ecx, 0x180e
jmp 0x49e46f
cmp ecx, 0x3000
ja case.0x49e21e.12
je case.default.0x498c9c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x49e21e.12
movzx eax, byte [ecx + 0x49f024]
jmp dword [eax*4 + 0x49f01c]
cmp ecx, 0x2000
ja 0x49e340
je case.0x49e21e.12
cmp ecx, 0xa0
ja 0x49e323
je case.0x49e21e.12
cmp ecx, 9
je case.0x49e21e.12
cmp ecx, 0x20
jne case.default.0x498c9c
jmp case.0x49e21e.12
cmp ecx, 0x1680
je case.0x49e21e.12
cmp ecx, 0x180e
jne case.default.0x498c9c
jmp case.0x49e21e.12
cmp ecx, 0x3000
ja case.default.0x498c9c
je case.0x49e21e.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x498c9c
movzx eax, byte [ecx + 0x49f08c]
jmp dword [eax*4 + 0x49f084]
cmp ecx, 0x85
ja 0x49e390
je case.default.0x498c9c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x49e21e.12
jmp dword [ecx*4 + 0x49f0ec]
sub ecx, 0x2028
je case.default.0x498c9c
sub ecx, 1
jmp 0x49e46f
cmp ecx, 0x85
ja 0x49e3c5
je case.0x49e21e.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x498c9c
jmp dword [ecx*4 + 0x49f0fc]
sub ecx, 0x2028
je case.0x49e21e.12
sub ecx, 1
jne case.default.0x498c9c
jmp case.0x49e21e.12
cmp ecx, 0x100
jae case.0x49e21e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x498c9c
jmp case.0x49e21e.12
cmp ecx, 0x100
jae case.default.0x498c9c
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jmp 0x49e46f
cmp ecx, 0x100
jae case.0x49e21e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x498c9c
jmp case.0x49e21e.12
cmp ecx, 0x100
jae case.default.0x498c9c
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jmp 0x49e46f
cmp ecx, 0x100
jae case.0x49e21e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x498c9c
jmp case.0x49e21e.12
cmp ecx, 0x100
jae case.default.0x498c9c
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x498c9c
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.00497260
add esp, 0x14
test eax, eax
je 0x49e170
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x498c9c
cmp ebx, dword [esi + 0x88]
jbe case.default.0x498c9c
mov dword [esi + 0x64], 1
cmp eax, 1
jle case.default.0x498c9c
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x94]
mov eax, dword [ecx + edx*8]
mov dword [esp + 0x54], eax
mov eax, dword [ecx + edx*8 + 4]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
mov ebp, dword [ebp + 0xb0]
sub eax, edx
mov edx, dword [esp + 0x174]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
mov eax, ebx
sub eax, dword [edx + 0x78]
sar eax, 1
mov dword [ecx], eax
cmp dword [esp + 0x20], 0x82
jb 0x49e558
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi]
push edx
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4c4ea0]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00497260
mov edx, dword [esp + 0x188]
mov esi, eax
add esp, 0x14
cmp esi, 0xfffffc1c
je 0x49e5fa
mov ecx, dword [esp + 0x14]
cmp esi, 0xfffffc20
jne 0x49e5ce
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x80], eax
jae 0x49e5ce
cmp word [ecx], 0x71
je 0x49e5ca
cmp word [eax], 0x71
jne 0x49e5ce
xor esi, esi
jmp 0x49e5d6
test esi, esi
jne 0x49e629
mov dword [edx + 0x94], edi
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [edx + 0xb0], ebp
cmp word [ecx], 0x71
mov dword [esp + 0x14], ecx
jne 0x49e5fa
mov esi, ecx
jmp 0x49e544
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x174]
mov edx, dword [esp + 0x54]
mov dword [ecx + eax*8], edx
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x48]
mov dword [ecx + eax*8 + 4], edx
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub edx, eax
mov eax, dword [esp + 0x30]
mov dword [ecx + edx*4], eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0xfffffc1c
jne 0x49e675
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
je 0x49e66a
cmp ecx, 0x71
jne 0x49e662
mov ecx, edi
movzx eax, word [edi + 2]
cmp word [ecx + eax*2], 0x71
lea edi, [ecx + eax*2]
mov ecx, edi
je 0x49e652
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 + 0x4c4ea0]
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.00497260
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x49e6e8
cmp esi, 0xfffffc19
je 0x49e6e8
cmp esi, 0xfffffc1b
jne 0x49e704
cmp dword [ebp + 0xb0], 0
jne 0x49e704
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x49e629
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.004a05f0
test eax, eax
jne 0x49e629
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 + 0x4c4ea0]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00497260
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x49e79d
cmp ecx, 0xfffffc1d
je 0x49e79d
cmp ecx, 0xfffffc1e
je 0x49e79d
cmp ecx, 0xfffffc1f
je 0x49e79d
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 + 0x4c4ea0]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00497260
add esp, 0x14
test eax, eax
je 0x49e7e9
cmp eax, 0xfffffc20
jne 0x49c664
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 + 0x4c4ea0]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00497260
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x49e855
cmp ecx, 0xfffffc19
jne 0x49e864
cmp dword [ebp + 0xb0], 0
jne 0x49e864
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x49e7e9
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 + 0x4c4ea0]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00497260
add esp, 0x14
test eax, eax
je 0x49e8c4
cmp eax, 0xfffffc1d
je 0x49e8c4
cmp eax, 0xfffffc20
jne 0x49c664
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 + 0x4c4ea0]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00497260
add esp, 0x14
test eax, eax
je 0x49e98e
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 + 0x4c4ea0]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00497260
add esp, 0x14
cmp eax, 1
je 0x49e973
cmp eax, 0xfffffc19
jne 0x49e982
cmp dword [ebp + 0xb0], 0
jne 0x49e982
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x49c664
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 0x49e9e4
cmp edx, 0x99
je 0x49e9e4
cmp dword [ebp + 0xa8], 0
jne 0x49e9e4
cmp dword [ebp + 0x5c], 0
jne case.default.0x498c9c
cmp dword [ebp + 0x60], 0
je 0x49e9e4
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x498c9c
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