Function at 0x492250
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 0x4922ae
cmp dword [esp + 0x17c], edx
jne 0x492293
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.00492250
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 0x49764b
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 0x499a10
cmp dword [ebp + 0x9c], 2
jne 0x492332
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 0x492352
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.0x49237e.98
movzx eax, byte [edx + 0x499b68]
jmp dword [eax*4 + 0x499a20]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4bfe50]
je 0x497700
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x492352
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.00492250
mov edx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 1
je 0x4924bf
cmp eax, 0xfffffc20
jne 0x49242a
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
jae 0x49242a
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x492432
cmp word [ecx], 0x71
mov eax, 0xfffffc20
je 0x492432
test eax, eax
jne 0x497654
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 0x4923b6
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x492470
cmp eax, 0x71
jne case.default.0x493c8c
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 0x492470
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x1c], ebx
cmp ecx, 0x72
je 0x4924a5
cmp ebx, edi
jne 0x4973c3
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
jmp 0x492352
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
mov dword [esp + 0x16c], eax
movzx ecx, word [esi]
jmp 0x492459
xor ebp, ebp
mov dword [esp + 0x38], ebp
jmp 0x493018
cmp word [esi + 4], 0x70
movzx ebp, word [esi + 2]
jne 0x4925eb
movzx edi, word [esi + 6]
mov esi, dword [0x4e9e34]
add edi, edi
test esi, esi
je 0x4925de
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.0x493c8c
js 0x497654
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 0x49280f
cmp ecx, 0x8a
je 0x49280f
cmp ecx, 0x87
je 0x492683
cmp ecx, 0x88
je 0x492683
cmp ecx, 0x8b
jne 0x49262e
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4929a8
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.00492250
add esp, 0x14
cmp eax, 1
je 0x497458
test eax, eax
je 0x49267b
cmp eax, 0xfffffc20
jne 0x497654
lea eax, [esi + ebp*2]
jmp 0x4929a8
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x4926a7
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + edx*4], 0
jge 0x4927e5
xor edi, edi
cmp ecx, 0x88
jne 0x4927fb
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 0x492712
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
nop
movzx eax, word [ebp]
cmp eax, esi
je 0x492706
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 0x4926e0
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
cmp ecx, edx
jge 0x4927fb
cmp ebp, eax
mov esi, ebp
mov eax, dword [esp + 0x174]
jbe 0x492779
mov eax, dword [eax + 0x24]
lea ecx, [ebp + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.0049b5e0
test eax, eax
jne 0x4927d8
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492765
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4927e5
mov eax, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp esi, dword [eax + 0x28]
ja 0x492727
xor edi, edi
mov esi, dword [esp + 0x30]
inc esi
cmp esi, dword [eax + 0x20]
jge 0x4927fb
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.0049b5e0
test eax, eax
jne 0x4927fb
movzx eax, word [ebp]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4927c3
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4927e5
mov eax, dword [esp + 0x174]
inc esi
xor edi, edi
cmp esi, dword [eax + 0x20]
jge 0x4927fb
mov ecx, dword [esp + 0x30]
jmp 0x492790
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x174]
jmp 0x492779
mov ecx, dword [esp + 0x14]
mov eax, 2
mov edi, 1
lea eax, [ecx + eax*2]
jmp 0x49299e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x49299e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x49282c
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4929af
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x492991
cmp edx, dword [eax + 4]
je 0x492991
xor edi, edi
cmp ecx, 0x8a
jne 0x49298b
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 0x4928b6
mov dword [esp + 0x2c], edi
xor ebx, ebx
mov edi, eax
movzx eax, word [ebp]
cmp eax, edx
je 0x4928a6
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 0x492880
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], ebp
cmp ecx, esi
jge 0x492987
cmp ebp, eax
jbe 0x492913
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.0049b5e0
test eax, eax
jne 0x4928ff
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x4928ff
cmp esi, dword [ebp + 0x28]
ja 0x4928d2
mov ebp, dword [esp + 0x30]
test ebx, ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
jne 0x492979
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x38]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x492987
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.0049b5e0
test eax, eax
jne 0x49296d
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 0x49296d
inc esi
cmp esi, dword [edx + 0x20]
jl 0x492930
mov dword [esp + 0x2c], ebx
test ebx, ebx
mov ebx, dword [esp + 0x1c]
je 0x492983
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
jmp 0x492996
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x49299b
mov edi, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test edi, edi
jne 0x4974a2
mov ebp, dword [esp + 0x174]
mov ecx, eax
cmp word [ecx], 0x71
je 0x4974a9
mov edi, dword [esp + 0x170]
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x492352
movzx edx, word [esi + 2]
mov dword [ebp + 0x94], edx
lea esi, [edx + edx]
cmp esi, dword [ebp + 0x14]
jl 0x4929f7
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x492352
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 0x492a21
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492352
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x492a51
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x492a53
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.00492250
add esp, 0x14
cmp eax, 1
je 0x492abe
cmp eax, 0xfffffc19
je 0x492abe
test eax, eax
je 0x492a99
cmp eax, 0xfffffc20
jne 0x497654
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 0x492a53
mov esi, dword [esp + 0x14]
jmp 0x492ad2
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.0x493c8c
test edi, edi
jne 0x4978dd
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492ae4
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x492352
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x492b2b
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x492b2d
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.00492250
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x493c8c
cmp eax, 0xfffffc19
je case.default.0x493c8c
cmp eax, 0xfffffc1e
je 0x492bb0
cmp eax, 0xfffffc1d
je 0x492bb0
cmp eax, 0xfffffc1a
je 0x492bb0
test eax, eax
je 0x492b96
cmp eax, 0xfffffc20
jne 0x497654
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 0x492b31
mov esi, ecx
jmp 0x492bc2
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492bb4
test edi, edi
jne 0x4978dd
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492352
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x492c12
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x1c], ebx
cmp ebx, edx
jb case.default.0x493c8c
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x492c0e
add ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
test ecx, ecx
jg 0x492be8
cmp ebx, dword [ebp + 0x88]
jae 0x492c20
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492352
movzx edi, word [esi + 2]
mov esi, dword [0x4e9e34]
test esi, esi
je 0x492d15
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.0x493c8c
js 0x497654
mov esi, dword [esp + 0x14]
lea esi, [esi + edi*2]
mov edi, dword [esp + 0x170]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x492352
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x492d41
xor ecx, ecx
jmp 0x492d45
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x492d65
cmp ecx, dword [eax + 4]
jne 0x492d5f
cmp ebx, dword [eax + 0x10]
je 0x49775b
mov eax, dword [eax]
test eax, eax
jne 0x492d51
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 0x492d9b
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x492db9
shl eax, 2
push eax
call fcn.0049f55d
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x497790
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call fcn.0049d080
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
mov eax, 0x82
cmp bp, ax
jb 0x492de7
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.00492250
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.0049d080
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x492ebe
cmp esi, 0xfffffc19
je 0x492ebe
test esi, esi
je 0x492e6f
cmp esi, 0xfffffc20
jne 0x49776b
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 0x492dd3
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.0x493c8c
push eax
call fcn.0049f542
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 0x492ed6
push eax
call fcn.0049f542
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 0x49234e
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x49237e.113
mov dword [esp + 0x14], esi
jmp 0x492352
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
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 0x492f50
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492352
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 0x492f80
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.00492250
add esp, 0x14
test eax, eax
je 0x492352
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 0x492fd0
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x492352
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 0x493018
cmp edx, 0x85
jne 0x4931d5
movzx edi, word [esi + 4]
mov esi, dword [esp + 0x174]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x14]
jge 0x4931cf
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 0x493098
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.00492250
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x493114
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 0x49305e
cmp eax, 0xfffffc20
jne 0x49314c
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 0x493150
cmp word [edx], 0x71
je 0x493158
cmp word [ecx], 0x71
je 0x493158
jmp 0x493150
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x497654
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 0x493064
mov edx, dword [esp + 0x30]
mov ebp, ecx
test edx, edx
jne 0x4931a9
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 0x4931b8
test edx, edx
je case.default.0x493c8c
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492352
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 0x4931f5
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.00492250
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x49326c
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 0x4931e3
cmp eax, 0xfffffc20
jne 0x4932c1
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 0x4932c5
cmp word [edx], 0x71
je 0x4932cd
cmp word [ecx], 0x71
jne 0x4932c5
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 0x4931e3
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x497654
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 0x4931e3
test edi, edi
jne 0x4932fa
test ebp, ebp
je case.default.0x493c8c
mov esi, dword [esp + 0x14]
mov ebp, ecx
mov edi, dword [esp + 0x170]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x492352
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 0x49333c
cmp ecx, 0x7b
je 0x49333c
mov dword [esp + 0x30], 0
jmp 0x493355
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 0x493363
cmp ecx, 0x7a
jbe 0x4978bd
cmp ecx, 0x7c
je 0x4978bd
cmp ecx, 0x7f
je 0x493393
mov eax, 0x84
cmp cx, ax
je 0x493393
mov eax, 0x80
cmp cx, ax
je 0x493393
mov eax, 0x85
cmp cx, ax
jne 0x493470
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x4933b4
cmp dword [eax + 4], edi
je 0x4977a0
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x493401
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x4933e3
cmp ebx, dword [esp + 0x30]
jne 0x4974ff
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x497873
mov ebp, dword [esp + 0x174]
jmp 0x492352
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x493436
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x49342f
mov eax, ecx
nop dword [eax + eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x493420
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 0x4933cd
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x4933cd
mov edx, dword [esp + 0x174]
jmp 0x4933d1
cmp dword [ebp + 0x44], 0
je case.0x49237e.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x493c8c
cmp ebx, dword [ebp + 0x78]
jne case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp dword [ebp + 0x44], 0
je 0x4934b4
cmp ebx, dword [ebp + 0x78]
je case.default.0x493c8c
mov ecx, dword [ebp + 0x78]
jmp 0x4934bf
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x493c8c.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x493c8c
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493505
cmp ebx, ecx
jbe 0x4934ef
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b730
add esp, 0xc
test eax, eax
je 0x4934ef
mov eax, 1
jmp 0x4934f1
xor eax, eax
test eax, eax
je case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x493c8c
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493c8c
cmp esi, 1
je 0x49353a
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493c8c
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x492352
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4935f4
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4935b4
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b670
add esp, 0xc
test eax, eax
je case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493c8c
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493c8c
cmp edx, 1
je case.0x493c8c.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp dword [ebp + 0x48], 0
jne case.default.0x493c8c
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493c8c.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493c8c.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp dword [ebp + 0x48], 0
jne case.default.0x493c8c
cmp dword [ebp + 0x58], 0
je case.0x49237e.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x493c8c
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493c8c.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493c8c.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4936f4
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x4936b0
push 1
push esi
push ecx
mov ecx, ebx
call fcn.0049b670
add esp, 0xc
test eax, eax
je case.default.0x493c8c
jmp 0x4936df
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x493c8c
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x493c8c
cmp edx, 1
je 0x4936df
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x493c8c
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x493c8c
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x493c8c.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x493c8c.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x78]
jne 0x49378f
lea edi, [ebp + 0x88]
xor esi, esi
mov ecx, 0x54
mov eax, ebp
lea edx, [eax + ecx]
cmp ebx, dword [ebp + 0x7c]
jb 0x49384e
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49376c
cmp ebx, dword [edi]
jbe 0x49376c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
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 0x4938fd
xor esi, edx
jmp 0x4938ff
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4937ab
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
lea edi, [ebp + 0x88]
jae 0x4937bb
mov dword [edi], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4937e6
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 0x49382b
cmp ecx, 0x5f
je 0x493844
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 0x493844
cmp eax, 3
je 0x493844
jmp 0x493739
cmp ecx, 0x100
jae 0x493739
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x493739
mov esi, 1
jmp 0x49373b
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493879
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 0x4938d8
cmp ecx, 0x5f
jne 0x493893
mov ecx, 1
xor edx, edx
jmp 0x493771
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 0x4938cc
cmp eax, 3
jne 0x49376c
mov ecx, 1
xor edx, edx
jmp 0x493771
cmp ecx, 0x100
jae 0x49376c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x49376c
mov ecx, 1
xor edx, edx
jmp 0x493771
xor esi, ecx
test esi, esi
jne case.default.0x493c8c
mov edi, dword [esp + 0x170]
jmp 0x49234e
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x493949
cmp ebx, ecx
jae 0x49393d
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b670
add esp, 0xc
test eax, eax
je 0x49393d
mov eax, 1
jmp 0x49393f
xor eax, eax
test eax, eax
jne case.default.0x493c8c
jmp case.0x49237e.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x49237e.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x49237e.13
cmp edx, 1
je case.default.0x493c8c
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x493c8c
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x4978ed
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, eax
jae 0x4939a7
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4939a7
add ebx, 2
mov dword [esp + 0x1c], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493a10
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.0x493c8c.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493a76
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.0x493c8c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493adc
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.0x493c8c.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493b42
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.0x493c8c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493ba8
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.0x493c8c.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493c0e
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.0x493c8c
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493c76
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 0x493cb8
je case.0x493c8c.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c8c
jmp dword [ecx*4 + 0x499c04]
cmp ebx, edx
jae case.0x493c8c.10
cmp word [ebx], 0xa
jne case.0x493c8c.10
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x492352
sub ecx, 0x2028
je case.0x493c8c.11
sub ecx, 1
jne case.default.0x493c8c
cmp dword [ebp + 0x68], 0
jne case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493d20
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 0x493d7e
je case.default.0x493c8c
cmp ecx, 0xa0
ja 0x493d5a
je case.default.0x493c8c
cmp ecx, 9
je case.default.0x493c8c
cmp ecx, 0x20
je case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ecx, 0x1680
je case.default.0x493c8c
cmp ecx, 0x180e
je case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ecx, 0x3000
ja case.0x493da6.8203
je case.default.0x493c8c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x493da6.8203
movzx eax, byte [ecx + 0x499c1c]
jmp dword [eax*4 + 0x499c14]
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493dee
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 0x493e32
je case.0x493da6.8203
cmp ecx, 0xa0
ja 0x493e1b
je case.0x493da6.8203
cmp ecx, 9
je case.0x493da6.8203
cmp ecx, 0x20
jmp 0x49348e
cmp ecx, 0x1680
je case.0x493da6.8203
cmp ecx, 0x180e
jmp 0x49348e
cmp ecx, 0x3000
ja case.default.0x493c8c
je case.0x493da6.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493c8c
movzx eax, byte [ecx + 0x499c84]
jmp dword [eax*4 + 0x499c7c]
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493ea2
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 0x493ec3
je case.default.0x493c8c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x493da6.8203
jmp dword [ecx*4 + 0x499ce4]
sub ecx, 0x2028
je case.default.0x493c8c
sub ecx, 1
je case.default.0x493c8c
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493f25
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 0x493f46
je case.0x493da6.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c8c
jmp dword [ecx*4 + 0x499cf4]
sub ecx, 0x2028
je case.0x493da6.8203
sub ecx, 1
jmp 0x49348e
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493f9b
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.0x493fc6
jmp dword [ecx*4 + 0x499d04]
cmp dword [esp + 0x20], 0xf
jmp 0x494116
mov al, byte [eax*8 + 0x4cbbb9]
cmp al, 9
je 0x494105
cmp al, 5
je 0x494105
cmp al, 8
je 0x494105
xor ecx, ecx
jmp 0x49410a
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 0x494116
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 0x494111
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 0x494111
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x494105
cmp eax, 3
je 0x494105
xor ecx, ecx
jmp 0x49410a
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x494105
cmp edx, 9
je 0x494105
cmp edx, 0xa
je 0x494105
cmp edx, 0xc
je 0x494105
cmp edx, 0xd
je 0x494105
xor ecx, ecx
jmp 0x49410a
movzx eax, byte [eax*8 + 0x4cbbb9]
cmp dword [eax*4 + 0x4bfdd0], 6
je 0x494105
cmp edx, 9
je 0x494105
cmp edx, 0xa
je 0x494105
cmp edx, 0xb
jmp 0x4940aa
movzx eax, byte [eax*8 + 0x4cbbb9]
mov eax, dword [eax*4 + 0x4bfdd0]
cmp eax, 1
je 0x494105
cmp eax, 3
je 0x494105
cmp edx, 0x5f
je 0x494105
xor ecx, ecx
jmp 0x49410a
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x493c8c
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x492352
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4978ed
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49416b
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.0x493c8c
cmp ebx, esi
jae 0x49421e
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 0x4941e5
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 0x49421a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4941b0
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x492352
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 0x494264
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x494264
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x49426e
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.0x49428a
movzx eax, byte [edi + 0x499d30]
jmp dword [eax*4 + 0x499d28]
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 0x4942e9
mov dword [esp + 0x24], connect
jmp 0x4942e9
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 0x492347
jns 0x494302
test esi, esi
je 0x492347
cmp esi, 1
jl 0x49433f
mov edi, 1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004920a0
add esp, 0xc
test eax, eax
js 0x497d29
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 0x494310
mov eax, dword [esp + 0x24]
cmp esi, eax
je 0x492340
cmp dword [esp + 0x30], 0
je 0x497930
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov edi, dword [esp + 0x38]
mov dword [esp + 0x48], esi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493c8c
push dword [esp + 0x3c]
mov esi, dword [esp + 0x178]
mov edx, ebx
push esi
push ebp
mov ecx, edi
call fcn.004920a0
add esp, 0xc
test eax, eax
js 0x49791c
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.00492250
add esp, 0x14
mov dword [esp + 0x48], esi
test eax, eax
je 0x4943a0
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.004920a0
add esp, 0xc
test eax, eax
js 0x49791c
mov edi, dword [esp + 0x170]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x1c], ebx
mov ebp, esi
jmp 0x49234e
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.0x494471
movzx eax, byte [ecx + 0x499d40]
jmp dword [eax*4 + 0x499d38]
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 0x4944bf
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 0x49456e
jmp 0x4944ed
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 0x497f0e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494535
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 0x49454a
cmp dword [esp + 0x20], 0x6a
je case.default.0x493c8c
jmp 0x494569
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x493c8c
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, edi
jle 0x4944f4
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x492340
cmp dword [esp + 0x18], 0
je 0x497a56
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493c8c
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497f0e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49460c
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 0x4979f4
cmp dword [esp + 0x20], 0x6a
je case.default.0x493c8c
jmp 0x497a13
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.0x494652
movzx eax, byte [ecx + 0x499d50]
jmp dword [eax*4 + 0x499d48]
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 0x4946b2
mov dword [esp + 0x24], connect
jmp 0x4946b2
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 0x494731
jmp 0x4946d0
mov edi, 1
mov dword [esp + 0x24], 1
mov esi, edi
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497f0e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494718
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.0049b820
add esp, 4
test eax, eax
je case.default.0x493c8c
inc esi
cmp esi, edi
jle 0x4946d0
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x492340
cmp dword [esp + 0x18], 0
je 0x497bd0
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x493c8c
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497f0e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4947cf
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.0049b820
add esp, 4
test eax, eax
je case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x494785
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 0x497d0e
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.0x493c8c
test edx, edx
jg 0x494860
jmp 0x49234e
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
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 0x4948d0
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x4948d5
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x494915
mov edi, 0xff
mov ecx, eax
cmp ax, di
ja 0x4948f3
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.0x493c8c
mov edi, dword [esp + 0x170]
add ebx, 2
mov dword [esp + 0x1c], ebx
jmp 0x492352
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
cmp eax, 0xd800
jne 0x49494a
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 0x49234e
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.0x493c8c
jmp 0x49234e
movzx ebp, word [esi + 2]
add esi, 4
mov edi, ebp
jmp 0x494a4e
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 0x4949c6
mov dword [esp + 0x18], edi
cmp ecx, 0x35
jne 0x4949ce
mov dword [esp + 0x18], 1
add esi, 4
jmp 0x494a56
xor edi, edi
mov dword [esp + 0x2c], 1
mov ebp, closesocket
add esi, 2
jmp 0x494a4e
mov dword [esp + 0x2c], 1
mov edi, 1
mov ebp, closesocket
add esi, 2
jmp 0x494a4e
xor edi, edi
mov dword [esp + 0x2c], 1
add esi, 2
lea ebp, [edi + 1]
jmp 0x494a4e
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 0x494e3c
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 0x494ae3
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 0x494ae3
lea edx, [esp + 0x74]
call fcn.0049b610
mov dword [esp + 0x38], eax
jmp 0x494aeb
mov dword [esp + 0x38], 0
mov ebp, 1
cmp edi, ebp
jl 0x494c22
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 0x494b84
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494b46
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494b4b
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494b35
cmp esi, 0xfffffffc
je 0x494b78
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494b80
cmp esi, 0xfffffffd
je 0x494b78
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494b80
cmp esi, 0xfffffffe
je 0x494b78
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494b80
cmp esi, 0xffffffff
je 0x494b78
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494b80
add ebx, 4
jmp 0x494c09
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
test edx, edx
jle 0x497d29
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x497d29
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494bc1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494bc6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494bb0
cmp esi, 0xfffffffc
je 0x494c03
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497d29
cmp esi, 0xfffffffd
je 0x494c03
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497d29
cmp esi, 0xfffffffe
je 0x494c03
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497d29
cmp esi, 0xffffffff
je 0x494c03
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497d29
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 0x494b20
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x492340
cmp dword [esp + 0x18], 0
jne 0x497d5f
mov ebp, ebx
mov dword [esp + 0x18], ebp
cmp edi, eax
jge 0x494d5e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x20], eax
lea ebp, [eax - 4]
cmp ebx, ebp
ja 0x494cbf
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494c81
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494c86
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494c70
cmp esi, 0xfffffffc
je 0x494cb3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494cbb
cmp esi, 0xfffffffd
je 0x494cb3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494cbb
cmp esi, 0xfffffffe
je 0x494cb3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494cbb
cmp esi, 0xffffffff
je 0x494cb3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494cbb
add ebx, 4
jmp 0x494d3f
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x494e05
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x494e05
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494cf7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494cfc
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494ce6
cmp esi, 0xfffffffc
je 0x494d39
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494e05
cmp esi, 0xfffffffd
je 0x494d39
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494e05
cmp esi, 0xfffffffe
je 0x494d39
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494e05
cmp esi, 0xffffffff
je 0x494d39
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494e05
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 0x494c58
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x492340
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
cmp ebx, ebp
je case.default.0x493c8c
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x494dcb
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.00492250
add esp, 0x14
test eax, eax
je 0x494da7
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 0x494e33
cmp ebx, dword [esi + 0x7c]
jb 0x494e33
cmp ebx, dword [esi + 0x88]
jbe 0x494e33
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4994e8
mov ebp, dword [esp + 0x18]
jmp 0x494d65
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x494f5c
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x494e81
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 0x494e88
mov eax, dword [edx + 0x38]
movzx ebp, byte [eax + esi]
mov ecx, 1
cmp edi, ecx
jl 0x494ecb
mov edx, dword [edx + 0x7c]
mov eax, dword [esp + 0x14]
nop dword [eax + eax]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x497f07
movzx eax, word [ebx]
cmp esi, eax
je 0x494ebb
cmp ebp, eax
jne case.default.0x493c8c
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x1c], ebx
cmp ecx, edi
jle 0x494ea0
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x492340
cmp dword [esp + 0x18], 0
jne 0x497f77
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, eax
jge 0x494f13
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x494f31
movzx eax, word [ebx]
cmp esi, eax
je 0x494f05
cmp ebp, eax
jne 0x494f13
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, dword [esp + 0x24]
jl 0x494ef6
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x497f21
mov edi, dword [esp + 0x170]
jmp 0x49234e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x494f1a
cmp ebx, dword [ebp + 0x88]
jbe 0x494f1a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
jmp 0x494f1a
cmp edi, 1
jl 0x494f93
mov eax, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x497f07
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp esi, eax
jne case.default.0x493c8c
inc ecx
cmp ecx, edi
jle 0x494f70
mov ecx, dword [esp + 0x14]
cmp edi, ebp
je 0x492340
cmp dword [esp + 0x18], 0
jne 0x498077
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, ebp
jge 0x494fd7
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x494ff5
movzx eax, word [ebx]
cmp esi, eax
jne 0x494fd7
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jl 0x494fc0
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x498025
mov edi, dword [esp + 0x170]
jmp 0x49234e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x494fde
cmp ebx, dword [ebp + 0x88]
jbe 0x494fde
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
jmp 0x494fde
cmp ebx, dword [ebp + 0x7c]
jae 0x4978ed
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 0x495064
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 0x4950bf
cmp edx, 0x7f
jbe 0x4950a3
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 0x4950aa
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x493c8c
cmp eax, esi
je case.default.0x493c8c
jmp 0x49234e
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x493c8c
jmp 0x49234e
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], eax
mov edi, eax
jmp 0x49519d
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], eax
cmp ecx, 0x42
je 0x4950fa
mov dword [esp + 0x18], edi
cmp ecx, 0x4f
jne 0x495102
mov dword [esp + 0x18], 1
lea ecx, [esi + 4]
jmp 0x49519d
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x495195
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x495195
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x28], 1
jmp 0x49519d
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x49519d
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 0x49519d
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 0x495341
cmp ebp, 0x7f
jbe 0x4951f0
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 0x4951fe
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x30], ebp
cmp edi, 1
jl 0x49526b
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495250
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.0x493c8c
cmp ebp, ecx
je case.default.0x493c8c
inc edx
cmp edx, edi
jle 0x495210
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x4924ac
cmp dword [esp + 0x18], 0
jne 0x4981cf
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x4952f4
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x495316
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4952d3
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 0x4952ed
cmp dword [esp + 0x30], ecx
je 0x4952ed
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x495296
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x49813f
mov ebp, dword [esp + 0x174]
jmp 0x492352
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4952f4
cmp ebx, dword [ecx + 0x88]
jbe 0x4952f4
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4994e8
jmp 0x4952f4
cmp edi, 1
jl 0x4953a5
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495394
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.0x493c8c
inc edx
cmp edx, edi
jle 0x495354
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x4924ac
cmp dword [esp + 0x18], 0
jne 0x49833f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x495428
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49544a
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49540d
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 0x495421
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x4953d0
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x4982af
mov ebp, dword [esp + 0x174]
jmp 0x492352
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x495428
cmp ebx, dword [ecx + 0x88]
jbe 0x495428
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4994e8
jmp 0x495428
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 0x49554e
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 0x49554e
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x495546
mov ebp, 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x495546
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
mov dword [esp + 0x20], 1
jmp 0x49554e
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 0x49554e
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 0x49554e
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 0x495573
cmp edx, 0xf
je 0x495573
or eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x495599
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 0x4962e2
test eax, eax
js 0x495b11
cmp eax, 8
ja case.default.0x493fc6
jmp dword [eax*4 + 0x499d58]
cmp dword [esp + 0x34], 0
jne case.default.0x493c8c
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
mov ecx, ebx
cmp ebx, esi
jae 0x497f07
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 0x4955d3
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495650
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 0x495683
cmp al, 5
je 0x495683
cmp al, 8
je 0x495683
xor eax, eax
jmp 0x495688
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
inc edx
cmp edx, ebp
jle 0x495618
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4956e8
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.0x493c8c
inc edx
cmp edx, ebp
jle 0x4956b0
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49577f
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.0x493c8c
inc edx
cmp edx, ebp
jle 0x495747
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49580b
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.0x493c8c
inc edx
cmp edx, ebp
jle 0x4957d3
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495898
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 0x4958d1
cmp eax, 3
je 0x4958d1
xor eax, eax
jmp 0x4958d6
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
inc edx
cmp edx, ebp
jle 0x495860
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497f07
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495939
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 0x495981
cmp edx, 9
je 0x495981
cmp edx, 0xa
je 0x495981
cmp edx, 0xc
je 0x495981
cmp edx, 0xd
je 0x495981
xor eax, eax
jmp 0x495986
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
inc esi
cmp esi, ebp
jle 0x495901
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497f07
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4959ed
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 0x495a3a
cmp edx, 9
je 0x495a3a
cmp edx, 0xa
je 0x495a3a
cmp edx, 0xb
je 0x495a3a
cmp edx, 0xc
je 0x495a3a
cmp edx, 0xd
je 0x495a3a
xor eax, eax
jmp 0x495a3f
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
inc esi
cmp esi, ebp
jle 0x4959b5
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
nop
cmp ebx, edi
jae 0x497f07
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ab0
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 0x495af0
cmp eax, 3
je 0x495af0
cmp edx, 0x5f
je 0x495af0
xor eax, eax
jmp 0x495af5
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
inc esi
cmp esi, ebp
jle 0x495a70
mov edi, dword [esp + 0x28]
jmp 0x4962e2
cmp edx, 0x16
jne 0x495c2f
mov esi, dword [esp + 0x174]
lea edi, [edx - 0x15]
mov ebp, dword [esi + 0x7c]
cmp ebx, ebp
jae 0x498415
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495b61
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.0x493c8c
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x495c0a
nop
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495bd5
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 0x495c0a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x495ba0
mov esi, dword [esp + 0x174]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x495b27
mov ebp, dword [esp + 0x24]
mov ecx, esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x4962e9
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493fc6
jmp dword [eax*4 + 0x499d7c]
mov ecx, dword [esp + 0x174]
mov esi, 1
nop
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x497f07
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x495cbb
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b670
add esp, 0xc
test eax, eax
jne case.default.0x493c8c
mov ecx, dword [esp + 0x174]
add ebx, 2
cmp ebx, dword [ecx + 0x7c]
jae 0x495cad
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x495cad
add ebx, 2
inc esi
cmp esi, ebp
jle 0x495c50
mov dword [esp + 0x1c], ebx
jmp 0x4962e9
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x495c86
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x495c8d
cmp edx, 1
je case.default.0x493c8c
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je case.default.0x493c8c
jmp 0x495c8d
mov esi, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [esi + 0x7c]
nop
cmp ebx, edx
jae 0x498415
add ebx, 2
cmp ebx, edx
jae 0x495d21
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x495d21
add ebx, 2
inc ecx
cmp ecx, ebp
jle 0x495d00
mov dword [esp + 0x1c], ebx
mov ecx, esi
jmp 0x4962e9
mov eax, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [eax + 0x7c]
sub eax, ecx
cmp ebx, eax
ja case.default.0x493c8c
add ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497f0e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495d9e
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 0x495dfa
je case.0x495dbc.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c8c
jmp dword [ecx*4 + 0x499dbc]
mov ebx, edx
cmp edx, edi
jae 0x495ddd
cmp word [edx], 0xa
mov ecx, dword [esp + 0x174]
jne 0x495de4
lea ebx, [edx + 2]
jmp 0x495de4
mov ebx, edx
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, ebp
jle 0x495d66
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x4962e9
sub ecx, 0x2028
je case.0x495dbc.11
sub ecx, 1
jne case.default.0x493c8c
mov ecx, dword [esp + 0x174]
mov ebx, edx
cmp dword [ecx + 0x68], 0
jne case.default.0x493c8c
jmp 0x495de4
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495e68
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 0x495ec2
je case.default.0x493c8c
cmp ecx, 0xa0
ja 0x495ea8
je case.default.0x493c8c
cmp ecx, 9
je case.default.0x493c8c
cmp ecx, 0x20
je case.default.0x493c8c
inc edx
cmp edx, ebp
jle 0x495e30
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
cmp ecx, 0x1680
je case.default.0x493c8c
cmp ecx, 0x180e
je case.default.0x493c8c
jmp case.0x495ee2.8203
cmp ecx, 0x3000
ja case.0x495ee2.8203
je case.default.0x493c8c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x495ee2.8203
movzx eax, byte [ecx + 0x499dd4]
jmp dword [eax*4 + 0x499dcc]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495f30
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 0x495f7a
je case.0x495f9e.8193
cmp ecx, 0xa0
ja 0x495f64
je case.0x495f9e.8193
cmp ecx, 9
je case.0x495f9e.8193
cmp ecx, 0x20
jne case.default.0x493c8c
inc edx
cmp edx, ebp
jle 0x495ef8
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
cmp ecx, 0x1680
je case.0x495f9e.8193
cmp ecx, 0x180e
jne case.default.0x493c8c
jmp case.0x495f9e.8193
cmp ecx, 0x3000
ja case.default.0x493c8c
je case.0x495f9e.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493c8c
movzx eax, byte [ecx + 0x499e3c]
jmp dword [eax*4 + 0x499e34]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495fec
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 0x496009
je case.default.0x493c8c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x496002
jmp dword [ecx*4 + 0x499e9c]
sub ecx, 0x2028
je case.default.0x493c8c
sub ecx, 1
je case.default.0x493c8c
inc edx
cmp edx, ebp
jle 0x495fb4
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496078
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 0x496095
je case.0x49608e.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c8c
jmp dword [ecx*4 + 0x499eac]
sub ecx, 0x2028
je case.0x49608e.10
sub ecx, 1
jne case.default.0x493c8c
inc edx
cmp edx, ebp
jle 0x496040
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4960fb
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 0x496117
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493c8c
inc edx
cmp edx, ebp
jle 0x4960c3
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493c8c
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je case.default.0x493c8c
inc edx
add ebx, 2
cmp edx, ebp
jle 0x496134
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4961ae
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493c8c
add ebx, 2
cmp ebx, esi
jae 0x4961cd
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4961cd
add ebx, 2
inc edx
cmp edx, ebp
jle 0x496183
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497f07
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493c8c
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je case.default.0x493c8c
inc edx
add ebx, 2
cmp edx, ebp
jle 0x4961f0
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
nop
cmp ebx, esi
jae 0x497f07
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x49626b
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493c8c
add ebx, 2
cmp ebx, esi
jae 0x49628a
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49628a
add ebx, 2
inc edx
cmp edx, ebp
jle 0x496240
mov dword [esp + 0x1c], ebx
jmp 0x4962e2
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497f07
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x493c8c
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493c8c
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jle 0x4962a7
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x492340
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x30]
jne 0x49867b
mov esi, ebx
mov dword [esp + 0x18], esi
test eax, eax
js 0x4969ac
cmp eax, 8
ja case.default.0x493fc6
jmp dword [eax*4 + 0x499ebc]
cmp ebp, edx
jge 0x49698e
mov edx, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, edx
jae 0x49636c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x34], 0
movzx ecx, ax
jne 0x49698e
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 0x496331
jmp 0x49698e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496995
cmp ebx, dword [ebp + 0x88]
jbe 0x496995
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
jmp 0x496995
cmp ebp, edx
jge 0x49698e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
mov edx, 1
cmp ebx, esi
jae 0x496445
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4963ee
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 0x496421
cmp al, 5
je 0x496421
cmp al, 8
je 0x496421
xor eax, eax
jmp 0x496426
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49698a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x4963b1
jmp 0x49698a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49646a
cmp ebx, dword [ebp + 0x88]
jbe 0x49646a
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x4994e8
mov esi, dword [esp + 0x18]
jmp 0x496995
cmp ebp, edx
jge 0x49698e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x40]
cmp ebx, esi
jae 0x496510
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4964bf
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 0x49698a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496482
jmp 0x49698a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49646a
cmp ebx, dword [ebp + 0x88]
jbe 0x49646a
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
mov esi, dword [esp + 0x18]
jmp 0x496995
cmp ebp, edx
jge 0x49698e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
cmp ebx, esi
jae 0x496510
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496599
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 0x49698a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496560
jmp 0x49698a
cmp ebp, edx
jge 0x49698e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x496510
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49662d
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 0x49698a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x4965f0
jmp 0x49698a
cmp ebp, edx
jge 0x49698e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496445
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4966cd
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 0x496706
cmp eax, 3
je 0x496706
xor eax, eax
jmp 0x49670b
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49698a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x496690
jmp 0x49698a
cmp ebp, edx
jge 0x49698e
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x4967eb
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49677d
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 0x4967c5
cmp edx, 9
je 0x4967c5
cmp edx, 0xa
je 0x4967c5
cmp edx, 0xc
je 0x4967c5
cmp edx, 0xd
je 0x4967c5
xor eax, eax
jmp 0x4967ca
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49698a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496740
jmp 0x49698a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x49646a
cmp ebx, dword [ebp + 0x88]
jbe 0x49646a
mov dword [ebp + 0x64], esi
cmp eax, 1
jg 0x4994e8
mov esi, dword [esp + 0x18]
jmp 0x496995
cmp ebp, edx
jge 0x49698e
mov edi, dword [ecx + 0x7c]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x4967eb
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496869
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 0x4968b6
cmp edx, 9
je 0x4968b6
cmp edx, 0xa
je 0x4968b6
cmp edx, 0xb
je 0x4968b6
cmp edx, 0xc
je 0x4968b6
cmp edx, 0xd
je 0x4968b6
xor eax, eax
jmp 0x4968bb
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49698a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496830
jmp 0x49698a
cmp ebp, edx
jge 0x49698e
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x4967eb
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49692d
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 0x49696d
cmp eax, 3
je 0x49696d
cmp edx, 0x5f
je 0x49696d
xor eax, eax
jmp 0x496972
mov eax, 1
cmp eax, dword [esp + 0x34]
je 0x49698a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4968f0
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49843b
mov edi, dword [esp + 0x170]
jmp 0x49234e
cmp edi, 0x16
jne 0x496b1a
cmp ebp, edx
jge 0x496acd
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x496aeb
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4969fd
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 0x496ac9
mov eax, dword [esp + 0x174]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x496abe
nop dword [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496a85
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 0x496aba
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x496a50
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x4969c0
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x4984d1
mov edi, dword [esp + 0x170]
jmp 0x49234e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496b14
cmp ebx, dword [ebp + 0x88]
jbe 0x496b14
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
mov esi, dword [esp + 0x18]
jmp 0x496ad4
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493fc6
jmp dword [eax*4 + 0x499ee0]
cmp edx, 0x7fffffff
jge 0x496c20
cmp ebp, edx
jge 0x496e82
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496be6
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496bb2
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b670
add esp, 0xc
test eax, eax
jne 0x496e82
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496ba6
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496ba6
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496b41
jmp 0x496e82
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496b77
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496b7e
cmp edx, 1
je 0x496e82
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x496e82
jmp 0x496b7e
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x496e82
cmp ebx, dword [ecx + 0x88]
jbe 0x496e82
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4994e8
mov ebp, ecx
jmp 0x496e89
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496be6
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496c8d
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b670
add esp, 0xc
test eax, eax
jne 0x496e82
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496c81
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496c81
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496c20
jmp 0x496e82
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496c52
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496c59
cmp edx, 1
je 0x496e82
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x496e82
jmp 0x496c59
cmp edx, 0x7fffffff
jge 0x496d41
cmp ebp, edx
jge 0x496e82
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496d0b
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, ecx
jae 0x496d01
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x496d01
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, edx
jl 0x496cd8
jmp 0x496e82
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496e89
cmp ebx, dword [ebp + 0x88]
jbe 0x496e89
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
jmp 0x496e89
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496e89
cmp ebx, dword [ebp + 0x88]
jbe 0x496e89
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
jmp 0x496e89
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 0x496db0
mov eax, dword [ebp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496e89
cmp ecx, dword [ebp + 0x88]
jmp 0x496d63
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
jmp 0x496e89
cmp ebp, edx
jge 0x496e82
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496ea0
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496e03
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x496e08
mov eax, 2
cmp ecx, 0xd
jne 0x496e2d
mov ebx, edx
mov dword [esp + 0x1c], ebx
cmp edx, esi
jae 0x496e7e
cmp word [ebx], 0xa
jne 0x496e73
lea ebx, [edx + 2]
jmp 0x496e6f
cmp ecx, 0xa
je 0x496e6d
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x4973b8
cmp ecx, 0xb
je 0x496e6d
cmp ecx, 0xc
je 0x496e6d
cmp ecx, 0x85
je 0x496e6d
cmp ecx, 0x2028
je 0x496e6d
cmp ecx, 0x2029
jne 0x4973b8
add ebx, eax
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496dc7
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x4985cb
mov edi, dword [esp + 0x170]
jmp 0x49234e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496ec9
cmp ebx, dword [ebp + 0x88]
jbe 0x496ec9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
mov esi, dword [esp + 0x18]
jmp 0x496e89
cmp ebp, edx
jge 0x496e82
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496fba
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496f1d
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 0x496f90
je case.0x496fac.8193
cmp ecx, 0xa0
ja 0x496f7c
je case.0x496fac.8193
cmp ecx, 9
je case.0x496fac.8193
cmp ecx, 0x20
je case.0x496fac.8193
xor ecx, ecx
xor eax, eax
cmp edi, 0x12
sete al
cmp ecx, eax
je 0x496e7e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496ee0
jmp 0x496e7e
cmp ecx, 0x1680
je case.0x496fac.8193
cmp ecx, 0x180e
jmp 0x496f4d
cmp ecx, 0x3000
ja case.0x496fac.8203
je case.0x496fac.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x496fac.8203
movzx eax, byte [ecx + 0x499f28]
jmp dword [eax*4 + 0x499f20]
mov ecx, 1
jmp 0x496f55
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496ec9
cmp ebx, dword [ebp + 0x88]
jbe 0x496ec9
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x4994e8
mov esi, dword [esp + 0x18]
jmp 0x496e89
cmp ebp, edx
jge 0x496e82
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496fba
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497039
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 0x497052
je case.0x49704b.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49704b
jmp dword [ecx*4 + 0x499f88]
sub ecx, 0x2028
je case.0x49704b.10
sub ecx, 1
je case.0x49704b.10
xor ecx, ecx
jmp 0x497068
mov ecx, 1
xor eax, eax
cmp edi, 0x14
sete al
cmp ecx, eax
je 0x496e7e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497000
jmp 0x496e7e
cmp ebp, edx
jge 0x496e82
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x496ea0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4970dd
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 0x4970f9
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x496e7e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4970a0
jmp 0x496e7e
cmp ebp, edx
jge 0x496e82
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496ea0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497154
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 0x496e7e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x496e7e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497117
jmp 0x496e7e
cmp ebp, edx
jge 0x496e82
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x496ea0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4971cf
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 0x4971eb
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x496e7e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497192
jmp 0x496e7e
cmp ebp, edx
jge 0x496e82
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x496ea0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49724d
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 0x496e7e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x496e7e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497210
jmp 0x496e7e
cmp ebp, edx
jge 0x496e82
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x496ea0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4972cd
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 0x4972e9
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x496e7e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497290
jmp 0x496e7e
cmp ebp, edx
jge 0x496e82
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497377
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497344
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 0x496e7e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x496e7e
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x497307
jmp 0x496e7e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496ec9
cmp ebx, dword [ebp + 0x88]
jbe 0x496ec9
mov dword [ebp + 0x64], 1
cmp eax, 1
jle 0x496ec9
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x18]
mov ebp, edx
jmp 0x496e89
cmp ecx, 0x74
mov ecx, ebx
jne 0x49740e
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49763b
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x49763b
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 0x4974b0
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 0x497490
jmp 0x4974a9
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 0x49763f
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.00492250
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0x75
je 0x497857
cmp eax, 0x74
jne 0x497568
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x497804
mov ecx, 0x82
cmp ax, cx
jae 0x4977c3
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49763b
mov eax, 0x82
cmp word [ebp], ax
jb 0x49757d
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.00492250
mov ecx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4975b8
cmp dword [ecx + 0xb8], ebp
je 0x4975c0
test eax, eax
jne 0x497654
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x497842
mov ebp, dword [esp + 0x174]
jmp 0x49763f
movzx edx, word [esi + 4]
mov dword [esp + 0x44], edx
lea eax, [edx + edx]
cmp eax, dword [ebp + 0x14]
jl 0x4994f8
mov edx, dword [esp + 0x20]
nop word [eax + eax]
cmp edx, 0x82
jae 0x49765f
cmp edx, 0x7b
je 0x49765f
cmp dword [ebp + 0x6c], 0
jne 0x497669
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x497669
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 0x4922f1
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.00492250
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x4976ca
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
mov eax, edx
cmp dword [ebp + 0x80], ecx
jae 0x4976ca
cmp word [edi], 0x71
je 0x4976d2
cmp word [ecx], 0x71
je 0x4976d2
test eax, eax
jne 0x499626
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.0x493c8c
mov edi, dword [esp + 0x170]
mov ecx, 0x71
jmp 0x4975f2
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.00492250
add esp, 0x14
test eax, eax
je 0x497742
cmp eax, 0xfffffc1d
je 0x497742
cmp eax, 0xfffffc20
jne 0x497654
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 0x497783
push eax
call fcn.0049f542
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.00492250
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.00492250
add esp, 0x14
test eax, eax
je 0x4978a0
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 0x49781d
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
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.0x493c8c
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x493c8c
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4994e8
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.0x493c8c
cmp ebx, dword [esi + 0x7c]
jb case.default.0x493c8c
jmp 0x498423
mov edi, ebx
cmp esi, eax
jge 0x4979a1
nop word [eax + eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004920a0
add esp, 0xc
test eax, eax
js 0x49796b
mov ecx, dword [esp + 0x38]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, dword [esp + 0x24]
jl 0x497940
jmp 0x497999
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x497999
cmp ebx, dword [ecx + 0x7c]
jb 0x497999
cmp ebx, dword [ecx + 0x88]
jbe 0x497999
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4994e8
cmp ebx, edi
jb case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x4979a1
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.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x4945c2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x497ac4
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x7c]
nop
cmp ebx, edi
jae 0x497b9a
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497aad
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 0x497b61
cmp dword [esp + 0x20], 0x6a
jne 0x497b81
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493c8c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497b27
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.00492250
add esp, 0x14
test eax, eax
je 0x497b02
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 0x497ac4
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 0x497a70
jmp 0x497ac4
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497acb
cmp ebx, dword [esi + 0x88]
jbe 0x497acb
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4994e8
jmp 0x497acb
mov ebp, ebx
cmp edi, eax
jge 0x497c41
nop word [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x497cdf
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497c25
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.0049b820
add esp, 4
test eax, eax
je 0x497c41
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x24]
jl 0x497be0
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493c8c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497ca5
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.00492250
add esp, 0x14
test eax, eax
je 0x497c80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497c48
cmp ebx, dword [esi + 0x88]
jbe 0x497c48
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4994e8
jmp 0x497c48
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x493c8c
cmp ebx, ecx
jb case.default.0x493c8c
jmp 0x4978f7
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493c8c
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x493c8c
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x493c8c
mov dword [ecx + 0x64], 1
jmp 0x497906
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x493c8c
mov ebp, dword [ebp + 0x7c]
lea eax, [ebp - 4]
cmp ebx, eax
ja 0x497e1b
mov eax, dword [esp + 0x3c]
mov ecx, ebx
mov edx, dword [esp + 0x30]
lea esi, [eax + eax]
sub esi, 4
jb 0x497de1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497de6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497dd0
cmp esi, 0xfffffffc
je 0x497e13
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497e1b
cmp esi, 0xfffffffd
je 0x497e13
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497e1b
cmp esi, 0xfffffffe
je 0x497e13
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497e1b
cmp esi, 0xffffffff
je 0x497e13
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497e1b
add ebx, 4
jmp 0x497e9d
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x497eeb
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x497eeb
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x497e55
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497e5a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497e44
cmp esi, 0xfffffffc
je 0x497e97
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497eeb
cmp esi, 0xfffffffd
je 0x497e97
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497eeb
cmp esi, 0xfffffffe
je 0x497e97
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497eeb
cmp esi, 0xffffffff
je 0x497e97
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497eeb
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.00492250
add esp, 0x14
test eax, eax
je 0x497da0
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.0x493c8c
cmp ebx, ebp
jmp 0x497d41
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x493c8c
jmp 0x497d47
cmp ebx, edi
jb case.default.0x493c8c
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.00492250
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497654
cmp ebx, edi
jae 0x497f30
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
cmp edi, dword [esp + 0x24]
jge case.default.0x493c8c
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497f0e
movzx eax, word [ebx]
cmp esi, eax
je 0x497fdb
cmp ebp, eax
jne case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x497fb2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ebx, edi
jb case.default.0x493c8c
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.00492250
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497654
cmp ebx, edi
jae 0x498030
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov ecx, edi
cmp edi, ebp
jge case.default.0x493c8c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498119
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x493c8c
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.00492250
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x4980b2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x493c8c
cmp ebx, dword [edx + 0x88]
jbe case.default.0x493c8c
mov dword [edx + 0x64], 1
jmp 0x497906
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493c8c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498195
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.00492250
add esp, 0x14
test eax, eax
je 0x498170
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493c8c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498119
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49825a
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.0x493c8c
cmp ebp, ecx
je case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498210
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x493c8c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498305
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.00492250
add esp, 0x14
test eax, eax
je 0x4982e0
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x493c8c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498119
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4983ca
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.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498380
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x493c8c
cmp ebx, dword [esi + 0x88]
jbe case.default.0x493c8c
mov dword [esi + 0x64], 1
jmp 0x497906
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493c8c
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x498497
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.00492250
add esp, 0x14
test eax, eax
je 0x498472
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x493c8c
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x49852f
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49855a
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 0x49858d
sub ebx, 2
jmp 0x498515
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.00492250
add esp, 0x14
test eax, eax
je 0x498508
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
lea ecx, [ebx - 2]
cmp ebx, esi
je case.default.0x493c8c
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x498623
add ecx, 0xfffffffe
mov ebx, ecx
cmp edi, 0x11
jne 0x49863f
cmp ecx, esi
jbe 0x49863f
cmp word [ecx], 0xa
jne 0x49863f
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.00492250
add esp, 0x14
test eax, eax
je 0x498600
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x498fd5
cmp eax, 8
ja case.default.0x493fc6
jmp dword [eax*4 + 0x499f98]
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, ebp
nop dword [eax]
mov ecx, ebx
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498119
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498701
lea ebx, [ecx + 4]
cmp dword [esp + 0x34], 0
jne case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x4986d0
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498119
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4987cc
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 0x4987ff
cmp al, 5
je 0x4987ff
cmp al, 8
je 0x4987ff
xor eax, eax
jmp 0x498804
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498782
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498119
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4988da
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.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498890
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498119
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4989dc
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.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498992
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498119
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498ada
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.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498a90
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x498119
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498bda
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 0x498c13
cmp eax, 3
je 0x498c13
xor eax, eax
jmp 0x498c18
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498b90
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
cmp ebx, dword [edi + 0x7c]
jae 0x498d7e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498ce4
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 0x498d2c
cmp edx, 9
je 0x498d2c
cmp edx, 0xa
je 0x498d2c
cmp edx, 0xc
je 0x498d2c
cmp edx, 0xd
je 0x498d2c
xor eax, eax
jmp 0x498d31
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498ca1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x493c8c
cmp ebx, dword [edi + 0x88]
jbe case.default.0x493c8c
mov dword [edi + 0x64], 1
jmp 0x497906
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
cmp ebx, dword [edi + 0x7c]
jae 0x498d7e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498e21
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 0x498e6e
cmp edx, 9
je 0x498e6e
cmp edx, 0xa
je 0x498e6e
cmp edx, 0xb
je 0x498e6e
cmp edx, 0xc
je 0x498e6e
cmp edx, 0xd
je 0x498e6e
xor eax, eax
jmp 0x498e73
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498de2
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.00492250
add esp, 0x14
test eax, eax
jne 0x497654
mov edi, dword [esp + 0x174]
mov esi, ebp
nop
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
cmp ebx, dword [edi + 0x7c]
jae 0x498d7e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498f43
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 0x498f83
cmp eax, 3
je 0x498f83
cmp edx, 0x5f
je 0x498f83
xor eax, eax
jmp 0x498f88
mov eax, 1
cmp eax, dword [esp + 0x34]
je case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x498f00
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.00492250
add esp, 0x14
cmp edi, 0x16
jne 0x49914e
test eax, eax
jne 0x497654
mov edi, dword [esp + 0x174]
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
mov esi, dword [edi + 0x7c]
cmp ebx, esi
jae 0x498d7e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499067
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.0x493c8c
cmp ebx, esi
jae 0x49910b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4990d6
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 0x49910b
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4990a1
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.00492250
add esp, 0x14
test eax, eax
je 0x499020
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x497654
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x493c8c
mov esi, dword [esp + 0x174]
mov ecx, dword [esi + 0x7c]
cmp ebx, ecx
jae 0x4994be
cmp edi, 0xc
jne 0x4991d2
mov edx, dword [esi + 0x18]
lea eax, [esi + 0x1c]
test edx, edx
je 0x4991a7
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b670
add esp, 0xc
test eax, eax
jne case.default.0x493c8c
jmp 0x4991d2
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4991d2
mov ax, word [ebx]
cmp ax, word [esi + 0x2c]
jne 0x4991d2
cmp edx, 1
je case.default.0x493c8c
mov ax, word [ebx + 2]
cmp ax, word [esi + 0x2e]
je case.default.0x493c8c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x499202
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.0x493fc6
jmp dword [eax*4 + 0x499fbc]
cmp ecx, 0x85
ja 0x49924d
je case.0x49922b.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c8c
jmp dword [ecx*4 + 0x499ffc]
cmp ebx, dword [esi + 0x7c]
jae case.0x49920e.12
cmp word [ebx], 0xa
jne case.0x49920e.12
add ebx, 2
jmp case.0x49920e.12
sub ecx, 0x2028
je case.0x49922b.11
sub ecx, 1
jne case.default.0x493c8c
cmp dword [esi + 0x68], 0
jne case.default.0x493c8c
jmp case.0x49920e.12
cmp ecx, 0x2000
ja 0x4992b1
je case.default.0x493c8c
cmp ecx, 0xa0
ja 0x49929a
je case.default.0x493c8c
cmp ecx, 9
je case.default.0x493c8c
cmp ecx, 0x20
jmp 0x49945f
cmp ecx, 0x1680
je case.default.0x493c8c
cmp ecx, 0x180e
jmp 0x49945f
cmp ecx, 0x3000
ja case.0x49920e.12
je case.default.0x493c8c
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x49920e.12
movzx eax, byte [ecx + 0x49a014]
jmp dword [eax*4 + 0x49a00c]
cmp ecx, 0x2000
ja 0x499330
je case.0x49920e.12
cmp ecx, 0xa0
ja 0x499313
je case.0x49920e.12
cmp ecx, 9
je case.0x49920e.12
cmp ecx, 0x20
jne case.default.0x493c8c
jmp case.0x49920e.12
cmp ecx, 0x1680
je case.0x49920e.12
cmp ecx, 0x180e
jne case.default.0x493c8c
jmp case.0x49920e.12
cmp ecx, 0x3000
ja case.default.0x493c8c
je case.0x49920e.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x493c8c
movzx eax, byte [ecx + 0x49a07c]
jmp dword [eax*4 + 0x49a074]
cmp ecx, 0x85
ja 0x499380
je case.default.0x493c8c
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x49920e.12
jmp dword [ecx*4 + 0x49a0dc]
sub ecx, 0x2028
je case.default.0x493c8c
sub ecx, 1
jmp 0x49945f
cmp ecx, 0x85
ja 0x4993b5
je case.0x49920e.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x493c8c
jmp dword [ecx*4 + 0x49a0ec]
sub ecx, 0x2028
je case.0x49920e.12
sub ecx, 1
jne case.default.0x493c8c
jmp case.0x49920e.12
cmp ecx, 0x100
jae case.0x49920e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x493c8c
jmp case.0x49920e.12
cmp ecx, 0x100
jae case.default.0x493c8c
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jmp 0x49945f
cmp ecx, 0x100
jae case.0x49920e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x493c8c
jmp case.0x49920e.12
cmp ecx, 0x100
jae case.default.0x493c8c
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jmp 0x49945f
cmp ecx, 0x100
jae case.0x49920e.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x493c8c
jmp case.0x49920e.12
cmp ecx, 0x100
jae case.default.0x493c8c
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x493c8c
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.00492250
add esp, 0x14
test eax, eax
je 0x499160
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.0x493c8c
cmp ebx, dword [esi + 0x88]
jbe case.default.0x493c8c
mov dword [esi + 0x64], 1
cmp eax, 1
jle case.default.0x493c8c
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 0x499548
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.00492250
mov edx, dword [esp + 0x188]
mov esi, eax
add esp, 0x14
cmp esi, 0xfffffc1c
je 0x4995ea
mov ecx, dword [esp + 0x14]
cmp esi, 0xfffffc20
jne 0x4995be
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x80], eax
jae 0x4995be
cmp word [ecx], 0x71
je 0x4995ba
cmp word [eax], 0x71
jne 0x4995be
xor esi, esi
jmp 0x4995c6
test esi, esi
jne 0x499619
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 0x4995ea
mov esi, ecx
jmp 0x499534
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 0x499665
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
je 0x49965a
cmp ecx, 0x71
jne 0x499652
mov ecx, edi
movzx eax, word [edi + 2]
cmp word [ecx + eax*2], 0x71
lea edi, [ecx + eax*2]
mov ecx, edi
je 0x499642
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.00492250
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x4996d8
cmp esi, 0xfffffc19
je 0x4996d8
cmp esi, 0xfffffc1b
jne 0x4996f4
cmp dword [ebp + 0xb0], 0
jne 0x4996f4
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x499619
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.0049b5e0
test eax, eax
jne 0x499619
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.00492250
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x49978d
cmp ecx, 0xfffffc1d
je 0x49978d
cmp ecx, 0xfffffc1e
je 0x49978d
cmp ecx, 0xfffffc1f
je 0x49978d
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.00492250
add esp, 0x14
test eax, eax
je 0x4997d9
cmp eax, 0xfffffc20
jne 0x497654
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.00492250
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x499845
cmp ecx, 0xfffffc19
jne 0x499854
cmp dword [ebp + 0xb0], 0
jne 0x499854
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x4997d9
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.00492250
add esp, 0x14
test eax, eax
je 0x4998b4
cmp eax, 0xfffffc1d
je 0x4998b4
cmp eax, 0xfffffc20
jne 0x497654
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.00492250
add esp, 0x14
test eax, eax
je 0x49997e
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.00492250
add esp, 0x14
cmp eax, 1
je 0x499963
cmp eax, 0xfffffc19
jne 0x499972
cmp dword [ebp + 0xb0], 0
jne 0x499972
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x497654
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 0x4999d4
cmp edx, 0x99
je 0x4999d4
cmp dword [ebp + 0xa8], 0
jne 0x4999d4
cmp dword [ebp + 0x5c], 0
jne case.default.0x493c8c
cmp dword [ebp + 0x60], 0
je 0x4999d4
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x493c8c
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