Function at 0x492200
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 0x49225e
cmp dword [esp + 0x17c], edx
jne 0x492243
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.00492200
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 0x4975fb
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 0x4999c0
cmp dword [ebp + 0x9c], 2
jne 0x4922e2
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 0x492302
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.0x49232e.98
movzx eax, byte [edx + 0x499b18]
jmp dword [eax*4 + 0x4999d0]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4bfe50]
je 0x4976b0
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x492302
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.00492200
mov edx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 1
je 0x49246f
cmp eax, 0xfffffc20
jne 0x4923da
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
jae 0x4923da
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x4923e2
cmp word [ecx], 0x71
mov eax, 0xfffffc20
je 0x4923e2
test eax, eax
jne 0x497604
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 0x492366
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x492420
cmp eax, 0x71
jne case.default.0x493c3c
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 0x492420
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x1c], ebx
cmp ecx, 0x72
je 0x492455
cmp ebx, edi
jne 0x497373
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
jmp 0x492302
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
mov dword [esp + 0x16c], eax
movzx ecx, word [esi]
jmp 0x492409
xor ebp, ebp
mov dword [esp + 0x38], ebp
jmp 0x492fc8
cmp word [esi + 4], 0x70
movzx ebp, word [esi + 2]
jne 0x49259b
movzx edi, word [esi + 6]
mov esi, dword [0x4e9e34]
add edi, edi
test esi, esi
je 0x49258e
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.0x493c3c
js 0x497604
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 0x4927bf
cmp ecx, 0x8a
je 0x4927bf
cmp ecx, 0x87
je 0x492633
cmp ecx, 0x88
je 0x492633
cmp ecx, 0x8b
jne 0x4925de
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492958
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.00492200
add esp, 0x14
cmp eax, 1
je 0x497408
test eax, eax
je 0x49262b
cmp eax, 0xfffffc20
jne 0x497604
lea eax, [esi + ebp*2]
jmp 0x492958
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x492657
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + edx*4], 0
jge 0x492795
xor edi, edi
cmp ecx, 0x88
jne 0x4927ab
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 0x4926c2
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
nop
movzx eax, word [ebp]
cmp eax, esi
je 0x4926b6
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 0x492690
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
cmp ecx, edx
jge 0x4927ab
cmp ebp, eax
mov esi, ebp
mov eax, dword [esp + 0x174]
jbe 0x492729
mov eax, dword [eax + 0x24]
lea ecx, [ebp + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.0049b590
test eax, eax
jne 0x492788
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492715
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492795
mov eax, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp esi, dword [eax + 0x28]
ja 0x4926d7
xor edi, edi
mov esi, dword [esp + 0x30]
inc esi
cmp esi, dword [eax + 0x20]
jge 0x4927ab
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.0049b590
test eax, eax
jne 0x4927ab
movzx eax, word [ebp]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492773
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492795
mov eax, dword [esp + 0x174]
inc esi
xor edi, edi
cmp esi, dword [eax + 0x20]
jge 0x4927ab
mov ecx, dword [esp + 0x30]
jmp 0x492740
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x174]
jmp 0x492729
mov ecx, dword [esp + 0x14]
mov eax, 2
mov edi, 1
lea eax, [ecx + eax*2]
jmp 0x49294e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x49294e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x4927dc
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x49295f
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x492941
cmp edx, dword [eax + 4]
je 0x492941
xor edi, edi
cmp ecx, 0x8a
jne 0x49293b
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 0x492866
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
movzx eax, word [ebp]
cmp eax, edx
je 0x492856
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 0x492830
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], ebp
cmp ecx, esi
jge 0x492937
cmp ebp, eax
jbe 0x4928c3
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.0049b590
test eax, eax
jne 0x4928af
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x4928af
cmp esi, dword [ebp + 0x28]
ja 0x492882
mov ebp, dword [esp + 0x30]
test ebx, ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
jne 0x492929
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x38]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x492937
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.0049b590
test eax, eax
jne 0x49291d
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 0x49291d
inc esi
cmp esi, dword [edx + 0x20]
jl 0x4928e0
mov dword [esp + 0x2c], ebx
test ebx, ebx
mov ebx, dword [esp + 0x1c]
je 0x492933
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
jmp 0x492946
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x49294b
mov edi, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test edi, edi
jne 0x497452
mov ebp, dword [esp + 0x174]
mov ecx, eax
cmp word [ecx], 0x71
je 0x497459
mov edi, dword [esp + 0x170]
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x492302
movzx edx, word [esi + 2]
mov dword [ebp + 0x94], edx
lea esi, [edx + edx]
cmp esi, dword [ebp + 0x14]
jl 0x4929a7
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x492302
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 0x4929d1
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492302
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x492a01
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x492a03
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.00492200
add esp, 0x14
cmp eax, 1
je 0x492a6e
cmp eax, 0xfffffc19
je 0x492a6e
test eax, eax
je 0x492a49
cmp eax, 0xfffffc20
jne 0x497604
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 0x492a03
mov esi, dword [esp + 0x14]
jmp 0x492a82
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.0x493c3c
test edi, edi
jne 0x49788d
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492a94
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x492302
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x492adb
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x492add
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.00492200
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x493c3c
cmp eax, 0xfffffc19
je case.default.0x493c3c
cmp eax, 0xfffffc1e
je 0x492b60
cmp eax, 0xfffffc1d
je 0x492b60
cmp eax, 0xfffffc1a
je 0x492b60
test eax, eax
je 0x492b46
cmp eax, 0xfffffc20
jne 0x497604
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 0x492ae1
mov esi, ecx
jmp 0x492b72
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492b64
test edi, edi
jne 0x49788d
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492302
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x492bc2
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x1c], ebx
cmp ebx, edx
jb case.default.0x493c3c
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x492bbe
add ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
test ecx, ecx
jg 0x492b98
cmp ebx, dword [ebp + 0x88]
jae 0x492bd0
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492302
movzx edi, word [esi + 2]
mov esi, dword [0x4e9e34]
test esi, esi
je 0x492cc5
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.0x493c3c
js 0x497604
mov esi, dword [esp + 0x14]
lea esi, [esi + edi*2]
mov edi, dword [esp + 0x170]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x492302
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x492cf1
xor ecx, ecx
jmp 0x492cf5
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x492d15
cmp ecx, dword [eax + 4]
jne 0x492d0f
cmp ebx, dword [eax + 0x10]
je 0x49770b
mov eax, dword [eax]
test eax, eax
jne 0x492d01
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 0x492d4b
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x492d69
shl eax, 2
push eax
call fcn.0049f50d
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x497740
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call fcn.0049d030
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
mov eax, 0x82
cmp bp, ax
jb 0x492d97
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 + 0x4bfe50]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.00492200
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.0049d030
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x492e6e
cmp esi, 0xfffffc19
je 0x492e6e
test esi, esi
je 0x492e1f
cmp esi, 0xfffffc20
jne 0x49771b
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 0x492d83
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.0x493c3c
push eax
call fcn.0049f4f2
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 0x492e86
push eax
call fcn.0049f4f2
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 0x4922fe
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x49232e.113
mov dword [esp + 0x14], esi
jmp 0x492302
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
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 0x492f00
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492302
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 0x492f30
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.00492200
add esp, 0x14
test eax, eax
je 0x492302
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 0x492f80
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x492302
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 0x492fc8
cmp edx, 0x85
jne 0x493185
movzx edi, word [esi + 4]
mov esi, dword [esp + 0x174]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x14]
jge 0x49317f
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 0x493048
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 + 0x4bfe50]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00492200
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x4930c4
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 0x49300e
cmp eax, 0xfffffc20
jne 0x4930fc
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 0x493100
cmp word [edx], 0x71
je 0x493108
cmp word [ecx], 0x71
je 0x493108
jmp 0x493100
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x497604
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 0x493014
mov edx, dword [esp + 0x30]
mov ebp, ecx
test edx, edx
jne 0x493159
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 0x493168
test edx, edx
je case.default.0x493c3c
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492302
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 0x4931a5
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 + 0x4bfe50]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00492200
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x49321c
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 0x493193
cmp eax, 0xfffffc20
jne 0x493271
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 0x493275
cmp word [edx], 0x71
je 0x49327d
cmp word [ecx], 0x71
jne 0x493275
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 0x493193
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x497604
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 0x493193
test edi, edi
jne 0x4932aa
test ebp, ebp
je case.default.0x493c3c
mov esi, dword [esp + 0x14]
mov ebp, ecx
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492302
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 0x4932ec
cmp ecx, 0x7b
je 0x4932ec
mov dword [esp + 0x30], 0
jmp 0x493305
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 0x493313
cmp ecx, 0x7a
jbe 0x49786d
cmp ecx, 0x7c
je 0x49786d
cmp ecx, 0x7f
je 0x493343
mov eax, 0x84
cmp cx, ax
je 0x493343
mov eax, 0x80
cmp cx, ax
je 0x493343
mov eax, 0x85
cmp cx, ax
jne 0x493420
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x493364
cmp dword [eax + 4], edi
je 0x497750
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x4933b1
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x493393
cmp ebx, dword [esp + 0x30]
jne 0x4974af
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x497823
mov ebp, dword [esp + 0x174]
jmp 0x492302
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x4933e6
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x4933df
mov eax, ecx
nop dword [eax + eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x4933d0
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 0x49337d
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x49337d
mov edx, dword [esp + 0x174]
jmp 0x493381
cmp dword [ebp + 0x44], 0
je case.0x49232e.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x493c3c
cmp ebx, dword [ebp + 0x78]
jne case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp dword [ebp + 0x44], 0
je 0x493464
cmp ebx, dword [ebp + 0x78]
je case.default.0x493c3c
mov ecx, dword [ebp + 0x78]
jmp 0x49346f
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x493c3c.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x493c3c
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4934b5
cmp ebx, ecx
jbe 0x49349f
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b6e0
add esp, 0xc
test eax, eax
je 0x49349f
mov eax, 1
jmp 0x4934a1
xor eax, eax
test eax, eax
je case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x493c3c
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493c3c
cmp esi, 1
je 0x4934ea
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493c3c
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x492302
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4935a4
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493564
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b620
add esp, 0xc
test eax, eax
je case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493c3c
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493c3c
cmp edx, 1
je case.0x493c3c.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp dword [ebp + 0x48], 0
jne case.default.0x493c3c
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493c3c.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493c3c.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp dword [ebp + 0x48], 0
jne case.default.0x493c3c
cmp dword [ebp + 0x58], 0
je case.0x49232e.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x493c3c
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493c3c.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493c3c.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4936a4
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x493660
push 1
push esi
push ecx
mov ecx, ebx
call fcn.0049b620
add esp, 0xc
test eax, eax
je case.default.0x493c3c
jmp 0x49368f
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493c3c
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493c3c
cmp edx, 1
je 0x49368f
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493c3c
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x493c3c
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493c3c.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493c3c.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x78]
jne 0x49373f
lea edi, [ebp + 0x88]
xor esi, esi
mov ecx, 0x54
mov eax, ebp
lea edx, [eax + ecx]
cmp ebx, dword [ebp + 0x7c]
jb 0x4937fe
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49371c
cmp ebx, dword [edi]
jbe 0x49371c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
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 0x4938ad
xor esi, edx
jmp 0x4938af
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49375b
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
lea edi, [ebp + 0x88]
jae 0x49376b
mov dword [edi], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493796
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 0x4937db
cmp ecx, 0x5f
je 0x4937f4
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x4937f4
cmp eax, 3
je 0x4937f4
jmp 0x4936e9
cmp ecx, 0x100
jae 0x4936e9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4936e9
mov esi, 1
jmp 0x4936eb
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493829
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 0x493888
cmp ecx, 0x5f
jne 0x493843
mov ecx, 1
xor edx, edx
jmp 0x493721
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x49387c
cmp eax, 3
jne 0x49371c
mov ecx, 1
xor edx, edx
jmp 0x493721
cmp ecx, 0x100
jae 0x49371c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x49371c
mov ecx, 1
xor edx, edx
jmp 0x493721
xor esi, ecx
test esi, esi
jne case.default.0x493c3c
mov edi, dword [esp + 0x170]
jmp 0x4922fe
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x4938f9
cmp ebx, ecx
jae 0x4938ed
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b620
add esp, 0xc
test eax, eax
je 0x4938ed
mov eax, 1
jmp 0x4938ef
xor eax, eax
test eax, eax
jne case.default.0x493c3c
jmp case.0x49232e.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x49232e.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x49232e.13
cmp edx, 1
je case.default.0x493c3c
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x493c3c
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x49789d
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, eax
jae 0x493957
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x493957
add ebx, 2
mov dword [esp + 0x1c], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4939c0
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.0x493c3c.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493a26
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.0x493c3c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493a8c
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.0x493c3c.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493af2
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.0x493c3c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493b58
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.0x493c3c.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493bbe
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.0x493c3c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493c26
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 0x493c68
je case.0x493c3c.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c3c
jmp dword [ecx*4 + 0x499bb4]
cmp ebx, edx
jae case.0x493c3c.10
cmp word [ebx], 0xa
jne case.0x493c3c.10
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x492302
sub ecx, 0x2028
je case.0x493c3c.11
sub ecx, 1
jne case.default.0x493c3c
cmp dword [ebp + 0x68], 0
jne case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493cd0
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 0x493d2e
je case.default.0x493c3c
cmp ecx, 0xa0
ja 0x493d0a
je case.default.0x493c3c
cmp ecx, 9
je case.default.0x493c3c
cmp ecx, 0x20
je case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ecx, 0x1680
je case.default.0x493c3c
cmp ecx, 0x180e
je case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ecx, 0x3000
ja case.0x493d56.8203
je case.default.0x493c3c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x493d56.8203
movzx eax, byte [ecx + 0x499bcc]
jmp dword [eax*4 + 0x499bc4]
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493d9e
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 0x493de2
je case.0x493d56.8203
cmp ecx, 0xa0
ja 0x493dcb
je case.0x493d56.8203
cmp ecx, 9
je case.0x493d56.8203
cmp ecx, 0x20
jmp 0x49343e
cmp ecx, 0x1680
je case.0x493d56.8203
cmp ecx, 0x180e
jmp 0x49343e
cmp ecx, 0x3000
ja case.default.0x493c3c
je case.0x493d56.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493c3c
movzx eax, byte [ecx + 0x499c34]
jmp dword [eax*4 + 0x499c2c]
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493e52
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 0x493e73
je case.default.0x493c3c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x493d56.8203
jmp dword [ecx*4 + 0x499c94]
sub ecx, 0x2028
je case.default.0x493c3c
sub ecx, 1
je case.default.0x493c3c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493ed5
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 0x493ef6
je case.0x493d56.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c3c
jmp dword [ecx*4 + 0x499ca4]
sub ecx, 0x2028
je case.0x493d56.8203
sub ecx, 1
jmp 0x49343e
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493f4b
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 + 0x4ccc98]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x493f76
jmp dword [ecx*4 + 0x499cb4]
cmp dword [esp + 0x20], 0xf
jmp 0x4940c6
mov al, byte [eax*8 + 0x4cbbb9]
cmp al, 9
je 0x4940b5
cmp al, 5
je 0x4940b5
cmp al, 8
je 0x4940b5
xor ecx, ecx
jmp 0x4940ba
movzx ecx, byte [eax*8 + 0x4cbbb9]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4bfdd0]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x4940c6
movzx eax, byte [eax*8 + 0x4cbbb9]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4940c1
movzx eax, byte [eax*8 + 0x4cbbb8]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4940c1
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x4940b5
cmp eax, 3
je 0x4940b5
xor ecx, ecx
jmp 0x4940ba
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x4940b5
cmp edx, 9
je 0x4940b5
cmp edx, 0xa
je 0x4940b5
cmp edx, 0xc
je 0x4940b5
cmp edx, 0xd
je 0x4940b5
xor ecx, ecx
jmp 0x4940ba
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x4940b5
cmp edx, 9
je 0x4940b5
cmp edx, 0xa
je 0x4940b5
cmp edx, 0xb
jmp 0x49405a
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x4940b5
cmp eax, 3
je 0x4940b5
cmp edx, 0x5f
je 0x4940b5
xor ecx, ecx
jmp 0x4940ba
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x493c3c
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x492302
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x49789d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49411b
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
je case.default.0x493c3c
cmp ebx, esi
jae 0x4941ce
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 0x494195
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x4941ca
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x494160
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492302
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 0x494214
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x494214
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x49421e
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.0x49423a
movzx eax, byte [edi + 0x499ce0]
jmp dword [eax*4 + 0x499cd8]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4bf648]
and eax, 1
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x4bf640]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x494299
mov dword [esp + 0x24], connect
jmp 0x494299
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 0x4922f7
jns 0x4942b2
test esi, esi
je 0x4922f7
cmp esi, 1
jl 0x4942ef
mov edi, 1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00492050
add esp, 0xc
test eax, eax
js 0x497cd9
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 0x4942c0
mov eax, dword [esp + 0x24]
cmp esi, eax
je 0x4922f0
cmp dword [esp + 0x30], 0
je 0x4978e0
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov edi, dword [esp + 0x38]
mov dword [esp + 0x48], esi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493c3c
push dword [esp + 0x3c]
mov esi, dword [esp + 0x178]
mov edx, ebx
push esi
push ebp
mov ecx, edi
call fcn.00492050
add esp, 0xc
test eax, eax
js 0x4978cc
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.00492200
add esp, 0x14
mov dword [esp + 0x48], esi
test eax, eax
je 0x494350
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.00492050
add esp, 0xc
test eax, eax
js 0x4978cc
mov edi, dword [esp + 0x170]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x1c], ebx
mov ebp, esi
jmp 0x4922fe
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.0x494421
movzx eax, byte [ecx + 0x499cf0]
jmp dword [eax*4 + 0x499ce8]
movsx eax, byte [ecx + 0x4bf640]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf648]
and edx, 1
add esi, 2
mov dword [esp + 0x18], edx
test eax, eax
mov ecx, closesocket
cmove eax, ecx
jmp 0x49446f
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 0x49451e
jmp 0x49449d
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 0x497ebe
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4944e5
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 0x4944fa
cmp dword [esp + 0x20], 0x6a
je case.default.0x493c3c
jmp 0x494519
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x493c3c
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, edi
jle 0x4944a4
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4922f0
cmp dword [esp + 0x18], 0
je 0x497a06
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493c3c
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497ebe
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4945bc
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 0x4979a4
cmp dword [esp + 0x20], 0x6a
je case.default.0x493c3c
jmp 0x4979c3
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.0x494602
movzx eax, byte [ecx + 0x499d00]
jmp dword [eax*4 + 0x499cf8]
movsx eax, byte [ecx + 0x4bf640]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf648]
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 0x494662
mov dword [esp + 0x24], connect
jmp 0x494662
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 0x4946e1
jmp 0x494680
mov edi, 1
mov dword [esp + 0x24], 1
mov esi, edi
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497ebe
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4946c8
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.0049b7d0
add esp, 4
test eax, eax
je case.default.0x493c3c
inc esi
cmp esi, edi
jle 0x494680
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4922f0
cmp dword [esp + 0x18], 0
je 0x497b80
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493c3c
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497ebe
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49477f
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.0049b7d0
add esp, 4
test eax, eax
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x494735
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 0x497cbe
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.0x493c3c
test edx, edx
jg 0x494810
jmp 0x4922fe
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
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 0x494880
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x494885
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x4948c5
mov edi, 0xff
mov ecx, eax
cmp ax, di
ja 0x4948a3
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.0x493c3c
mov edi, dword [esp + 0x170]
add ebx, 2
mov dword [esp + 0x1c], ebx
jmp 0x492302
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
cmp eax, 0xd800
jne 0x4948fa
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 0x4922fe
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov eax, dword [eax*8 + 0x4cbbbc]
add eax, edx
cmp esi, eax
jne case.default.0x493c3c
jmp 0x4922fe
movzx ebp, word [esi + 2]
add esi, 4
mov edi, ebp
jmp 0x4949fe
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 0x494976
mov dword [esp + 0x18], edi
cmp ecx, 0x35
jne 0x49497e
mov dword [esp + 0x18], 1
add esi, 4
jmp 0x494a06
xor edi, edi
mov dword [esp + 0x2c], 1
mov ebp, closesocket
add esi, 2
jmp 0x4949fe
mov dword [esp + 0x2c], 1
mov edi, 1
mov ebp, closesocket
add esi, 2
jmp 0x4949fe
xor edi, edi
mov dword [esp + 0x2c], 1
add esi, 2
lea ebp, [edi + 1]
jmp 0x4949fe
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 + 0x4bf640]
movsx edi, byte [eax + 0x4bf648]
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 0x494dec
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 0x494a93
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov ecx, dword [eax*8 + 0x4cbbbc]
add ecx, edx
cmp ecx, edx
je 0x494a93
lea edx, [esp + 0x74]
call fcn.0049b5c0
mov dword [esp + 0x38], eax
jmp 0x494a9b
mov dword [esp + 0x38], 0
mov ebp, 1
cmp edi, ebp
jl 0x494bd2
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 0x494b34
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494af6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494afb
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494ae5
cmp esi, 0xfffffffc
je 0x494b28
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494b30
cmp esi, 0xfffffffd
je 0x494b28
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494b30
cmp esi, 0xfffffffe
je 0x494b28
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494b30
cmp esi, 0xffffffff
je 0x494b28
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494b30
add ebx, 4
jmp 0x494bb9
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
test edx, edx
jle 0x497cd9
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x497cd9
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494b71
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494b76
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494b60
cmp esi, 0xfffffffc
je 0x494bb3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497cd9
cmp esi, 0xfffffffd
je 0x494bb3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497cd9
cmp esi, 0xfffffffe
je 0x494bb3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497cd9
cmp esi, 0xffffffff
je 0x494bb3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497cd9
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 0x494ad0
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4922f0
cmp dword [esp + 0x18], 0
jne 0x497d0f
mov ebp, ebx
mov dword [esp + 0x18], ebp
cmp edi, eax
jge 0x494d0e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x20], eax
lea ebp, [eax - 4]
cmp ebx, ebp
ja 0x494c6f
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494c31
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494c36
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494c20
cmp esi, 0xfffffffc
je 0x494c63
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494c6b
cmp esi, 0xfffffffd
je 0x494c63
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494c6b
cmp esi, 0xfffffffe
je 0x494c63
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494c6b
cmp esi, 0xffffffff
je 0x494c63
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494c6b
add ebx, 4
jmp 0x494cef
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x494db5
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x494db5
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494ca7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494cac
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494c96
cmp esi, 0xfffffffc
je 0x494ce9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494db5
cmp esi, 0xfffffffd
je 0x494ce9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494db5
cmp esi, 0xfffffffe
je 0x494ce9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494db5
cmp esi, 0xffffffff
je 0x494ce9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494db5
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 0x494c08
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x4922f0
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
cmp ebx, ebp
je case.default.0x493c3c
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x494d7b
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.00492200
add esp, 0x14
test eax, eax
je 0x494d57
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 0x494de3
cmp ebx, dword [esi + 0x7c]
jb 0x494de3
cmp ebx, dword [esi + 0x88]
jbe 0x494de3
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499498
mov ebp, dword [esp + 0x18]
jmp 0x494d15
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x494f0c
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x494e31
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov ebp, dword [eax*8 + 0x4cbbbc]
add ebp, esi
jmp 0x494e38
mov eax, dword [edx + 0x38]
movzx ebp, byte [eax + esi]
mov ecx, 1
cmp edi, ecx
jl 0x494e7b
mov edx, dword [edx + 0x7c]
mov eax, dword [esp + 0x14]
nop dword [eax + eax]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x497eb7
movzx eax, word [ebx]
cmp esi, eax
je 0x494e6b
cmp ebp, eax
jne case.default.0x493c3c
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x1c], ebx
cmp ecx, edi
jle 0x494e50
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x4922f0
cmp dword [esp + 0x18], 0
jne 0x497f27
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, eax
jge 0x494ec3
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x494ee1
movzx eax, word [ebx]
cmp esi, eax
je 0x494eb5
cmp ebp, eax
jne 0x494ec3
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, dword [esp + 0x24]
jl 0x494ea6
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x497ed1
mov edi, dword [esp + 0x170]
jmp 0x4922fe
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x494eca
cmp ebx, dword [ebp + 0x88]
jbe 0x494eca
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
jmp 0x494eca
cmp edi, 1
jl 0x494f43
mov eax, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x497eb7
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp esi, eax
jne case.default.0x493c3c
inc ecx
cmp ecx, edi
jle 0x494f20
mov ecx, dword [esp + 0x14]
cmp edi, ebp
je 0x4922f0
cmp dword [esp + 0x18], 0
jne 0x498027
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, ebp
jge 0x494f87
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x494fa5
movzx eax, word [ebx]
cmp esi, eax
jne 0x494f87
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jl 0x494f70
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x497fd5
mov edi, dword [esp + 0x170]
jmp 0x4922fe
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x494f8e
cmp ebx, dword [ebp + 0x88]
jbe 0x494f8e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
jmp 0x494f8e
cmp ebx, dword [ebp + 0x7c]
jae 0x49789d
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 0x495014
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 0x49506f
cmp edx, 0x7f
jbe 0x495053
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov eax, dword [eax*8 + 0x4cbbbc]
add eax, edx
jmp 0x49505a
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x493c3c
cmp eax, esi
je case.default.0x493c3c
jmp 0x4922fe
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x493c3c
jmp 0x4922fe
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], eax
mov edi, eax
jmp 0x49514d
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], eax
cmp ecx, 0x42
je 0x4950aa
mov dword [esp + 0x18], edi
cmp ecx, 0x4f
jne 0x4950b2
mov dword [esp + 0x18], 1
lea ecx, [esi + 4]
jmp 0x49514d
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x495145
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x495145
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x28], 1
jmp 0x49514d
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x49514d
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 + 0x4bf648]
movsx eax, byte [eax + 0x4bf640]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x49514d
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 0x4952f1
cmp ebp, 0x7f
jbe 0x4951a0
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4ccc98]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4cbbbc]
add ebp, dword [esp + 0x24]
jmp 0x4951ae
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x30], ebp
cmp edi, 1
jl 0x49521b
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495200
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.0x493c3c
cmp ebp, ecx
je case.default.0x493c3c
inc edx
cmp edx, edi
jle 0x4951c0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x49245c
cmp dword [esp + 0x18], 0
jne 0x49817f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x4952a4
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4952c6
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495283
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 0x49529d
cmp dword [esp + 0x30], ecx
je 0x49529d
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x495246
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x4980ef
mov ebp, dword [esp + 0x174]
jmp 0x492302
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4952a4
cmp ebx, dword [ecx + 0x88]
jbe 0x4952a4
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499498
jmp 0x4952a4
cmp edi, 1
jl 0x495355
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495344
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.0x493c3c
inc edx
cmp edx, edi
jle 0x495304
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x49245c
cmp dword [esp + 0x18], 0
jne 0x4982ef
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x4953d8
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4953fa
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4953bd
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 0x4953d1
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x495380
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x49825f
mov ebp, dword [esp + 0x174]
jmp 0x492302
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4953d8
cmp ebx, dword [ecx + 0x88]
jbe 0x4953d8
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499498
jmp 0x4953d8
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 0x4954fe
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 0x4954fe
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x4954f6
mov ebp, 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x4954f6
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
mov dword [esp + 0x20], 1
jmp 0x4954fe
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 0x4954fe
add edx, 0xffffffab
lea ecx, [esi + 2]
mov eax, edx
and edx, 1
mov dword [esp + 0x18], edx
movsx ebp, byte [eax + 0x4bf648]
movsx eax, byte [eax + 0x4bf640]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4954fe
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 0x495523
cmp edx, 0xf
je 0x495523
or eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x495549
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 0x496292
test eax, eax
js 0x495ac1
cmp eax, 8
ja case.default.0x493f76
jmp dword [eax*4 + 0x499d08]
cmp dword [esp + 0x34], 0
jne case.default.0x493c3c
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
mov ecx, ebx
cmp ebx, esi
jae 0x497eb7
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 0x495583
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495600
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
mov al, byte [eax*8 + 0x4cbbb9]
cmp al, 9
je 0x495633
cmp al, 5
je 0x495633
cmp al, 8
je 0x495633
xor eax, eax
jmp 0x495638
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x4955c8
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495698
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], edi
mov edi, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x495660
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49572f
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x4956f7
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4957bb
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb8]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x495783
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495848
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x495881
cmp eax, 3
je 0x495881
xor eax, eax
jmp 0x495886
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x495810
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497eb7
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4958e9
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x495931
cmp edx, 9
je 0x495931
cmp edx, 0xa
je 0x495931
cmp edx, 0xc
je 0x495931
cmp edx, 0xd
je 0x495931
xor eax, eax
jmp 0x495936
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
inc esi
cmp esi, ebp
jle 0x4958b1
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497eb7
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49599d
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x4959ea
cmp edx, 9
je 0x4959ea
cmp edx, 0xa
je 0x4959ea
cmp edx, 0xb
je 0x4959ea
cmp edx, 0xc
je 0x4959ea
cmp edx, 0xd
je 0x4959ea
xor eax, eax
jmp 0x4959ef
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
inc esi
cmp esi, ebp
jle 0x495965
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
nop
cmp ebx, edi
jae 0x497eb7
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495a60
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x495aa0
cmp eax, 3
je 0x495aa0
cmp edx, 0x5f
je 0x495aa0
xor eax, eax
jmp 0x495aa5
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
inc esi
cmp esi, ebp
jle 0x495a20
mov edi, dword [esp + 0x28]
jmp 0x496292
cmp edx, 0x16
jne 0x495bdf
mov esi, dword [esp + 0x174]
lea edi, [edx - 0x15]
mov ebp, dword [esi + 0x7c]
cmp ebx, ebp
jae 0x4983c5
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495b11
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
je case.default.0x493c3c
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x495bba
nop
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495b85
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x495bba
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x495b50
mov esi, dword [esp + 0x174]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x495ad7
mov ebp, dword [esp + 0x24]
mov ecx, esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496299
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493f76
jmp dword [eax*4 + 0x499d2c]
mov ecx, dword [esp + 0x174]
mov esi, 1
nop
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x497eb7
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x495c6b
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b620
add esp, 0xc
test eax, eax
jne case.default.0x493c3c
mov ecx, dword [esp + 0x174]
add ebx, 2
cmp ebx, dword [ecx + 0x7c]
jae 0x495c5d
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x495c5d
add ebx, 2
inc esi
cmp esi, ebp
jle 0x495c00
mov dword [esp + 0x1c], ebx
jmp 0x496299
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x495c36
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x495c3d
cmp edx, 1
je case.default.0x493c3c
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je case.default.0x493c3c
jmp 0x495c3d
mov esi, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [esi + 0x7c]
nop
cmp ebx, edx
jae 0x4983c5
add ebx, 2
cmp ebx, edx
jae 0x495cd1
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x495cd1
add ebx, 2
inc ecx
cmp ecx, ebp
jle 0x495cb0
mov dword [esp + 0x1c], ebx
mov ecx, esi
jmp 0x496299
mov eax, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [eax + 0x7c]
sub eax, ecx
cmp ebx, eax
ja case.default.0x493c3c
add ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497ebe
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495d4e
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 0x495daa
je case.0x495d6c.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c3c
jmp dword [ecx*4 + 0x499d6c]
mov ebx, edx
cmp edx, edi
jae 0x495d8d
cmp word [edx], 0xa
mov ecx, dword [esp + 0x174]
jne 0x495d94
lea ebx, [edx + 2]
jmp 0x495d94
mov ebx, edx
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, ebp
jle 0x495d16
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x496299
sub ecx, 0x2028
je case.0x495d6c.11
sub ecx, 1
jne case.default.0x493c3c
mov ecx, dword [esp + 0x174]
mov ebx, edx
cmp dword [ecx + 0x68], 0
jne case.default.0x493c3c
jmp 0x495d94
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495e18
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 0x495e72
je case.default.0x493c3c
cmp ecx, 0xa0
ja 0x495e58
je case.default.0x493c3c
cmp ecx, 9
je case.default.0x493c3c
cmp ecx, 0x20
je case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x495de0
mov dword [esp + 0x1c], ebx
jmp 0x496292
cmp ecx, 0x1680
je case.default.0x493c3c
cmp ecx, 0x180e
je case.default.0x493c3c
jmp case.0x495e92.8203
cmp ecx, 0x3000
ja case.0x495e92.8203
je case.default.0x493c3c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x495e92.8203
movzx eax, byte [ecx + 0x499d84]
jmp dword [eax*4 + 0x499d7c]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ee0
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 0x495f2a
je case.0x495f4e.8193
cmp ecx, 0xa0
ja 0x495f14
je case.0x495f4e.8193
cmp ecx, 9
je case.0x495f4e.8193
cmp ecx, 0x20
jne case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x495ea8
mov dword [esp + 0x1c], ebx
jmp 0x496292
cmp ecx, 0x1680
je case.0x495f4e.8193
cmp ecx, 0x180e
jne case.default.0x493c3c
jmp case.0x495f4e.8193
cmp ecx, 0x3000
ja case.default.0x493c3c
je case.0x495f4e.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493c3c
movzx eax, byte [ecx + 0x499dec]
jmp dword [eax*4 + 0x499de4]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495f9c
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 0x495fb9
je case.default.0x493c3c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x495fb2
jmp dword [ecx*4 + 0x499e4c]
sub ecx, 0x2028
je case.default.0x493c3c
sub ecx, 1
je case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x495f64
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496028
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 0x496045
je case.0x49603e.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c3c
jmp dword [ecx*4 + 0x499e5c]
sub ecx, 0x2028
je case.0x49603e.10
sub ecx, 1
jne case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x495ff0
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4960ab
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 0x4960c7
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493c3c
inc edx
cmp edx, ebp
jle 0x496073
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493c3c
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493c3c
inc edx
add ebx, 2
cmp edx, ebp
jle 0x4960e4
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x49615e
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493c3c
add ebx, 2
cmp ebx, esi
jae 0x49617d
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49617d
add ebx, 2
inc edx
cmp edx, ebp
jle 0x496133
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497eb7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493c3c
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493c3c
inc edx
add ebx, 2
cmp edx, ebp
jle 0x4961a0
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
nop
cmp ebx, esi
jae 0x497eb7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x49621b
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493c3c
add ebx, 2
cmp ebx, esi
jae 0x49623a
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49623a
add ebx, 2
inc edx
cmp edx, ebp
jle 0x4961f0
mov dword [esp + 0x1c], ebx
jmp 0x496292
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497eb7
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493c3c
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493c3c
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jle 0x496257
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x4922f0
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x30]
jne 0x49862b
mov esi, ebx
mov dword [esp + 0x18], esi
test eax, eax
js 0x49695c
cmp eax, 8
ja case.default.0x493f76
jmp dword [eax*4 + 0x499e6c]
cmp ebp, edx
jge 0x49693e
mov edx, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, edx
jae 0x49631c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x34], 0
movzx ecx, ax
jne 0x49693e
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 0x4962e1
jmp 0x49693e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496945
cmp ebx, dword [ebp + 0x88]
jbe 0x496945
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
jmp 0x496945
cmp ebp, edx
jge 0x49693e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
mov edx, 1
cmp ebx, esi
jae 0x4963f5
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49639e
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
mov al, byte [eax*8 + 0x4cbbb9]
cmp al, 9
je 0x4963d1
cmp al, 5
je 0x4963d1
cmp al, 8
je 0x4963d1
xor eax, eax
jmp 0x4963d6
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49693a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496361
jmp 0x49693a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49641a
cmp ebx, dword [ebp + 0x88]
jbe 0x49641a
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x499498
mov esi, dword [esp + 0x18]
jmp 0x496945
cmp ebp, edx
jge 0x49693e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x40]
cmp ebx, esi
jae 0x4964c0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49646f
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], edi
sete cl
cmp ecx, dword [esp + 0x34]
je 0x49693a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496432
jmp 0x49693a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49641a
cmp ebx, dword [ebp + 0x88]
jbe 0x49641a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
mov esi, dword [esp + 0x18]
jmp 0x496945
cmp ebp, edx
jge 0x49693e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
cmp ebx, esi
jae 0x4964c0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496549
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x49693a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496510
jmp 0x49693a
cmp ebp, edx
jge 0x49693e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x4964c0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4965dd
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb8]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je 0x49693a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x4965a0
jmp 0x49693a
cmp ebp, edx
jge 0x49693e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4963f5
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49667d
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x4966b6
cmp eax, 3
je 0x4966b6
xor eax, eax
jmp 0x4966bb
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49693a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496640
jmp 0x49693a
cmp ebp, edx
jge 0x49693e
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x49679b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49672d
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x496775
cmp edx, 9
je 0x496775
cmp edx, 0xa
je 0x496775
cmp edx, 0xc
je 0x496775
cmp edx, 0xd
je 0x496775
xor eax, eax
jmp 0x49677a
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49693a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4966f0
jmp 0x49693a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49641a
cmp ebx, dword [ebp + 0x88]
jbe 0x49641a
mov dword [ebp + 0x64], esi
cmp eax, 1
jg 0x499498
mov esi, dword [esp + 0x18]
jmp 0x496945
cmp ebp, edx
jge 0x49693e
mov edi, dword [ecx + 0x7c]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x49679b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496819
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x496866
cmp edx, 9
je 0x496866
cmp edx, 0xa
je 0x496866
cmp edx, 0xb
je 0x496866
cmp edx, 0xc
je 0x496866
cmp edx, 0xd
je 0x496866
xor eax, eax
jmp 0x49686b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49693a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4967e0
jmp 0x49693a
cmp ebp, edx
jge 0x49693e
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x49679b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4968dd
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x49691d
cmp eax, 3
je 0x49691d
cmp edx, 0x5f
je 0x49691d
xor eax, eax
jmp 0x496922
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49693a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4968a0
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x4983eb
mov edi, dword [esp + 0x170]
jmp 0x4922fe
cmp edi, 0x16
jne 0x496aca
cmp ebp, edx
jge 0x496a7d
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x496a9b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4969ad
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
je 0x496a79
mov eax, dword [esp + 0x174]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x496a6e
nop dword [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496a35
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x496a6a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x496a00
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496970
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x498481
mov edi, dword [esp + 0x170]
jmp 0x4922fe
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496ac4
cmp ebx, dword [ebp + 0x88]
jbe 0x496ac4
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
mov esi, dword [esp + 0x18]
jmp 0x496a84
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493f76
jmp dword [eax*4 + 0x499e90]
cmp edx, 0x7fffffff
jge 0x496bd0
cmp ebp, edx
jge 0x496e32
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496b96
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496b62
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b620
add esp, 0xc
test eax, eax
jne 0x496e32
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496b56
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496b56
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496af1
jmp 0x496e32
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496b27
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496b2e
cmp edx, 1
je 0x496e32
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x496e32
jmp 0x496b2e
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x496e32
cmp ebx, dword [ecx + 0x88]
jbe 0x496e32
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499498
mov ebp, ecx
jmp 0x496e39
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496b96
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496c3d
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b620
add esp, 0xc
test eax, eax
jne 0x496e32
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496c31
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496c31
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496bd0
jmp 0x496e32
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496c02
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496c09
cmp edx, 1
je 0x496e32
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x496e32
jmp 0x496c09
cmp edx, 0x7fffffff
jge 0x496cf1
cmp ebp, edx
jge 0x496e32
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496cbb
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, ecx
jae 0x496cb1
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x496cb1
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, edx
jl 0x496c88
jmp 0x496e32
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496e39
cmp ebx, dword [ebp + 0x88]
jbe 0x496e39
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
jmp 0x496e39
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496e39
cmp ebx, dword [ebp + 0x88]
jbe 0x496e39
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
jmp 0x496e39
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 0x496d60
mov eax, dword [ebp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496e39
cmp ecx, dword [ebp + 0x88]
jmp 0x496d13
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
jmp 0x496e39
cmp ebp, edx
jge 0x496e32
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496e50
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496db3
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x496db8
mov eax, 2
cmp ecx, 0xd
jne 0x496ddd
mov ebx, edx
mov dword [esp + 0x1c], ebx
cmp edx, esi
jae 0x496e2e
cmp word [ebx], 0xa
jne 0x496e23
lea ebx, [edx + 2]
jmp 0x496e1f
cmp ecx, 0xa
je 0x496e1d
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x497368
cmp ecx, 0xb
je 0x496e1d
cmp ecx, 0xc
je 0x496e1d
cmp ecx, 0x85
je 0x496e1d
cmp ecx, 0x2028
je 0x496e1d
cmp ecx, 0x2029
jne 0x497368
add ebx, eax
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496d77
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49857b
mov edi, dword [esp + 0x170]
jmp 0x4922fe
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496e79
cmp ebx, dword [ebp + 0x88]
jbe 0x496e79
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
mov esi, dword [esp + 0x18]
jmp 0x496e39
cmp ebp, edx
jge 0x496e32
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496f6a
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496ecd
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 0x496f40
je case.0x496f5c.8193
cmp ecx, 0xa0
ja 0x496f2c
je case.0x496f5c.8193
cmp ecx, 9
je case.0x496f5c.8193
cmp ecx, 0x20
je case.0x496f5c.8193
xor ecx, ecx
xor eax, eax
cmp edi, 0x12
sete al
cmp ecx, eax
je 0x496e2e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496e90
jmp 0x496e2e
cmp ecx, 0x1680
je case.0x496f5c.8193
cmp ecx, 0x180e
jmp 0x496efd
cmp ecx, 0x3000
ja case.0x496f5c.8203
je case.0x496f5c.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x496f5c.8203
movzx eax, byte [ecx + 0x499ed8]
jmp dword [eax*4 + 0x499ed0]
mov ecx, 1
jmp 0x496f05
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496e79
cmp ebx, dword [ebp + 0x88]
jbe 0x496e79
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x499498
mov esi, dword [esp + 0x18]
jmp 0x496e39
cmp ebp, edx
jge 0x496e32
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496f6a
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496fe9
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 0x497002
je case.0x496ffb.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x496ffb
jmp dword [ecx*4 + 0x499f38]
sub ecx, 0x2028
je case.0x496ffb.10
sub ecx, 1
je case.0x496ffb.10
xor ecx, ecx
jmp 0x497018
mov ecx, 1
xor eax, eax
cmp edi, 0x14
sete al
cmp ecx, eax
je 0x496e2e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496fb0
jmp 0x496e2e
cmp ebp, edx
jge 0x496e32
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x496e50
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49708d
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 0x4970a9
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x496e2e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497050
jmp 0x496e2e
cmp ebp, edx
jge 0x496e32
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496e50
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497104
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 0x496e2e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x496e2e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4970c7
jmp 0x496e2e
cmp ebp, edx
jge 0x496e32
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496e50
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49717f
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 0x49719b
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x496e2e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497142
jmp 0x496e2e
cmp ebp, edx
jge 0x496e32
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x496e50
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4971fd
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 0x496e2e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x496e2e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4971c0
jmp 0x496e2e
cmp ebp, edx
jge 0x496e32
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x496e50
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49727d
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 0x497299
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x496e2e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497240
jmp 0x496e2e
cmp ebp, edx
jge 0x496e32
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497327
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4972f4
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 0x496e2e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x496e2e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4972b7
jmp 0x496e2e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496e79
cmp ebx, dword [ebp + 0x88]
jbe 0x496e79
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x496e79
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x18]
mov ebp, edx
jmp 0x496e39
cmp ecx, 0x74
mov ecx, ebx
jne 0x4973be
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4975eb
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x4975eb
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 0x497460
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 0x497440
jmp 0x497459
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 0x4975ef
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.00492200
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0x75
je 0x497807
cmp eax, 0x74
jne 0x497518
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x4977b4
mov ecx, 0x82
cmp ax, cx
jae 0x497773
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4975eb
mov eax, 0x82
cmp word [ebp], ax
jb 0x49752d
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.00492200
mov ecx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x497568
cmp dword [ecx + 0xb8], ebp
je 0x497570
test eax, eax
jne 0x497604
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4977f2
mov ebp, dword [esp + 0x174]
jmp 0x4975ef
movzx edx, word [esi + 4]
mov dword [esp + 0x44], edx
lea eax, [edx + edx]
cmp eax, dword [ebp + 0x14]
jl 0x4994a8
mov edx, dword [esp + 0x20]
nop word [eax + eax]
cmp edx, 0x82
jae 0x49760f
cmp edx, 0x7b
je 0x49760f
cmp dword [ebp + 0x6c], 0
jne 0x497619
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x497619
movzx eax, cx
movzx eax, byte [eax + 0x4bfe50]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x4922a1
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 + 0x4bfe50]
lea edx, [edi + eax*2]
call fcn.00492200
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x49767a
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
mov eax, edx
cmp dword [ebp + 0x80], ecx
jae 0x49767a
cmp word [edi], 0x71
je 0x497682
cmp word [ecx], 0x71
je 0x497682
test eax, eax
jne 0x4995d6
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.0x493c3c
mov edi, dword [esp + 0x170]
mov ecx, 0x71
jmp 0x4975a2
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.00492200
add esp, 0x14
test eax, eax
je 0x4976f2
cmp eax, 0xfffffc1d
je 0x4976f2
cmp eax, 0xfffffc20
jne 0x497604
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 0x497733
push eax
call fcn.0049f4f2
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.00492200
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.00492200
add esp, 0x14
test eax, eax
je 0x497850
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 0x4977cd
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
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.0x493c3c
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x493c3c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x499498
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.0x493c3c
cmp ebx, dword [esi + 0x7c]
jb case.default.0x493c3c
jmp 0x4983d3
mov edi, ebx
cmp esi, eax
jge 0x497951
nop word [eax + eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00492050
add esp, 0xc
test eax, eax
js 0x49791b
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, dword [esp + 0x24]
jl 0x4978f0
jmp 0x497949
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x497949
cmp ebx, dword [ecx + 0x7c]
jb 0x497949
cmp ebx, dword [ecx + 0x88]
jbe 0x497949
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x499498
cmp ebx, edi
jb case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x497951
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.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x494572
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x497a74
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x7c]
nop
cmp ebx, edi
jae 0x497b4a
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497a5d
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 0x497b11
cmp dword [esp + 0x20], 0x6a
jne 0x497b31
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493c3c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497ad7
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.00492200
add esp, 0x14
test eax, eax
je 0x497ab2
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 0x497a74
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 0x497a20
jmp 0x497a74
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497a7b
cmp ebx, dword [esi + 0x88]
jbe 0x497a7b
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499498
jmp 0x497a7b
mov ebp, ebx
cmp edi, eax
jge 0x497bf1
nop word [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x497c8f
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497bd5
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.0049b7d0
add esp, 4
test eax, eax
je 0x497bf1
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x24]
jl 0x497b90
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493c3c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497c55
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.00492200
add esp, 0x14
test eax, eax
je 0x497c30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497bf8
cmp ebx, dword [esi + 0x88]
jbe 0x497bf8
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x499498
jmp 0x497bf8
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x493c3c
cmp ebx, ecx
jb case.default.0x493c3c
jmp 0x4978a7
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493c3c
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x493c3c
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x493c3c
mov dword [ecx + 0x64], 1
jmp 0x4978b6
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493c3c
mov ebp, dword [ebp + 0x7c]
lea eax, [ebp - 4]
cmp ebx, eax
ja 0x497dcb
mov eax, dword [esp + 0x3c]
mov ecx, ebx
mov edx, dword [esp + 0x30]
lea esi, [eax + eax]
sub esi, 4
jb 0x497d91
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497d96
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497d80
cmp esi, 0xfffffffc
je 0x497dc3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497dcb
cmp esi, 0xfffffffd
je 0x497dc3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497dcb
cmp esi, 0xfffffffe
je 0x497dc3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497dcb
cmp esi, 0xffffffff
je 0x497dc3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497dcb
add ebx, 4
jmp 0x497e4d
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x497e9b
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x497e9b
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x497e05
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497e0a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497df4
cmp esi, 0xfffffffc
je 0x497e47
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497e9b
cmp esi, 0xfffffffd
je 0x497e47
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497e9b
cmp esi, 0xfffffffe
je 0x497e47
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497e9b
cmp esi, 0xffffffff
je 0x497e47
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497e9b
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.00492200
add esp, 0x14
test eax, eax
je 0x497d50
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.0x493c3c
cmp ebx, ebp
jmp 0x497cf1
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493c3c
jmp 0x497cf7
cmp ebx, edi
jb case.default.0x493c3c
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.00492200
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497604
cmp ebx, edi
jae 0x497ee0
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
cmp edi, dword [esp + 0x24]
jge case.default.0x493c3c
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497ebe
movzx eax, word [ebx]
cmp esi, eax
je 0x497f8b
cmp ebp, eax
jne case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x497f62
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ebx, edi
jb case.default.0x493c3c
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.00492200
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497604
cmp ebx, edi
jae 0x497fe0
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov ecx, edi
cmp edi, ebp
jge case.default.0x493c3c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4980c9
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x493c3c
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.00492200
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x498062
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x493c3c
cmp ebx, dword [edx + 0x88]
jbe case.default.0x493c3c
mov dword [edx + 0x64], 1
jmp 0x4978b6
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493c3c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498145
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.00492200
add esp, 0x14
test eax, eax
je 0x498120
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493c3c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4980c9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49820a
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.0x493c3c
cmp ebp, ecx
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x4981c0
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493c3c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4982b5
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.00492200
add esp, 0x14
test eax, eax
je 0x498290
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493c3c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4980c9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49837a
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.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498330
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x493c3c
cmp ebx, dword [esi + 0x88]
jbe case.default.0x493c3c
mov dword [esi + 0x64], 1
jmp 0x4978b6
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493c3c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498447
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.00492200
add esp, 0x14
test eax, eax
je 0x498422
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493c3c
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4984df
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49850a
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x49853d
sub ebx, 2
jmp 0x4984c5
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.00492200
add esp, 0x14
test eax, eax
je 0x4984b8
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
lea ecx, [ebx - 2]
cmp ebx, esi
je case.default.0x493c3c
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4985d3
add ecx, 0xfffffffe
mov ebx, ecx
cmp edi, 0x11
jne 0x4985ef
cmp ecx, esi
jbe 0x4985ef
cmp word [ecx], 0xa
jne 0x4985ef
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.00492200
add esp, 0x14
test eax, eax
je 0x4985b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x498f85
cmp eax, 8
ja case.default.0x493f76
jmp dword [eax*4 + 0x499f48]
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, ebp
nop dword [eax]
mov ecx, ebx
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4980c9
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4986b1
lea ebx, [ecx + 4]
cmp dword [esp + 0x34], 0
jne case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498680
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov 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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4980c9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49877c
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
mov al, byte [eax*8 + 0x4cbbb9]
cmp al, 9
je 0x4987af
cmp al, 5
je 0x4987af
cmp al, 8
je 0x4987af
xor eax, eax
jmp 0x4987b4
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498732
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4980c9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49888a
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], esi
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498840
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4980c9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49898c
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498942
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4980c9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498a8a
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb8]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x34]
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498a40
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4980c9
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498b8a
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x498bc3
cmp eax, 3
je 0x498bc3
xor eax, eax
jmp 0x498bc8
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498b40
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
cmp ebx, dword [edi + 0x7c]
jae 0x498d2e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498c94
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x498cdc
cmp edx, 9
je 0x498cdc
cmp edx, 0xa
je 0x498cdc
cmp edx, 0xc
je 0x498cdc
cmp edx, 0xd
je 0x498cdc
xor eax, eax
jmp 0x498ce1
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498c51
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x493c3c
cmp ebx, dword [edi + 0x88]
jbe case.default.0x493c3c
mov dword [edi + 0x64], 1
jmp 0x4978b6
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
cmp ebx, dword [edi + 0x7c]
jae 0x498d2e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498dd1
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x498e1e
cmp edx, 9
je 0x498e1e
cmp edx, 0xa
je 0x498e1e
cmp edx, 0xb
je 0x498e1e
cmp edx, 0xc
je 0x498e1e
cmp edx, 0xd
je 0x498e1e
xor eax, eax
jmp 0x498e23
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498d92
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.00492200
add esp, 0x14
test eax, eax
jne 0x497604
mov edi, dword [esp + 0x174]
mov esi, ebp
nop
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
cmp ebx, dword [edi + 0x7c]
jae 0x498d2e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498ef3
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 + 0x4ccc98]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x498f33
cmp eax, 3
je 0x498f33
cmp edx, 0x5f
je 0x498f33
xor eax, eax
jmp 0x498f38
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x498eb0
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.00492200
add esp, 0x14
cmp edi, 0x16
jne 0x4990fe
test eax, eax
jne 0x497604
mov edi, dword [esp + 0x174]
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
mov esi, dword [edi + 0x7c]
cmp ebx, esi
jae 0x498d2e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499017
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
je case.default.0x493c3c
cmp ebx, esi
jae 0x4990bb
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499086
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 + 0x4ccc98]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02b8]
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 2
jne 0x4990bb
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x499051
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.00492200
add esp, 0x14
test eax, eax
je 0x498fd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x497604
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c3c
mov esi, dword [esp + 0x174]
mov ecx, dword [esi + 0x7c]
cmp ebx, ecx
jae 0x49946e
cmp edi, 0xc
jne 0x499182
mov edx, dword [esi + 0x18]
lea eax, [esi + 0x1c]
test edx, edx
je 0x499157
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b620
add esp, 0xc
test eax, eax
jne case.default.0x493c3c
jmp 0x499182
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x499182
mov ax, word [ebx]
cmp ax, word [esi + 0x2c]
jne 0x499182
cmp edx, 1
je case.default.0x493c3c
mov ax, word [ebx + 2]
cmp ax, word [esi + 0x2e]
je case.default.0x493c3c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4991b2
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.0x493f76
jmp dword [eax*4 + 0x499f6c]
cmp ecx, 0x85
ja 0x4991fd
je case.0x4991db.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c3c
jmp dword [ecx*4 + 0x499fac]
cmp ebx, dword [esi + 0x7c]
jae case.0x4991be.12
cmp word [ebx], 0xa
jne case.0x4991be.12
add ebx, 2
jmp case.0x4991be.12
sub ecx, 0x2028
je case.0x4991db.11
sub ecx, 1
jne case.default.0x493c3c
cmp dword [esi + 0x68], 0
jne case.default.0x493c3c
jmp case.0x4991be.12
cmp ecx, 0x2000
ja 0x499261
je case.default.0x493c3c
cmp ecx, 0xa0
ja 0x49924a
je case.default.0x493c3c
cmp ecx, 9
je case.default.0x493c3c
cmp ecx, 0x20
jmp 0x49940f
cmp ecx, 0x1680
je case.default.0x493c3c
cmp ecx, 0x180e
jmp 0x49940f
cmp ecx, 0x3000
ja case.0x4991be.12
je case.default.0x493c3c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4991be.12
movzx eax, byte [ecx + 0x499fc4]
jmp dword [eax*4 + 0x499fbc]
cmp ecx, 0x2000
ja 0x4992e0
je case.0x4991be.12
cmp ecx, 0xa0
ja 0x4992c3
je case.0x4991be.12
cmp ecx, 9
je case.0x4991be.12
cmp ecx, 0x20
jne case.default.0x493c3c
jmp case.0x4991be.12
cmp ecx, 0x1680
je case.0x4991be.12
cmp ecx, 0x180e
jne case.default.0x493c3c
jmp case.0x4991be.12
cmp ecx, 0x3000
ja case.default.0x493c3c
je case.0x4991be.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493c3c
movzx eax, byte [ecx + 0x49a02c]
jmp dword [eax*4 + 0x49a024]
cmp ecx, 0x85
ja 0x499330
je case.default.0x493c3c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4991be.12
jmp dword [ecx*4 + 0x49a08c]
sub ecx, 0x2028
je case.default.0x493c3c
sub ecx, 1
jmp 0x49940f
cmp ecx, 0x85
ja 0x499365
je case.0x4991be.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c3c
jmp dword [ecx*4 + 0x49a09c]
sub ecx, 0x2028
je case.0x4991be.12
sub ecx, 1
jne case.default.0x493c3c
jmp case.0x4991be.12
cmp ecx, 0x100
jae case.0x4991be.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493c3c
jmp case.0x4991be.12
cmp ecx, 0x100
jae case.default.0x493c3c
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jmp 0x49940f
cmp ecx, 0x100
jae case.0x4991be.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493c3c
jmp case.0x4991be.12
cmp ecx, 0x100
jae case.default.0x493c3c
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jmp 0x49940f
cmp ecx, 0x100
jae case.0x4991be.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493c3c
jmp case.0x4991be.12
cmp ecx, 0x100
jae case.default.0x493c3c
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493c3c
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.00492200
add esp, 0x14
test eax, eax
je 0x499110
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.0x493c3c
cmp ebx, dword [esi + 0x88]
jbe case.default.0x493c3c
mov dword [esi + 0x64], 1
cmp eax, 1
jle case.default.0x493c3c
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 0x4994f8
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 + 0x4bfe50]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492200
mov edx, dword [esp + 0x188]
mov esi, eax
add esp, 0x14
cmp esi, 0xfffffc1c
je 0x49959a
mov ecx, dword [esp + 0x14]
cmp esi, 0xfffffc20
jne 0x49956e
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x80], eax
jae 0x49956e
cmp word [ecx], 0x71
je 0x49956a
cmp word [eax], 0x71
jne 0x49956e
xor esi, esi
jmp 0x499576
test esi, esi
jne 0x4995c9
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 0x49959a
mov esi, ecx
jmp 0x4994e4
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 0x499615
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
je 0x49960a
cmp ecx, 0x71
jne 0x499602
mov ecx, edi
movzx eax, word [edi + 2]
cmp word [ecx + eax*2], 0x71
lea edi, [ecx + eax*2]
mov ecx, edi
je 0x4995f2
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 + 0x4bfe50]
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.00492200
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x499688
cmp esi, 0xfffffc19
je 0x499688
cmp esi, 0xfffffc1b
jne 0x4996a4
cmp dword [ebp + 0xb0], 0
jne 0x4996a4
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x4995c9
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.0049b590
test eax, eax
jne 0x4995c9
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 + 0x4bfe50]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492200
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x49973d
cmp ecx, 0xfffffc1d
je 0x49973d
cmp ecx, 0xfffffc1e
je 0x49973d
cmp ecx, 0xfffffc1f
je 0x49973d
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 + 0x4bfe50]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492200
add esp, 0x14
test eax, eax
je 0x499789
cmp eax, 0xfffffc20
jne 0x497604
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 + 0x4bfe50]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00492200
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x4997f5
cmp ecx, 0xfffffc19
jne 0x499804
cmp dword [ebp + 0xb0], 0
jne 0x499804
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x499789
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 + 0x4bfe50]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492200
add esp, 0x14
test eax, eax
je 0x499864
cmp eax, 0xfffffc1d
je 0x499864
cmp eax, 0xfffffc20
jne 0x497604
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 + 0x4bfe50]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00492200
add esp, 0x14
test eax, eax
je 0x49992e
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 + 0x4bfe50]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00492200
add esp, 0x14
cmp eax, 1
je 0x499913
cmp eax, 0xfffffc19
jne 0x499922
cmp dword [ebp + 0xb0], 0
jne 0x499922
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x497604
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 0x499984
cmp edx, 0x99
je 0x499984
cmp dword [ebp + 0xa8], 0
jne 0x499984
cmp dword [ebp + 0x5c], 0
jne case.default.0x493c3c
cmp dword [ebp + 0x60], 0
je 0x499984
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x493c3c
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