Function at 0x4c1040
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 + 0x14], ebx
push edi
test esi, esi
jne 0x4c109e
cmp dword [esp + 0x17c], edx
jne 0x4c1083
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.004c1040
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 + 0x38], 0
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jae 0x4c66bb
mov dword [esp + 0x68], 0xfc00
mov dword [esp + 0x48], 0xdc00
mov dword [esp + 0x4c], connect
mov dword [esp + 0x50], 0xd800
inc eax
mov dword [ebp], eax
mov eax, dword [esp + 0x17c]
cmp eax, dword [ebp + 8]
jae 0x4c8a2c
cmp dword [ebp + 0x9c], 2
jne 0x4c112f
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
jmp 0x4c112f
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
movzx ecx, word [esi]
mov edx, ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov edi, ecx
mov dword [esp + 0x20], edx
cmp edx, 0x9b
ja case.0x4c115d.98
movzx eax, byte [edx + 0x4c8b84]
jmp dword [eax*4 + 0x4c8a3c]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x503b18]
je 0x4c6781
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x4c112f
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.004c1040
add esp, 0x14
cmp eax, 1
je 0x4c12a8
cmp eax, 0xfffffc20
jne 0x4c1210
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + 2]
lea ecx, [edx + ecx*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], ecx
jae 0x4c66c4
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
mov edx, dword [esp + 0x174]
je 0x4c121f
cmp word [ecx], 0x71
jne 0x4c66c4
jmp 0x4c121f
test eax, eax
jne 0x4c66c4
mov edx, dword [esp + 0x174]
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 0x4c1195
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x4c1260
cmp eax, 0x71
jne case.default.0x4c29c9
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 0x4c1260
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x18], ebx
cmp ecx, 0x72
je 0x4c1295
cmp ebx, edi
jne 0x4c6425
mov ebp, dword [esp + 0x174]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
movzx ecx, word [esi]
mov dword [esp + 0x16c], eax
jmp 0x4c1246
xor ebp, ebp
mov dword [esp + 0x34], ebp
jmp 0x4c1d89
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
jne 0x4c13be
mov esi, dword [0x5203d8]
test esi, esi
je 0x4c13b3
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb8], 2
movzx eax, word [edx + 6]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc0], eax
mov ecx, dword [ebp + 0x78]
mov dword [esp + 0xc4], ecx
mov eax, dword [ebp + 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
sar eax, 1
mov dword [esp + 0xd0], eax
movzx eax, word [edx + 8]
mov dword [esp + 0xe0], eax
movzx eax, word [edx + 0xa]
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 [ebp + 0x94]
mov dword [esp + 0xd8], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 0xdc], eax
mov eax, dword [ebp + 0xb4]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xb8]
push eax
call esi
add esp, 4
test eax, eax
jg case.default.0x4c29c9
js 0x4c66c4
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x14], esi
movzx edx, word [esi + 4]
cmp edx, 0x89
je 0x4c1593
cmp edx, 0x8a
je 0x4c1593
cmp edx, 0x87
je 0x4c144f
cmp edx, 0x88
je 0x4c144f
cmp edx, 0x8b
jne 0x4c13fe
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4c172f
mov dword [ebp + 0x9c], 1
lea edx, [esi + 4]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
cmp eax, 1
je 0x4c64ba
test eax, eax
je 0x4c1447
cmp eax, 0xfffffc20
jne 0x4c66c4
lea eax, [esi + edi*2]
jmp 0x4c172f
movzx esi, word [esi + 6]
lea ecx, [esi + esi]
cmp ecx, dword [esp + 0x170]
jge 0x4c146c
mov eax, dword [ebp + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4c1716
cmp edx, 0x88
jne 0x4c1584
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x28]
mov edi, eax
mov dword [esp + 0x2c], 0
test ecx, ecx
jle 0x4c1584
mov ebp, eax
xor edx, edx
movzx eax, word [edi]
cmp eax, esi
je 0x4c14ce
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea edi, [eax*2]
mov eax, dword [esp + 0x2c]
inc eax
add edi, ebp
mov dword [esp + 0x2c], eax
mov edx, eax
mov ebp, edi
cmp eax, ecx
jl 0x4c1494
mov eax, dword [esp + 0x14]
xor ecx, ecx
movzx eax, word [eax + 2]
jmp 0x4c1720
cmp edx, ecx
jge 0x4c1584
mov eax, dword [esp + 0x174]
mov esi, edi
cmp edi, dword [eax + 0x28]
jbe 0x4c1533
mov eax, dword [eax + 0x24]
lea ecx, [edi + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.004ca2f0
test eax, eax
jne 0x4c152c
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4c151e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4c1716
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x28]
ja 0x4c14e4
jmp 0x4c1533
mov eax, dword [esp + 0x174]
mov ebp, dword [esp + 0x2c]
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x4c1584
lea esi, [edi + 2]
mov eax, dword [eax + 0x24]
mov ecx, esi
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004ca2f0
test eax, eax
jne 0x4c1584
movzx eax, word [edi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4c1577
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4c1716
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jl 0x4c1540
mov eax, dword [esp + 0x14]
xor ecx, ecx
movzx eax, word [eax + 2]
jmp 0x4c1720
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x4c15a9
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4c172f
movzx esi, word [esi + 6]
cmp esi, 0xffff
je 0x4c1716
cmp esi, dword [eax + 4]
je 0x4c1716
xor ecx, ecx
mov dword [esp + 0x30], ecx
cmp edx, 0x8a
jne 0x4c170c
mov edx, dword [esp + 0x174]
mov eax, dword [ebp + 0x28]
mov edi, eax
xor ebp, ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], ebp
mov edx, dword [edx + 0x20]
test edx, edx
jle 0x4c170c
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x34], eax
nop
movzx eax, word [edi]
cmp eax, esi
je 0x4c163a
mov eax, dword [esp + 0x174]
inc ebp
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], ebp
mov eax, dword [eax + 0x24]
lea edi, [edi + eax*2]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], edi
cmp ebp, edx
jl 0x4c1600
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
jmp 0x4c1720
cmp dword [esp + 0x34], edx
jge 0x4c170c
mov edx, dword [esp + 0x174]
mov esi, edi
cmp edi, dword [edx + 0x28]
jbe 0x4c16b0
mov ebx, dword [esp + 0x30]
lea eax, [edi + 2]
mov dword [esp + 0x2c], eax
mov edi, eax
mov ebp, edx
mov eax, dword [ebp + 0x24]
mov ecx, edi
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.004ca2f0
test eax, eax
jne 0x4c1691
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
mov eax, dword [eax + 4]
cmp ecx, eax
sete bl
je 0x4c1691
cmp esi, dword [ebp + 0x28]
ja 0x4c1661
mov edi, dword [esp + 0x3c]
test ebx, ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x18]
jne 0x4c1702
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x174]
inc ebp
cmp ebp, dword [edx + 0x20]
jge 0x4c170c
mov ebx, dword [esp + 0x30]
lea esi, [edi + 2]
nop dword [eax]
mov eax, dword [edx + 0x24]
mov ecx, esi
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004ca2f0
test eax, eax
jne 0x4c16f6
mov edx, dword [esp + 0x174]
xor ebx, ebx
movzx ecx, word [edi]
mov eax, dword [edx + 0xa8]
mov eax, dword [eax + 4]
cmp ecx, eax
sete bl
je 0x4c16f6
inc ebp
cmp ebp, dword [edx + 0x20]
jl 0x4c16c0
mov dword [esp + 0x30], ebx
test ebx, ebx
mov ebx, dword [esp + 0x18]
je 0x4c1708
mov ecx, dword [esp + 0x30]
jmp 0x4c171b
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
jmp 0x4c1720
mov ecx, 1
mov eax, 2
mov edx, dword [esp + 0x14]
lea eax, [edx + eax*2]
test ecx, ecx
jne 0x4c6504
cmp word [eax], 0x71
mov ebp, dword [esp + 0x174]
je 0x4c650b
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x4c112f
movzx esi, word [esi + 2]
mov dword [ebp + 0x94], esi
lea edx, [esi + esi]
cmp edx, dword [ebp + 0x14]
jl 0x4c1775
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
sub eax, esi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, ebx
sub ecx, dword [ebp + 0x78]
mov eax, dword [ebp + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp dword [esp + 0x170], edx
jg 0x4c17a4
lea eax, [edx + 2]
mov dword [esp + 0x170], eax
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4c17d4
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4c17e0
xor edi, edi
nop word [eax + eax]
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.004c1040
add esp, 0x14
cmp eax, 1
je 0x4c184b
cmp eax, 0xfffffc19
je 0x4c184b
test eax, eax
je 0x4c1826
cmp eax, 0xfffffc20
jne 0x4c66c4
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 0x4c17e0
mov esi, dword [esp + 0x14]
jmp 0x4c185f
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.0x4c29c9
test edi, edi
jne 0x4c6846
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4c1871
mov eax, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], eax
jmp 0x4c112f
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4c18b8
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4c18ba
xor edi, edi
mov ecx, dword [esp + 0x14]
nop
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.004c1040
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x4c29c9
cmp eax, 0xfffffc19
je case.default.0x4c29c9
cmp eax, 0xfffffc1e
je 0x4c193f
cmp eax, 0xfffffc1d
je 0x4c193f
cmp eax, 0xfffffc1a
je 0x4c193f
test eax, eax
je 0x4c1925
cmp eax, 0xfffffc20
jne 0x4c66c4
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 0x4c18c0
mov esi, ecx
jmp 0x4c1951
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4c1943
test edi, edi
jne 0x4c6846
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c112f
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x4c199d
mov edx, dword [ebp + 0x78]
mov edi, 0xfc00
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x18], ebx
cmp ebx, edx
jb case.default.0x4c29c9
mov ax, word [ebx]
and ax, di
cmp ax, word [esp + 0x48]
jne 0x4c1999
add ebx, 0xfffffffe
mov dword [esp + 0x18], ebx
test ecx, ecx
jg 0x4c1975
cmp ebx, dword [ebp + 0x88]
jae 0x4c19ab
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov esi, dword [0x5203d8]
test esi, esi
je 0x4c1a95
mov edi, dword [esp + 0x14]
mov dword [esp + 0x80], 2
movzx eax, word [edi + 2]
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
sar eax, 1
mov dword [esp + 0x98], eax
movzx eax, word [edi + 8]
mov dword [esp + 0xa8], eax
movzx eax, word [edi + 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
mov eax, dword [edi + 4]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x80]
push eax
call esi
add esp, 4
test eax, eax
jg case.default.0x4c29c9
js 0x4c66c4
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x4c1ab7
xor ecx, ecx
jmp 0x4c1abb
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x4c1adb
cmp ecx, dword [eax + 4]
jne 0x4c1ad5
cmp ebx, dword [eax + 0x10]
je 0x4c67ea
mov eax, dword [eax]
test eax, eax
jne 0x4c1ac7
mov dword [esp + 0x58], ecx
lea eax, [esp + 0x54]
mov dword [esp + 0x64], ebx
add esi, 4
mov dword [esp + 0x54], edx
mov dword [ebp + 0xa8], eax
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x60], ecx
cmp ecx, 0x1e
jg 0x4c1b11
lea eax, [esp + 0xf0]
mov dword [esp + 0x5c], eax
jmp 0x4c1b31
lea eax, [ecx*4]
push eax
call fcn.004cfec5
add esp, 4
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4c6823
mov ecx, dword [esp + 0x60]
shl ecx, 2
push ecx
push dword [ebp + 0xc]
push eax
call fcn.004cc730
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
nop dword [eax + eax]
mov eax, 0x82
cmp bp, ax
jb 0x4c1b64
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 + 0x503b18]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.004c1040
mov ecx, dword [esp + 0x74]
add esp, 0x14
shl ecx, 2
mov esi, eax
mov eax, dword [esp + 0x174]
push ecx
push dword [esp + 0x60]
push dword [eax + 0xc]
call fcn.004cc730
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x54]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x4c1c3d
cmp esi, 0xfffffc19
je 0x4c1c3d
test esi, esi
je 0x4c1bf0
cmp esi, 0xfffffc20
jne 0x4c67fa
lea eax, [esp + 0x54]
mov dword [ecx + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4c1b50
mov eax, dword [esp + 0x54]
mov dword [ecx + 0xa8], eax
lea ecx, [esp + 0xf0]
mov eax, dword [esp + 0x5c]
cmp eax, ecx
je case.default.0x4c29c9
push eax
call fcn.004cfed0
add esp, 4
nop
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4c1c55
push eax
call fcn.004cfed0
add esp, 4
mov ebp, dword [esp + 0x174]
mov ebx, dword [ebp + 0x84]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x16c], eax
jmp 0x4c112b
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x4c115d.113
mov dword [esp + 0x14], esi
jmp 0x4c112f
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 dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop dword [eax]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4c1cd0
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c112f
add esi, 2
mov dword [esp + 0x14], esi
mov edx, esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x4c1cf3
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c112f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea ecx, [esi + 2]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
je 0x4c1d43
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jmp 0x4c112f
movzx edx, word [esi + 2]
add esi, 2
mov dword [esp + 0x14], esi
mov ebp, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x34], ebp
cmp edx, 0x80
je 0x4c1d89
cmp edx, 0x85
jne 0x4c1f6d
movzx edx, word [esi + 4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x2c], edx
lea eax, [edx + edx]
cmp eax, dword [ecx + 0x14]
jge 0x4c1f67
shl eax, 2
mov edi, esi
sub edi, dword [ecx + 0x74]
xor ebp, ebp
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x3c], eax
sar edi, 1
mov esi, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x30], esi
mov eax, dword [eax + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x24], eax
mov esi, dword [ecx + 0x94]
nop word [eax + eax]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov dword [eax + ecx*4], edx
jb 0x4c1e26
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 + 0x503b18]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c1040
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4c1ea2
mov ecx, dword [esp + 0x174]
mov ebp, 1
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x18], ebx
lea eax, [eax + edi*2]
mov dword [esp + 0x14], eax
jmp 0x4c1de0
cmp ecx, 0xfffffc20
jne 0x4c1ee1
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x4c1ed4
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x4c1ee9
cmp word [eax], 0x71
je 0x4c1ee9
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test ecx, ecx
jne 0x4c1ed4
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x94], esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
je 0x4c1df0
test ebp, ebp
jne 0x4c1f41
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x30]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x28]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], edx
cmp dword [esp + 0x34], 0
jne 0x4c1f50
test ebp, ebp
je case.default.0x4c29c9
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov edx, dword [esp + 0x20]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
nop dword [eax + eax]
cmp edx, 0x82
jb 0x4c1f92
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 + 0x503b18]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c1040
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4c200c
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 + 0x18], ebx
lea eax, [eax + esi*2]
mov dword [esp + 0x14], eax
jmp 0x4c1f80
cmp ecx, 0xfffffc20
jne 0x4c2042
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x4c1ed4
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x4c204a
cmp word [eax], 0x71
jmp 0x4c2044
test ecx, ecx
jne 0x4c1ed4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
je 0x4c1f80
test edi, edi
jne 0x4c207b
test ebp, ebp
je case.default.0x4c29c9
mov esi, dword [esp + 0x14]
mov ebp, ecx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c112f
movzx eax, word [esi + 2]
mov ebp, esi
add eax, eax
sub ebp, eax
mov eax, 0x82
movzx ecx, word [ebp]
cmp cx, ax
jae 0x4c20b4
cmp ecx, 0x7b
je 0x4c20b4
mov dword [esp + 0x2c], 0
jmp 0x4c20cd
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 + 0x2c], eax
cmp ecx, 0x77
jb 0x4c20db
cmp ecx, 0x7a
jbe 0x4c6937
cmp ecx, 0x7c
je 0x4c6937
cmp ecx, 0x7f
je 0x4c210b
mov eax, 0x84
cmp cx, ax
je 0x4c210b
mov eax, 0x80
cmp cx, ax
je 0x4c210b
mov eax, 0x85
cmp cx, ax
jne 0x4c21de
mov edi, dword [esp + 0x174]
movzx esi, word [ebp + 4]
mov eax, dword [edi + 0xa8]
lea edx, [esi + esi]
test eax, eax
je 0x4c212c
cmp dword [eax + 4], esi
je 0x4c6833
mov dword [edi + 0x94], esi
cmp edx, dword [edi + 0x14]
jl 0x4c217b
mov dword [edi + 0x40], 1
mov edx, dword [esp + 0x170]
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x72
je 0x4c215d
cmp ebx, dword [esp + 0x2c]
jne 0x4c6561
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4c68f4
mov ebp, dword [esp + 0x174]
jmp 0x4c112f
mov ecx, dword [esp + 0x170]
cmp edx, ecx
jle 0x4c21a6
mov eax, dword [edi + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x4c219f
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x174]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, esi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, ebx
sub ecx, dword [edi + 0x78]
mov eax, dword [edi + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp dword [esp + 0x170], edx
jg 0x4c213e
add edx, 2
mov dword [esp + 0x170], edx
jmp 0x4c2145
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
jmp 0x4c2149
cmp dword [ebp + 0x44], 0
je case.0x4c115d.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x4c29c9
cmp ebx, dword [ebp + 0x78]
jne case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp dword [ebp + 0x44], 0
je 0x4c2229
cmp ebx, dword [ebp + 0x78]
je case.default.0x4c29c9
mov ecx, dword [ebp + 0x78]
jmp 0x4c2234
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je 0x4c2489
cmp ebx, dword [ebp + 0x7c]
je case.default.0x4c29c9
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4c2271
cmp ebx, ecx
jbe case.default.0x4c29c9
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004ca440
add esp, 0xc
test eax, eax
je case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x4c29c9
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4c29c9
cmp esi, 1
je 0x4c2485
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4c29c9
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4c2364
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4c2324
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004ca380
add esp, 0xc
test eax, eax
je case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4c29c9
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4c29c9
cmp edx, 1
je 0x4c2489
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp dword [ebp + 0x48], 0
jne case.default.0x4c29c9
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c2489
cmp ebx, dword [ebp + 0x88]
jbe 0x4c2489
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c8470
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp dword [ebp + 0x48], 0
jne case.default.0x4c29c9
cmp dword [ebp + 0x58], 0
je case.0x4c115d.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x4c29c9
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c2489
cmp ebx, dword [ebp + 0x88]
jbe 0x4c2489
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c8470
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4c2463
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4c2425
push 1
push edi
push esi
mov ecx, ebx
call fcn.004ca380
add esp, 0xc
test eax, eax
je case.default.0x4c29c9
mov edx, dword [edi]
mov esi, dword [ebp + 0x7c]
jmp 0x4c2456
mov edx, dword [edi]
mov ecx, esi
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4c29c9
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4c29c9
cmp edx, 1
je 0x4c2456
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4c29c9
lea eax, [edx + edx]
sub esi, eax
cmp ebx, esi
jne case.default.0x4c29c9
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c2485
cmp ebx, dword [ebp + 0x88]
jbe 0x4c2485
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c8470
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x78]
je 0x4c255e
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c24ba
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
jae 0x4c24c8
mov dword [ebp + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c24f3
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 0x4c2546
cmp ecx, 0x5f
jne 0x4c250a
lea edx, [ecx - 0x5e]
jmp 0x4c2560
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c253f
cmp eax, 3
jne 0x4c255e
mov edx, 1
jmp 0x4c2560
cmp ecx, 0x100
jae 0x4c255e
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4c255e
mov edx, 1
jmp 0x4c2560
xor edx, edx
cmp ebx, dword [ebp + 0x7c]
jb 0x4c25b6
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c258b
cmp ebx, dword [ebp + 0x88]
jbe 0x4c258b
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c8470
xor ecx, ecx
movzx eax, word [esi]
xor edx, ecx
add esi, 2
mov dword [esp + 0x14], esi
cmp eax, 5
jne 0x4c25a1
xor edx, 1
test edx, edx
je 0x4c112f
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c25e1
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebp + 0x54], 0
je 0x4c263a
cmp ecx, 0x5f
jne 0x4c25f7
mov ecx, 1
jmp 0x4c258d
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c2630
cmp eax, 3
jne 0x4c258b
mov ecx, 1
jmp 0x4c258d
cmp ecx, 0x100
jae 0x4c258b
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4c258b
mov ecx, 1
jmp 0x4c258d
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x4c2686
cmp ebx, ecx
jae case.0x4c115d.13
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004ca380
add esp, 0xc
test eax, eax
jne case.default.0x4c29c9
jmp case.0x4c115d.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x4c115d.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x4c115d.13
cmp edx, 1
je case.default.0x4c29c9
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4c29c9
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x4c8440
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, eax
jae 0x4c26e4
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c26e4
add ebx, 2
mov dword [esp + 0x18], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
add ebx, 2
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c274d
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 + 0x18], ebx
cmp ecx, 0x100
jae 0x4c2489
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c27b3
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 + 0x18], ebx
cmp ecx, 0xff
ja case.default.0x4c29c9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2819
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 + 0x18], ebx
cmp ecx, 0x100
jae 0x4c2489
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c287f
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 + 0x18], ebx
cmp ecx, 0xff
ja case.default.0x4c29c9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c28e5
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 + 0x18], ebx
cmp ecx, 0x100
jae 0x4c2489
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c294b
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 + 0x18], ebx
cmp ecx, 0xff
ja case.default.0x4c29c9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c29ab
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 0x4c2a19
je case.0x4c29c9.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c29c9
jmp dword [ecx*4 + 0x4c8c20]
mov ebx, edx
mov dword [esp + 0x18], ebx
cmp edx, esi
jae 0x4c2485
cmp word [edx], 0xa
mov dword [esp + 0x18], ebx
jne 0x4c2485
mov esi, dword [esp + 0x14]
lea ebx, [edx + 2]
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov esi, dword [esp + 0x14]
mov ebx, edx
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c112f
sub ecx, 0x2028
je case.0x4c29c9.11
sub ecx, 1
jne case.default.0x4c29c9
cmp dword [ebp + 0x68], 0
mov ebx, edx
mov dword [esp + 0x18], ebx
jne case.default.0x4c29c9
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2a8b
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 + 0x18], ebx
cmp ecx, 0x2000
ja 0x4c2ae9
je case.default.0x4c29c9
cmp ecx, 0xa0
ja 0x4c2ac5
je case.default.0x4c29c9
cmp ecx, 9
je case.default.0x4c29c9
cmp ecx, 0x20
je case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ecx, 0x1680
je case.default.0x4c29c9
cmp ecx, 0x180e
je case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ecx, 0x3000
ja case.0x4c2b11.8203
je case.default.0x4c29c9
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c2b11.8203
movzx eax, byte [ecx + 0x4c8c38]
jmp dword [eax*4 + 0x4c8c30]
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2b59
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 + 0x18], ebx
cmp ecx, 0x2000
ja 0x4c2b9d
je case.0x4c2b11.8203
cmp ecx, 0xa0
ja 0x4c2b86
je case.0x4c2b11.8203
cmp ecx, 9
je case.0x4c2b11.8203
cmp ecx, 0x20
jmp 0x4c2203
cmp ecx, 0x1680
je case.0x4c2b11.8203
cmp ecx, 0x180e
jmp 0x4c2203
cmp ecx, 0x3000
ja case.default.0x4c29c9
je case.0x4c2b11.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4c29c9
movzx eax, byte [ecx + 0x4c8ca0]
jmp dword [eax*4 + 0x4c8c98]
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2c0d
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 + 0x18], ebx
cmp ecx, 0x85
ja 0x4c2c2e
je case.default.0x4c29c9
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4c2b11.8203
jmp dword [ecx*4 + 0x4c8d00]
sub ecx, 0x2028
je case.default.0x4c29c9
sub ecx, 1
je case.default.0x4c29c9
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2c90
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 + 0x18], ebx
cmp ecx, 0x85
ja 0x4c2cb1
je case.0x4c2b11.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c29c9
jmp dword [ecx*4 + 0x4c8d10]
sub ecx, 0x2028
je case.0x4c2b11.8203
sub ecx, 1
jmp 0x4c2203
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2d06
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x18], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x4c2d31
jmp dword [ecx*4 + 0x4c8d20]
cmp dword [esp + 0x20], 0xf
jmp 0x4c2e88
mov al, byte [eax*8 + 0x500839]
cmp al, 9
je 0x4c2e77
cmp al, 5
je 0x4c2e77
cmp al, 8
je 0x4c2e77
xor ecx, ecx
jmp 0x4c2e7c
movzx ecx, byte [eax*8 + 0x500839]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x503ef8]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x4c2e88
movzx eax, byte [eax*8 + 0x500839]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4c2e83
movzx eax, byte [eax*8 + 0x500838]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4c2e83
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c2e77
cmp eax, 3
je 0x4c2e77
xor ecx, ecx
jmp 0x4c2e7c
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 6
je 0x4c2e77
cmp edx, 9
je 0x4c2e77
cmp edx, 0xa
je 0x4c2e77
cmp edx, 0xc
je 0x4c2e77
cmp edx, 0xd
je 0x4c2e77
xor ecx, ecx
jmp 0x4c2e7c
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 6
je 0x4c2e77
cmp edx, 9
je 0x4c2e77
cmp edx, 0xa
je 0x4c2e77
cmp edx, 0xb
jmp 0x4c2e15
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c2e77
cmp eax, 3
je 0x4c2e77
cmp edx, 0x5f
je 0x4c2e77
xor ecx, ecx
jmp 0x4c2e7c
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x4c29c9
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x4c112f
mov edi, dword [ebp + 0x7c]
cmp ebx, edi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2edd
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 + 0x18], ebx
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 2
je case.default.0x4c29c9
cmp ebx, edi
jae case.0x4c2b11.8203
mov esi, ebx
mov dword [esp + 0x18], ebx
nop dword [eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2f55
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 + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 2
jne 0x4c2f8c
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4c2f20
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c112f
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 + 0x2c], ecx
mov dword [esp + 0x14], esi
cmp ecx, dword [esp + 0x170]
jge 0x4c2fdb
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x4c2fdb
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x4c2fe5
mov ebp, dword [ebp + 0x50]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov eax, dword [esp + 0x14]
movzx esi, word [eax]
mov edi, esi
lea eax, [edi - 0x62]
cmp eax, 7
ja case.default.0x4c3001
movzx eax, byte [eax + 0x4c8d4c]
jmp dword [eax*4 + 0x4c8d44]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + str.space]
and eax, 1
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x4f4a82]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x4c3060
mov dword [esp + 0x34], connect
jmp 0x4c3060
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 + 0x4c]
add edi, 6
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], edi
test ebp, ebp
je 0x4c1124
jns 0x4c3072
test esi, esi
je 0x4c1124
mov edi, 1
cmp esi, edi
jl 0x4c30af
nop dword [eax + eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004c0e90
add esp, 0xc
test eax, eax
js 0x4c696e
mov ecx, dword [esp + 0x2c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc edi
mov dword [esp + 0x18], ebx
cmp edi, esi
jle 0x4c3080
mov eax, dword [esp + 0x34]
cmp esi, eax
je 0x4c1124
cmp dword [esp + 0x30], 0
je 0x4c69a4
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov edi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x34]
jge case.default.0x4c29c9
push dword [esp + 0x3c]
mov edx, ebx
mov ecx, edi
push dword [esp + 0x178]
push ebp
call fcn.004c0e90
add esp, 0xc
test eax, eax
js 0x4c696e
mov edx, dword [esp + 0x14]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
inc esi
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c3105
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.004c0e90
add esp, 0xc
test eax, eax
js 0x4c6a83
lea ebx, [ebx + eax*2]
mov ebp, esi
mov dword [esp + 0x18], ebx
jmp 0x4c112b
movzx edx, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x34], ebp
mov ecx, edx
mov dword [esp + 0x14], esi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4c31c6
movzx eax, byte [eax + 0x4c8d5c]
jmp dword [eax*4 + 0x4c8d54]
movsx eax, byte [ecx + 0x4f4a82]
add esi, 2
mov edx, ecx
mov dword [esp + 0x14], esi
movsx esi, byte [ecx + str.space]
and edx, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], eax
test eax, eax
jne 0x4c3232
mov dword [esp + 0x30], connect
jmp 0x4c3232
mov ecx, dword [esp + 0x14]
xor eax, eax
movzx esi, word [esi + 2]
cmp edx, 0x69
mov edx, SysReAllocString
mov dword [esp + 0x2c], esi
sete al
mov dword [esp + 0x28], eax
movzx eax, word [ecx + 4]
test eax, eax
cmove eax, edx
add ecx, 6
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
cmp esi, 1
jl 0x4c32d4
jmp 0x4c324e
mov esi, 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x174]
mov edi, 1
mov ebp, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, ebp
jae 0x4c6c94
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c32a0
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 + 0x18], ebx
cmp edx, 0xff
jbe 0x4c32af
cmp dword [esp + 0x20], 0x6a
jmp 0x4c32c5
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x34]
test byte [edx + ecx], al
je case.default.0x4c29c9
inc edi
cmp edi, esi
jle 0x4c3260
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
cmp esi, edi
je 0x4c1124
cmp dword [esp + 0x28], 0
je 0x4c6b12
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
cmp esi, edi
jge case.default.0x4c29c9
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c6c9b
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c336e
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
cmp edx, 0xff
jbe 0x4c6ab2
cmp dword [esp + 0x20], 0x6a
je case.default.0x4c29c9
jmp 0x4c6ad1
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
movzx edx, word [esi + eax*2]
lea esi, [esi + eax*2]
mov ecx, edx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x14], esi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4c33b5
movzx eax, byte [eax + 0x4c8d6c]
jmp dword [eax*4 + 0x4c8d64]
movsx eax, byte [ecx + 0x4f4a82]
mov edx, ecx
movsx edi, byte [ecx + str.space]
add esi, 2
and edx, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], eax
test eax, eax
jne 0x4c3415
mov dword [esp + 0x34], connect
jmp 0x4c3415
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, SysReAllocString
sete al
mov dword [esp + 0x28], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], esi
cmp edi, 1
jl 0x4c34a1
jmp 0x4c342d
mov dword [esp + 0x34], 1
mov edi, 1
mov esi, 1
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c6c9b
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3488
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 + 0x18], ebx
push 1
mov edx, ebp
call fcn.004ca530
add esp, 4
test eax, eax
je case.default.0x4c29c9
inc esi
cmp esi, edi
jle 0x4c3440
mov esi, dword [esp + 0x34]
cmp edi, esi
je 0x4c1124
cmp dword [esp + 0x28], 0
je 0x4c6cae
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
cmp edi, esi
jge case.default.0x4c29c9
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c6c9b
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c353b
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.004ca530
add esp, 4
test eax, eax
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c34f3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ax, word [esi + 2]
add esi, 2
mov ecx, 0xfc00
xor edx, edx
and ax, cx
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 0x4c6df1
movzx ecx, word [esi]
dec edx
movzx eax, word [ebx]
add esi, 2
add ebx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
cmp cx, ax
jne case.default.0x4c29c9
test edx, edx
jg 0x4c35c4
jmp 0x4c112f
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
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 0x4c3630
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x4c3635
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x4c366b
mov edi, 0xff
mov ecx, eax
cmp ax, di
mov eax, dword [ebp + 0x34]
ja 0x4c3653
movzx ecx, byte [ecx + eax]
movzx eax, byte [eax + edx]
cmp eax, ecx
jne case.default.0x4c29c9
add ebx, 2
mov dword [esp + 0x18], ebx
jmp 0x4c112f
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x4c36a0
movzx eax, word [ebx]
and esi, 0x3ff
shl esi, 0xa
and eax, 0x3ff
add ebx, 2
or esi, eax
mov dword [esp + 0x18], ebx
add esi, 0x10000
lea eax, [edi + ecx]
mov dword [esp + 0x14], eax
cmp edx, esi
je 0x4c112b
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
mov eax, dword [eax*8 + 0x50083c]
add eax, edx
cmp esi, eax
jne case.default.0x4c29c9
jmp 0x4c112b
movzx edi, word [esi + 2]
lea ecx, [esi + 4]
mov ebp, edi
jmp 0x4c37a8
mov dword [esp + 0x30], 1
movzx edi, word [esi + 2]
xor ebp, ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edi
cmp ecx, 0x28
je 0x4c3715
mov dword [esp + 0x28], ebp
cmp ecx, 0x35
jne 0x4c371d
mov dword [esp + 0x28], 1
lea ecx, [esi + 4]
jmp 0x4c37b0
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], connect
jmp 0x4c37ac
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
mov ebp, 1
mov dword [esp + 0x20], connect
jmp 0x4c37ac
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], 1
jmp 0x4c37ac
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x28], ecx
and dword [esp + 0x28], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4f4ae4]
movsx ebp, byte [eax + 0x4f4aec]
test edi, edi
mov eax, SysReAllocString
cmove edi, eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
movzx esi, word [ecx]
lea edi, [ecx + 2]
mov eax, esi
mov dword [esp + 0x1c], ecx
and eax, 0xfc00
mov dword [esp + 0x14], edi
cmp eax, 0xd800
jne 0x4c3bba
movzx eax, word [edi]
and esi, 0x3ff
shl esi, 0xa
and eax, 0x3ff
or esi, eax
mov dword [esp + 0x3c], 2
add esi, 0x10000
lea eax, [ecx + 4]
mov dword [esp + 0x14], eax
cmp edx, 0x2e
jb 0x4c3839
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, esi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
mov ecx, dword [eax*8 + 0x50083c]
add ecx, esi
cmp ecx, esi
je 0x4c3839
lea edx, [esp + 0x74]
call fcn.004ca320
mov edi, eax
mov dword [esp + 0x2c], eax
jmp 0x4c383f
xor edi, edi
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x24]
mov ebp, 1
cmp esi, ebp
jl 0x4c3988
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], esi
lea eax, [ecx - 4]
mov dword [esp + 0x44], eax
jmp 0x4c3884
mov edi, dword [esp + 0x2c]
cmp ebx, eax
ja 0x4c38ef
lea esi, [edx + edx]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
sub esi, 4
jb 0x4c38b1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c38b6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c38a0
cmp esi, 0xfffffffc
je 0x4c38e3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c38eb
cmp esi, 0xfffffffd
je 0x4c38e3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c38eb
cmp esi, 0xfffffffe
je 0x4c38e3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c38eb
cmp esi, 0xffffffff
je 0x4c38e3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c38eb
add ebx, 4
jmp 0x4c396b
mov ecx, dword [esp + 0x34]
test edi, edi
jle 0x4c696e
add edi, edi
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4c696e
mov esi, dword [esp + 0x2c]
lea edx, [esp + 0x74]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x4c3927
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c392c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c3916
cmp esi, 0xfffffffc
je 0x4c3969
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c696e
cmp esi, 0xfffffffd
je 0x4c3969
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c696e
cmp esi, 0xfffffffe
je 0x4c3969
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c696e
cmp esi, 0xffffffff
je 0x4c3969
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c696e
add ebx, edi
mov esi, dword [esp + 0x24]
inc ebp
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], ebx
cmp ebp, esi
jle 0x4c3880
mov edi, dword [esp + 0x20]
cmp esi, edi
je 0x4c1124
cmp dword [esp + 0x28], 0
jne 0x4c6e0c
mov ebp, ebx
mov dword [esp + 0x28], ebp
cmp esi, edi
jge 0x4c3adc
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x7c]
mov ebp, eax
lea edi, [ecx + ecx]
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], edi
sub ebp, edi
nop word [eax + eax]
cmp ebx, ebp
ja 0x4c3a34
mov edx, dword [esp + 0x1c]
lea esi, [ecx + ecx]
mov ecx, ebx
sub esi, 4
jb 0x4c39f7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c39fc
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c39e6
cmp esi, 0xfffffffc
je 0x4c3a29
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c3a30
cmp esi, 0xfffffffd
je 0x4c3a29
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c3a30
cmp esi, 0xfffffffe
je 0x4c3a29
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c3a30
cmp esi, 0xffffffff
je 0x4c3a29
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c3a30
add ebx, edi
jmp 0x4c3ab9
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4c3b83
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x4c3b83
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4c3a71
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c3a76
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c3a60
cmp esi, 0xfffffffc
je 0x4c3ab3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c3b83
cmp esi, 0xfffffffd
je 0x4c3ab3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c3b83
cmp esi, 0xfffffffe
je 0x4c3ab3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c3b83
cmp esi, 0xffffffff
je 0x4c3ab3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c3b83
add ebx, edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
inc esi
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], esi
cmp esi, dword [esp + 0x20]
jl 0x4c39d0
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4c1124
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
cmp ebx, ebp
je case.default.0x4c29c9
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c3b49
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.004c1040
add esp, 0x14
test eax, eax
je 0x4c3b25
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 0x4c3bb1
cmp ebx, dword [esi + 0x7c]
jb 0x4c3bb1
cmp ebx, dword [esi + 0x88]
jbe 0x4c3bb1
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c8470
mov ebp, dword [esp + 0x28]
jmp 0x4c3ae3
cmp edx, 0x2e
jb 0x4c3d1d
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x4c3bf8
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
mov edi, dword [eax*8 + 0x50083c]
add edi, esi
jmp 0x4c3bff
mov eax, dword [edx + 0x38]
movzx edi, byte [eax + esi]
mov ecx, 1
cmp ebp, ecx
jl 0x4c3c3b
mov edx, dword [edx + 0x7c]
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x4c6c94
movzx eax, word [ebx]
cmp esi, eax
je 0x4c3c2f
cmp edi, eax
jne case.default.0x4c29c9
add ebx, 2
inc ecx
mov dword [esp + 0x18], ebx
cmp ecx, ebp
jle 0x4c3c10
mov eax, dword [esp + 0x20]
cmp ebp, eax
je 0x4c1124
cmp dword [esp + 0x28], 0
jne 0x4c6fe9
mov edx, dword [esp + 0x24]
mov ebp, ebx
cmp edx, eax
jge 0x4c3c87
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c3cef
movzx eax, word [ebx]
cmp esi, eax
je 0x4c3c79
cmp edi, eax
jne 0x4c3c87
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, dword [esp + 0x20]
jl 0x4c3c66
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4c1124
cmp ebx, ebp
jb case.default.0x4c29c9
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.004c1040
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4c66c4
mov ecx, dword [esp + 0x174]
cmp ebx, ebp
jae 0x4c3ca1
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 0x4c3c8e
cmp ebx, dword [ecx + 0x88]
jbe 0x4c3c8e
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c8470
jmp 0x4c3c8e
mov edi, dword [esp + 0x174]
mov ecx, 1
cmp ebp, ecx
jl 0x4c3d4f
mov edx, dword [edi + 0x7c]
cmp ebx, edx
jae 0x4c708d
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp esi, eax
jne case.default.0x4c29c9
inc ecx
cmp ecx, ebp
jle 0x4c3d30
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x4c1124
cmp dword [esp + 0x28], 0
jne 0x4c70b3
mov edi, ebx
cmp ebp, edx
jge 0x4c3d91
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c3df7
movzx eax, word [ebx]
cmp esi, eax
jne 0x4c3d91
add ebx, 2
inc ebp
mov dword [esp + 0x18], ebx
cmp ebp, edx
jl 0x4c3d76
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4c112b
cmp ebx, edi
jb case.default.0x4c29c9
nop dword [eax + 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.004c1040
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4c66c4
cmp ebx, edi
jae 0x4c3db0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c3d98
cmp ebx, dword [ebp + 0x88]
jbe 0x4c3d98
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c8470
jmp 0x4c3d98
cmp ebx, dword [ebp + 0x7c]
jae 0x4c8440
movzx edx, word [ebx]
lea ecx, [esi + 2]
mov eax, edx
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x4c3e69
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add ebx, 2
or edx, eax
mov dword [esp + 0x18], ebx
add edx, 0x10000
movzx esi, word [ecx]
lea eax, [ecx + 2]
mov dword [esp + 0x14], eax
cmp edi, 0x20
jne 0x4c3ec6
cmp esi, 0x7f
jbe 0x4c3eaa
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
mov eax, dword [eax*8 + 0x50083c]
add eax, esi
jmp 0x4c3eb1
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + esi]
cmp esi, edx
je case.default.0x4c29c9
cmp eax, edx
je case.default.0x4c29c9
jmp 0x4c112b
mov dword [esp + 0x14], eax
cmp esi, edx
je case.default.0x4c29c9
jmp 0x4c112b
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x20], eax
mov edi, eax
jmp 0x4c3fa7
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x20], eax
cmp ecx, 0x42
je 0x4c3f01
mov dword [esp + 0x28], edi
cmp ecx, 0x4f
jne 0x4c3f09
mov dword [esp + 0x28], 1
lea ecx, [esi + 4]
jmp 0x4c3fa7
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x4c3f9f
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x4c3f9f
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x4c3fa7
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x30], 1
xor edi, edi
mov dword [esp + 0x20], eax
jmp 0x4c3fa7
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x28], ecx
and dword [esp + 0x28], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4f4aec]
movsx eax, byte [eax + 0x4f4ae4]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4c3fa7
mov dword [esp + 0x20], connect
movzx ebp, word [ecx]
add ecx, 2
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x14], ecx
cmp edx, 0x48
jb 0x4c4150
cmp ebp, 0x7f
jbe 0x4c3ff9
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x50083c]
add ebp, dword [esp + 0x2c]
jmp 0x4c4007
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x34], ebp
cmp edi, 1
jl 0x4c4077
mov esi, dword [ecx + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c6c94
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4060
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 + 0x18], ebx
cmp dword [esp + 0x2c], ecx
je case.default.0x4c29c9
cmp ebp, ecx
je case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4020
mov esi, dword [esp + 0x20]
cmp edi, esi
je 0x4c1124
cmp dword [esp + 0x28], 0
jne 0x4c71e3
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, esi
jge 0x4c4100
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4c411b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c40df
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 + 0x2c], ecx
je 0x4c40f9
cmp dword [esp + 0x34], ecx
je 0x4c40f9
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x4c40a2
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x14]
je 0x4c714a
mov ebp, dword [esp + 0x174]
jmp 0x4c112f
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c4100
cmp ebx, dword [ecx + 0x88]
jbe 0x4c4100
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c8470
jmp 0x4c4100
mov edx, 1
cmp edi, edx
jl 0x4c41b8
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4c6c94
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c41a7
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 + 0x18], ebx
cmp ebp, ecx
je case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4167
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
cmp edi, esi
je 0x4c1124
cmp dword [esp + 0x28], 0
jne 0x4c737f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, esi
jge 0x4c423b
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4c4256
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4220
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 + 0x2c], ecx
je 0x4c4234
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x4c41e3
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x14]
je 0x4c72e5
mov ebp, dword [esp + 0x174]
jmp 0x4c112f
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c423b
cmp ebx, dword [ecx + 0x88]
jbe 0x4c423b
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c8470
jmp 0x4c423b
movzx eax, word [esi + 2]
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
lea eax, [esi + 4]
mov dword [esp + 0x28], 1
jmp 0x4c435b
movzx eax, word [esi + 2]
xor edx, edx
xor edi, edi
mov dword [esp + 0x24], eax
cmp ecx, 0x5c
mov dword [esp + 0x20], edi
lea eax, [esi + 4]
sete dl
mov dword [esp + 0x28], edx
jmp 0x4c435b
xor edi, edi
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
jmp 0x4c4353
mov edi, 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
jmp 0x4c4353
xor edi, edi
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
mov dword [esp + 0x24], 1
jmp 0x4c435b
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x24], eax
lea eax, [esi + 4]
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
jmp 0x4c435b
movsx edi, byte [edx + 0x4f4a97]
lea ecx, [edx - 1]
and ecx, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], ecx
lea eax, [esi + 2]
movsx ecx, byte [edx + 0x4f4a8f]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4c435b
mov dword [esp + 0x24], connect
movzx esi, word [eax]
lea edx, [eax + 2]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], edx
cmp esi, 0x10
je 0x4c437c
cmp esi, 0xf
je 0x4c437c
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x4c43a2
movzx ecx, word [edx]
xor eax, eax
cmp esi, 0xf
mov dword [esp + 0x2c], ecx
sete al
mov dword [esp + 0x38], eax
lea eax, [edx + 2]
movzx edx, word [eax]
add eax, 2
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x40], edx
test edi, edi
jle 0x4c5050
test eax, eax
js 0x4c4908
cmp eax, 8
ja case.default.0x4c2d31
jmp dword [eax*4 + 0x4c8d74]
cmp dword [esp + 0x38], 0
jne case.default.0x4c29c9
mov esi, dword [ebp + 0x7c]
mov edx, 1
mov ecx, ebx
cmp ebx, esi
jae 0x4c8440
mov ax, word [ebx]
mov ebx, 0xfc00
and ax, bx
xor ebx, ebx
cmp ax, word [esp + 0x50]
sete bl
inc edx
lea ebx, [ebx*2 + 2]
add ebx, ecx
cmp edx, edi
jle 0x4c43d5
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c444b
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
mov al, byte [eax*8 + 0x500839]
cmp al, 9
je 0x4c447e
cmp al, 5
je 0x4c447e
cmp al, 8
je 0x4c447e
xor eax, eax
jmp 0x4c4483
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4413
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c44db
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov ebp, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], ebp
mov ebp, dword [esp + 0x174]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c44a3
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop word [eax + eax]
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4578
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
mov ebp, dword [esp + 0x174]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4540
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4608
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
mov ebp, dword [esp + 0x174]
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500838]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c45d0
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4698
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c46d1
cmp eax, 3
je 0x4c46d1
xor eax, eax
jmp 0x4c46d6
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4660
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
nop
cmp ebx, edi
jae 0x4c6c94
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4738
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 6
je 0x4c4780
cmp edx, 9
je 0x4c4780
cmp edx, 0xa
je 0x4c4780
cmp edx, 0xc
je 0x4c4780
cmp edx, 0xd
je 0x4c4780
xor eax, eax
jmp 0x4c4785
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
inc esi
cmp esi, ebp
jle 0x4c4700
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4c6c94
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c47e9
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 + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 6
je 0x4c4836
cmp edx, 9
je 0x4c4836
cmp edx, 0xa
je 0x4c4836
cmp edx, 0xb
je 0x4c4836
cmp edx, 0xc
je 0x4c4836
cmp edx, 0xd
je 0x4c4836
xor eax, eax
jmp 0x4c483b
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
inc esi
cmp esi, ebp
jle 0x4c47b1
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4c6c94
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c48a7
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x18], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c48e7
cmp eax, 3
je 0x4c48e7
cmp edx, 0x5f
je 0x4c48e7
xor eax, eax
jmp 0x4c48ec
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
inc esi
cmp esi, ebp
jle 0x4c4867
mov edi, dword [esp + 0x20]
jmp 0x4c5044
cmp esi, 0x16
jne 0x4c4a23
lea ebp, [esi - 0x15]
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4962
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 2
je case.default.0x4c29c9
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x4c4a11
mov edi, ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c49d6
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 + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 2
jne 0x4c4a0d
lea ebx, [edi + edx*2]
mov edi, ebx
cmp ebx, esi
jb 0x4c49a1
mov edi, dword [esp + 0x20]
inc ebp
cmp ebp, edi
jle 0x4c4920
mov dword [esp + 0x18], ebx
jmp 0x4c5044
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4c2d31
jmp dword [eax*4 + 0x4c8d98]
mov ecx, dword [ebp + 0x7c]
mov esi, 1
nop
cmp ebx, ecx
jae 0x4c8440
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x4c4a6a
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004ca380
add esp, 0xc
test eax, eax
jne case.default.0x4c29c9
jmp 0x4c4a95
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c4a95
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x4c4a95
cmp edx, 1
je case.default.0x4c29c9
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4c29c9
mov ecx, dword [ebp + 0x7c]
add ebx, 2
cmp ebx, ecx
jae 0x4c4ab7
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4c4ab7
add ebx, 2
inc esi
cmp esi, edi
jle 0x4c4a40
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov edx, dword [ebp + 0x7c]
mov ecx, 1
nop dword [eax]
cmp ebx, edx
jae 0x4c8440
add ebx, 2
cmp ebx, edx
jae 0x4c4af1
mov ax, word [ebx]
and ax, word [esp + 0x68]
cmp ax, word [esp + 0x48]
jne 0x4c4af1
add ebx, 2
inc ecx
cmp ecx, edi
jle 0x4c4ad0
mov dword [esp + 0x18], ebx
jmp 0x4c5050
mov eax, dword [ebp + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp ebx, eax
ja case.default.0x4c29c9
add ebx, ecx
mov dword [esp + 0x18], ebx
jmp 0x4c5050
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4c6c94
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4b5e
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 0x4c4ba3
je case.0x4c4b7c.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c29c9
jmp dword [ecx*4 + 0x4c8dd8]
mov ebx, edx
cmp edx, edi
jae 0x4c4bc7
cmp word [edx], 0xa
jne 0x4c4bc7
lea ebx, [edx + 2]
jmp 0x4c4bc7
mov ebx, edx
jmp 0x4c4bc7
sub ecx, 0x2028
je case.0x4c4b7c.11
sub ecx, 1
jne case.default.0x4c29c9
mov eax, dword [esp + 0x174]
mov ebx, edx
cmp dword [eax + 0x68], 0
jne case.default.0x4c29c9
inc esi
cmp esi, ebp
jle 0x4c4b26
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4c1d
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 0x4c4c77
je case.default.0x4c29c9
cmp ecx, 0xa0
ja 0x4c4c5d
je case.default.0x4c29c9
cmp ecx, 9
je case.default.0x4c29c9
cmp ecx, 0x20
je case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4be5
mov dword [esp + 0x18], ebx
jmp 0x4c5044
cmp ecx, 0x1680
je case.default.0x4c29c9
cmp ecx, 0x180e
je case.default.0x4c29c9
jmp case.0x4c4c97.8203
cmp ecx, 0x3000
ja case.0x4c4c97.8203
je case.default.0x4c29c9
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c4c97.8203
movzx eax, byte [ecx + 0x4c8df0]
jmp dword [eax*4 + 0x4c8de8]
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4cde
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 0x4c4d28
je case.0x4c4d4c.8193
cmp ecx, 0xa0
ja 0x4c4d12
je case.0x4c4d4c.8193
cmp ecx, 9
je case.0x4c4d4c.8193
cmp ecx, 0x20
jne case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4ca6
mov dword [esp + 0x18], ebx
jmp 0x4c5044
cmp ecx, 0x1680
je case.0x4c4d4c.8193
cmp ecx, 0x180e
jne case.default.0x4c29c9
jmp case.0x4c4d4c.8193
cmp ecx, 0x3000
ja case.default.0x4c29c9
je case.0x4c4d4c.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4c29c9
movzx eax, byte [ecx + 0x4c8e58]
jmp dword [eax*4 + 0x4c8e50]
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax + eax]
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4d9c
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 0x4c4db9
je case.default.0x4c29c9
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c4db2
jmp dword [ecx*4 + 0x4c8eb8]
sub ecx, 0x2028
je case.default.0x4c29c9
sub ecx, 1
je case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4d60
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4e20
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 0x4c4e41
je case.0x4c4e3a.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c29c9
jmp dword [ecx*4 + 0x4c8ec8]
sub ecx, 0x2028
je case.0x4c4e3a.10
sub ecx, 1
jne case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4de4
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4ea4
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 0x4c4eb9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4c29c9
inc edx
cmp edx, edi
jle 0x4c4e68
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4c8440
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4c29c9
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4c29c9
inc edx
add ebx, 2
cmp edx, edi
jle 0x4c4ed0
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c8440
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4c4f35
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4c29c9
add ebx, 2
cmp ebx, esi
jae 0x4c4f58
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c4f58
add ebx, 2
inc edx
cmp edx, edi
jle 0x4c4f11
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4c8440
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4c29c9
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4c29c9
inc edx
add ebx, 2
cmp edx, edi
jle 0x4c4f70
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c8440
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4c4fd5
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4c29c9
add ebx, 2
cmp ebx, esi
jae 0x4c4ff8
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c4ff8
add ebx, 2
inc edx
cmp edx, edi
jle 0x4c4fb1
mov dword [esp + 0x18], ebx
jmp 0x4c5044
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4c8440
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4c29c9
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4c29c9
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x4c5010
mov esi, dword [esp + 0x1c]
nop dword [eax + eax]
mov edx, dword [esp + 0x24]
cmp edi, edx
je 0x4c1124
cmp dword [esp + 0x28], 0
mov eax, dword [esp + 0x2c]
jne 0x4c753d
mov ebp, ebx
mov dword [esp + 0x28], ebp
test eax, eax
js 0x4c5762
cmp eax, 8
ja case.default.0x4c2d31
jmp dword [eax*4 + 0x4c8ed8]
mov ecx, dword [esp + 0x174]
cmp edi, edx
jge 0x4c5747
mov edx, dword [ecx + 0x7c]
mov esi, 0xd800
cmp ebx, edx
jae 0x4c50df
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x38], 0
movzx ecx, ax
jne 0x4c5740
xor eax, eax
cmp cx, si
sete al
inc edi
lea ebx, [ebx + eax*2]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c50a0
jmp 0x4c5740
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c5747
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5747
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c8470
jmp 0x4c5747
cmp edi, edx
jge 0x4c5740
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c50df
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5164
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 + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
mov al, byte [eax*8 + 0x500839]
cmp al, 9
je 0x4c51a2
cmp al, 5
je 0x4c51a2
cmp al, 8
je 0x4c51a2
xor eax, eax
jmp 0x4c51a7
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c5740
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5127
jmp 0x4c5740
cmp edi, edx
jge 0x4c5740
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x4c50df
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5221
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov ebp, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], ebp
mov ebp, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4c5740
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c51e0
jmp 0x4c5740
cmp edi, edx
jge 0x4c5740
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4c50df
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c52d1
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 + 0x501918]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4c5740
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5290
jmp 0x4c5740
cmp edi, edx
jge 0x4c5740
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c50df
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5372
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 + 0x501918]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500838]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4c5740
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5331
jmp 0x4c5740
cmp edi, edx
jge 0x4c5740
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c50df
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5413
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 + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c5457
cmp eax, 3
je 0x4c5457
xor eax, eax
jmp 0x4c545c
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c5740
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c53d2
jmp 0x4c5740
cmp edi, edx
jge 0x4c5740
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop
mov esi, 1
cmp ebx, edi
jae 0x4c555e
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c54d1
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 + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 6
je 0x4c5530
cmp edx, 9
je 0x4c5530
cmp edx, 0xa
je 0x4c5530
cmp edx, 0xc
je 0x4c5530
cmp edx, 0xd
je 0x4c5530
xor eax, eax
jmp 0x4c5535
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c5740
mov eax, dword [esp + 0x20]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x4c5490
jmp 0x4c5740
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c5747
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5747
mov dword [ecx + 0x64], esi
cmp eax, 1
jg 0x4c8470
jmp 0x4c5747
cmp edi, edx
jge 0x4c5740
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
mov esi, 1
cmp ebx, edi
jae 0x4c555e
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c55df
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 + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 6
je 0x4c5647
cmp edx, 9
je 0x4c5647
cmp edx, 0xa
je 0x4c5647
cmp edx, 0xb
je 0x4c5647
cmp edx, 0xc
je 0x4c5647
cmp edx, 0xd
je 0x4c5647
xor eax, eax
jmp 0x4c564c
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c5740
mov eax, dword [esp + 0x20]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x4c55a2
jmp 0x4c5740
cmp edi, edx
jge 0x4c5740
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp ebx, edi
jae 0x4c50df
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c56c8
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 + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c5717
cmp eax, 3
je 0x4c5717
cmp edx, 0x5f
je 0x4c5717
xor eax, eax
jmp 0x4c571c
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c5740
mov eax, dword [esp + 0x20]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x4c5687
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x14]
je 0x4c7460
mov ebp, dword [esp + 0x174]
jmp 0x4c112f
cmp esi, 0x16
jne 0x4c59b9
cmp edi, edx
mov edi, dword [esp + 0x174]
jge 0x4c58d5
mov ebp, dword [edi + 0x7c]
nop dword [eax]
cmp ebx, ebp
jae 0x4c58a7
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c57c1
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 + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 2
je 0x4c58d1
mov edi, dword [edi + 0x7c]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp ebx, edi
jae 0x4c5888
mov esi, ebx
nop word [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5849
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 + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 2
jne 0x4c5884
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4c5810
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x174]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x4c5780
jmp 0x4c58d1
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x4c58d1
cmp ebx, dword [edi + 0x88]
jbe 0x4c58d1
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x4c8470
mov ebp, dword [esp + 0x28]
cmp dword [esp + 0x30], 0
jne 0x4c1124
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c29c9
mov ebp, 0xdc00
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and ecx, 0xfc00
movzx edi, cx
cmp cx, bp
jne 0x4c5947
movzx eax, word [edx - 2]
lea ebx, [edx - 2]
cmp di, bp
movzx ecx, ax
lea esi, [edx - 2]
mov eax, ecx
cmovne esi, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c597f
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 + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 2
jne 0x4c74f3
lea ebx, [esi - 2]
jmp 0x4c5927
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4c2d31
jmp dword [eax*4 + 0x4c8efc]
cmp edx, 0x7fffffff
jge 0x4c5ad1
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x4c5aab
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4c5a21
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004ca380
add esp, 0xc
test eax, eax
jne 0x4c5e54
jmp 0x4c5a5b
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c5a5b
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4c5a5b
cmp edx, 1
je 0x4c5e54
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4c5e54
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c5a9b
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4c5a9b
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4c59f0
jmp 0x4c5e54
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x4c5e54
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5e54
jmp 0x4c5c24
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop dword [eax + eax]
cmp ebx, ecx
jae 0x4c5aab
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4c5b0d
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004ca380
add esp, 0xc
test eax, eax
jne 0x4c5e54
jmp 0x4c5b47
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c5b47
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4c5b47
cmp edx, 1
je 0x4c5e54
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4c5e54
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c5b87
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4c5b87
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4c5ae0
jmp 0x4c5e54
cmp edx, 0x7fffffff
jge 0x4c5bfc
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c5bf0
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, ecx
jae 0x4c5be6
mov ax, word [ebx]
and ax, word [esp + 0x68]
cmp ax, word [esp + 0x48]
jne 0x4c5be6
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, edx
jl 0x4c5bb5
jmp 0x4c5e54
mov ecx, dword [esp + 0x174]
jmp 0x4c5c0a
mov ecx, dword [esp + 0x174]
mov ebx, dword [ecx + 0x7c]
mov dword [esp + 0x18], ebx
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c5e5b
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5e5b
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c8470
jmp 0x4c5e5b
sub edx, edi
mov edi, dword [esp + 0x174]
mov ecx, dword [edi + 0x7c]
mov eax, ecx
sub eax, ebx
sar eax, 1
cmp edx, eax
jbe 0x4c5c71
mov eax, dword [edi + 0x8c]
mov ebx, ecx
mov dword [esp + 0x18], ebx
test eax, eax
je 0x4c5c78
cmp ecx, dword [edi + 0x88]
mov ecx, edi
jmp 0x4c5c1e
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
mov ecx, edi
jmp 0x4c5e5b
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x4c5d6b
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5cd2
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x4c5cd7
mov eax, 2
cmp ecx, 0xd
jne 0x4c5d01
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, edx
jae 0x4c5e54
cmp word [ebx], 0xa
jne 0x4c5d5b
add ebx, 2
jmp 0x4c5d57
cmp ecx, 0xa
je 0x4c5d55
mov ebp, dword [esp + 0x174]
cmp dword [ebp + 0x68], 0
mov ebp, dword [esp + 0x28]
jne 0x4c5e54
cmp ecx, 0xb
je 0x4c5d55
cmp ecx, 0xc
je 0x4c5d55
cmp ecx, 0x85
je 0x4c5d55
cmp ecx, 0x2028
je 0x4c5d55
cmp ecx, 0x2029
jne 0x4c5e54
add ebx, eax
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4c5c91
jmp 0x4c5e54
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c5e5b
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5e5b
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c8470
jmp 0x4c5e5b
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c5f83
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5df4
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 0x4c5f4a
je case.0x4c5f72.8193
cmp ecx, 0xa0
ja 0x4c5f33
je case.0x4c5f72.8193
cmp ecx, 9
je case.0x4c5f72.8193
cmp ecx, 0x20
je case.0x4c5f72.8193
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x1c], 0x12
sete al
cmp ecx, eax
je 0x4c5e50
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5db3
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4c1124
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop dword [eax]
lea ecx, [ebx - 2]
cmp ebx, ebp
je case.default.0x4c29c9
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4c5ec7
add ecx, 0xfffffffe
mov ebx, ecx
cmp esi, 0x11
jne 0x4c5eef
cmp ecx, ebp
jbe 0x4c5eef
cmp word [ecx], 0xa
jne 0x4c5eef
cmp word [ecx - 2], 0xd
lea eax, [ecx - 2]
cmove ebx, eax
mov eax, dword [esp + 0x17c]
mov edx, edi
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.004c1040
add esp, 0x14
test eax, eax
je 0x4c5ea0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x1680
je case.0x4c5f72.8193
cmp ecx, 0x180e
jmp 0x4c5e24
cmp ecx, 0x3000
ja case.0x4c5f72.8203
je case.0x4c5f72.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c5f72.8203
movzx eax, byte [ecx + 0x4c8f44]
jmp dword [eax*4 + 0x4c8f3c]
mov ecx, 1
jmp 0x4c5e2c
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c5fb0
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5fb0
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x4c8470
mov esi, dword [esp + 0x1c]
jmp 0x4c5e5b
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x4c6080
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6011
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 0x4c6036
je case.0x4c602f.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c602f
jmp dword [ecx*4 + 0x4c8fa4]
sub ecx, 0x2028
je case.0x4c602f.10
sub ecx, 1
je case.0x4c602f.10
xor ecx, ecx
jmp 0x4c6057
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x1c], 0x14
sete al
cmp ecx, eax
je 0x4c5e50
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5fd0
jmp 0x4c5e50
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c5fb0
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5fb0
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c8470
mov esi, dword [esp + 0x1c]
jmp 0x4c5e5b
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4c6080
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c610d
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 0x4c612d
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x4c5e50
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c60d0
jmp 0x4c5e50
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c6080
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6193
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 0x4c5e50
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x4c5e50
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6152
jmp 0x4c5e50
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c6080
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6219
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 0x4c6239
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x4c5e50
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c61d8
jmp 0x4c5e50
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop
cmp ebx, esi
jae 0x4c6080
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c62a1
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 0x4c5e50
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x4c5e50
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6260
jmp 0x4c5e50
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c6080
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6327
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 0x4c6347
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x4c5e50
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c62e6
jmp 0x4c5e50
cmp edi, edx
jge 0x4c5e54
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4c63e4
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c63b1
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 0x4c5e50
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x4c5e50
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6370
jmp 0x4c5e50
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c5fb0
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5fb0
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x4c5fb0
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x74
mov ecx, ebx
jne 0x4c6470
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4c66ab
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x4c66ab
mov eax, dword [ebp + 0x90]
mov edx, dword [esp + 0x170]
cmp eax, edx
cmovg edx, eax
movzx eax, word [esi + 6]
add eax, 2
mov dword [esp + 0x170], edx
lea eax, [esi + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
jne 0x4c6512
nop dword [eax]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
je 0x4c64f0
jmp 0x4c6512
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
cmp dword [esp + 0x20], 0x86
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jne 0x4c66af
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.004c1040
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x75
je 0x4c68d8
cmp ecx, 0x74
jne 0x4c65ca
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push edx
push dword [esp + 0x17c]
lea edx, [esi + 4]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x4c6896
mov ecx, 0x82
cmp ax, cx
jae 0x4c6856
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4c66ab
mov eax, 0x82
cmp word [ebp], ax
jb 0x4c65e3
mov dword [edi + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push edx
push dword [esp + 0x17c]
mov edx, ebp
call fcn.004c1040
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4c661b
cmp dword [edi + 0xb8], ebp
jmp 0x4c661d
test eax, eax
jne 0x4c66c4
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4c68d4
mov ebp, dword [esp + 0x174]
jmp 0x4c66af
movzx edx, word [esi + 4]
mov esi, dword [esp + 0x174]
mov dword [esp + 0x2c], edx
lea ebp, [edx + edx]
cmp ebp, dword [esi + 0x14]
jl 0x4c8480
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
nop dword [eax + eax]
cmp edx, 0x82
jae 0x4c66cf
cmp edx, 0x7b
je 0x4c66cf
cmp dword [ebp + 0x6c], 0
jne 0x4c66d9
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x4c66d9
movzx eax, word [esi]
movzx eax, byte [eax + 0x503b18]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x4c10e1
inc eax
mov dword [ebp], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [ebp + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
mov esi, dword [ebp + 0xb0]
push eax
push dword [esp + 0x17c]
movzx eax, word [edi]
push ebp
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x503b18]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.004c1040
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x4c6753
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebp + 0x80], eax
jae 0x4c8642
cmp word [edi], 0x71
je 0x4c675b
cmp word [eax], 0x71
jne 0x4c8642
jmp 0x4c675b
test edx, edx
jne 0x4c85f7
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.0x4c29c9
mov edx, dword [esp + 0x20]
jmp 0x4c6670
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi + 2]
add ecx, eax
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c67d1
cmp eax, 0xfffffc1d
je 0x4c67d1
cmp eax, 0xfffffc20
jne 0x4c66c4
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 + 0x5c]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4c6816
push eax
call fcn.004cfed0
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 [edi + 0x84], ebx
mov dword [edi + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [edi + 0x9c], 2
mov edx, ebp
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, ebp
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c6921
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, esi
jmp 0x4c6898
mov dword [edi + 0x84], ebx
mov eax, 0xfffffc1b
mov dword [edi + 0x90], edx
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 edi
push edx
push dword [esp + 0x17c]
mov edx, esi
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov dword [edi + 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 + 0x170]
mov dword [eax + 0x84], ebx
mov dword [eax + 0x90], ecx
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0x80], ecx
mov eax, 1
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.0x4c29c9
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x4c29c9
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x4c29c9
mov dword [ecx + 0x64], 1
jmp 0x4c8461
mov edi, ebx
cmp esi, eax
jge 0x4c6a30
nop
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004c0e90
add esp, 0xc
test eax, eax
js 0x4c69e2
mov ecx, dword [esp + 0x2c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, dword [esp + 0x34]
jl 0x4c69b0
jmp 0x4c6a1c
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6a1c
cmp ebx, dword [ecx + 0x7c]
jb 0x4c6a1c
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6a1c
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c8470
cmp ebx, edi
jb case.default.0x4c29c9
nop dword [eax]
nop dword [eax + eax]
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x4c6a30
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.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jb case.default.0x4c29c9
cmp ebx, dword [esi + 0x88]
jbe case.default.0x4c29c9
mov dword [esi + 0x64], 1
jmp 0x4c8461
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x4c29c9
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
inc esi
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.004c1040
add esp, 0x14
test eax, eax
je 0x4c3326
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp esi, edi
jge 0x4c6b88
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x30]
mov edi, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, edi
jae 0x4c6c5e
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6b71
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 0x4c6c25
cmp dword [esp + 0x20], 0x6a
jne 0x4c6c45
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c29c9
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c6beb
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.004c1040
add esp, 0x14
test eax, eax
je 0x4c6bc6
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 + 0x34]
test byte [edx + ecx], al
je 0x4c6b88
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, ecx
jl 0x4c6b30
jmp 0x4c6b88
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4c6b8f
cmp ebx, dword [esi + 0x88]
jbe 0x4c6b8f
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c8470
jmp 0x4c6b8f
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x4c29c9
jmp 0x4c698c
mov ebp, ebx
cmp edi, esi
jge 0x4c6d25
nop dword [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x4c6dc2
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6d09
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.004ca530
add esp, 4
test eax, eax
je 0x4c6d25
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x34]
jl 0x4c6cc0
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c29c9
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c6d88
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.004c1040
add esp, 0x14
test eax, eax
je 0x4c6d63
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4c6d2c
cmp ebx, dword [esi + 0x88]
jbe 0x4c6d2c
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c8470
jmp 0x4c6d2c
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x4c29c9
cmp ebx, ecx
jb case.default.0x4c29c9
jmp 0x4c844e
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
cmp esi, edi
jge case.default.0x4c29c9
mov ecx, dword [esp + 0x3c]
mov ebp, dword [ebp + 0x7c]
mov eax, ebp
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x4c6ee7
mov edx, dword [esp + 0x1c]
lea esi, [ecx + ecx]
mov ecx, ebx
sub esi, 4
jb 0x4c6e95
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c6e9e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c6e80
cmp esi, 0xfffffffc
je 0x4c6f77
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c6ee7
cmp esi, 0xfffffffd
je 0x4c6f77
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c6ee7
cmp esi, 0xfffffffe
je 0x4c6f77
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c6ee7
cmp esi, 0xffffffff
je 0x4c6f77
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4c6f77
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4c6fcd
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x4c6fcd
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4c6f29
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c6f32
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c6f14
cmp esi, 0xfffffffc
je 0x4c6f77
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c6fcd
cmp esi, 0xfffffffd
je 0x4c6f77
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c6fcd
cmp esi, 0xfffffffe
je 0x4c6f77
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c6fcd
cmp esi, 0xffffffff
je 0x4c6f77
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c6fcd
mov eax, dword [esp + 0x17c]
add ebx, edi
mov ebp, dword [esp + 0x174]
inc eax
mov esi, dword [esp + 0x24]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc esi
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x2c], esi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
mov edi, dword [esp + 0x34]
add esp, 0x14
test eax, eax
je 0x4c6e48
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.0x4c29c9
cmp ebx, ebp
jmp 0x4c6986
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
cmp ebp, dword [esp + 0x20]
jge case.default.0x4c29c9
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c6c9b
movzx eax, word [ebx]
cmp esi, eax
je 0x4c704d
cmp edi, eax
jne case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
add ebx, 2
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7024
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x4c29c9
cmp ebx, dword [edi + 0x88]
jbe case.default.0x4c29c9
mov dword [edi + 0x64], 1
jmp 0x4c8461
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop dword [eax + eax]
cmp ebp, dword [esp + 0x20]
jge case.default.0x4c29c9
cmp ebx, dword [edi + 0x7c]
jae 0x4c708d
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c70f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
mov edi, dword [esp + 0x170]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c29c9
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c71a9
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.004c1040
add esp, 0x14
test eax, eax
je 0x4c7180
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop
cmp edi, esi
jge case.default.0x4c29c9
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4c72bf
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c726c
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp dword [esp + 0x2c], ecx
je case.default.0x4c29c9
cmp ebp, ecx
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
inc edi
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7220
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x4c29c9
cmp ebx, dword [edx + 0x88]
jbe case.default.0x4c29c9
mov dword [edx + 0x64], 1
jmp 0x4c8461
mov eax, dword [esp + 0x17c]
mov edx, esi
mov edi, dword [esp + 0x170]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c29c9
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c7345
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.004c1040
add esp, 0x14
test eax, eax
je 0x4c7320
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.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
cmp edi, esi
jge case.default.0x4c29c9
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4c72bf
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7404
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ebp, ecx
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
inc edi
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c73b8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x4c29c9
jmp 0x4c6a9a
mov eax, dword [esp + 0x17c]
mov edx, esi
mov edi, dword [esp + 0x170]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c29c9
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c74b9
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.004c1040
add esp, 0x14
test eax, eax
je 0x4c7494
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.004c1040
mov ebp, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
je 0x4c5915
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x4c7ed4
cmp eax, 8
ja case.default.0x4c2d31
jmp dword [eax*4 + 0x4c8fb4]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
mov ecx, ebx
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c75bd
lea ebx, [ecx + 4]
cmp dword [esp + 0x38], 0
jne case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7593
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7688
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
mov al, byte [eax*8 + 0x500839]
cmp al, 9
je 0x4c76ca
cmp al, 5
je 0x4c76ca
cmp al, 8
je 0x4c76ca
xor eax, eax
jmp 0x4c76cf
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7641
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c779d
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov edx, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], edx
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7756
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c78a7
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7860
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c79a7
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500838]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7960
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7aa7
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c7aeb
cmp eax, 3
je 0x4c7aeb
xor eax, eax
jmp 0x4c7af0
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7a60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop word [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7bc7
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 6
je 0x4c7c26
cmp edx, 9
je 0x4c7c26
cmp edx, 0xa
je 0x4c7c26
cmp edx, 0xc
je 0x4c7c26
cmp edx, 0xd
je 0x4c7c26
xor eax, eax
jmp 0x4c7c2b
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7b80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7cf9
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 6
je 0x4c7d61
cmp edx, 9
je 0x4c7d61
cmp edx, 0xa
je 0x4c7d61
cmp edx, 0xb
je 0x4c7d61
cmp edx, 0xc
je 0x4c7d61
cmp edx, 0xd
je 0x4c7d61
xor eax, eax
jmp 0x4c7d66
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7cb2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
jne 0x4c66c4
nop dword [eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
cmp ebx, dword [esi + 0x7c]
jae 0x4c744d
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7e37
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x501918]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
mov eax, dword [eax*4 + 0x503ef8]
cmp eax, 1
je 0x4c7e86
cmp eax, 3
je 0x4c7e86
cmp edx, 0x5f
je 0x4c7e86
xor eax, eax
jmp 0x4c7e8b
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7df0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
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.004c1040
add esp, 0x14
cmp esi, 0x16
jne 0x4c8062
test eax, eax
jne 0x4c66c4
nop dword [eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
mov edi, dword [ebp + 0x7c]
cmp ebx, edi
jae 0x4c8440
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7f69
movzx eax, word [ebx]
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 + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 2
je case.default.0x4c29c9
cmp ebx, edi
jae 0x4c8019
mov esi, ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7fde
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 + 0x501918]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4f4f38]
movzx eax, byte [eax*8 + 0x500839]
cmp dword [eax*4 + 0x503ef8], 2
jne 0x4c8019
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4c7fa5
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x14]
inc edi
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x28], edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c7f20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x4c66c4
nop word [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c29c9
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4c8440
cmp esi, 0xc
jne 0x4c80ea
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x4c80b7
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004ca380
add esp, 0xc
test eax, eax
jne case.default.0x4c29c9
jmp 0x4c80ea
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c80ea
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x4c80ea
cmp edx, 1
je case.default.0x4c29c9
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4c29c9
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c811e
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4c2d31
jmp dword [eax*4 + 0x4c8fd8]
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x85
ja 0x4c817a
je case.0x4c8156.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c29c9
jmp dword [ecx*4 + 0x4c9018]
mov ebx, edx
cmp edx, dword [ebp + 0x7c]
jae 0x4c83ef
cmp word [edx], 0xa
jne 0x4c83ef
lea ebx, [edx + 2]
jmp 0x4c83ef
sub ecx, 0x2028
je case.0x4c8156.11
sub ecx, 1
jne case.default.0x4c29c9
cmp dword [ebp + 0x68], 0
mov ebx, edx
jne case.default.0x4c29c9
jmp 0x4c83ef
cmp ecx, 0x2000
ja 0x4c81f8
je case.default.0x4c29c9
cmp ecx, 0xa0
ja 0x4c81d9
je case.default.0x4c29c9
cmp ecx, 9
je case.default.0x4c29c9
cmp ecx, 0x20
je case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x1680
je case.default.0x4c29c9
cmp ecx, 0x180e
je case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x3000
ja case.0x4c812a.12
je case.default.0x4c29c9
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c812a.12
movzx eax, byte [ecx + 0x4c9030]
jmp dword [eax*4 + 0x4c9028]
cmp ecx, 0x2000
ja 0x4c8283
je case.0x4c812a.12
cmp ecx, 0xa0
ja 0x4c8264
je case.0x4c812a.12
cmp ecx, 9
je case.0x4c812a.12
cmp ecx, 0x20
jne case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x1680
je case.0x4c812a.12
cmp ecx, 0x180e
jne case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x3000
ja case.default.0x4c29c9
je case.0x4c812a.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4c29c9
movzx eax, byte [ecx + 0x4c9098]
jmp dword [eax*4 + 0x4c9090]
cmp ecx, 0x85
ja 0x4c82d7
je case.default.0x4c29c9
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4c812a.12
jmp dword [ecx*4 + 0x4c90f8]
sub ecx, 0x2028
je case.default.0x4c29c9
sub ecx, 1
je case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x85
ja 0x4c8318
je case.0x4c812a.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c29c9
jmp dword [ecx*4 + 0x4c9108]
sub ecx, 0x2028
je case.0x4c812a.12
sub ecx, 1
jne case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x100
jae case.0x4c812a.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x100
jae case.default.0x4c29c9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x100
jae case.0x4c812a.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x100
jae case.default.0x4c29c9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x100
jae case.0x4c812a.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4c29c9
mov ebx, edx
jmp 0x4c83ef
cmp ecx, 0x100
jae case.default.0x4c29c9
mov eax, dword [ebp + 0x3c]
mov ebx, edx
test byte [ecx + eax], 0x10
je case.default.0x4c29c9
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c8070
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 [ebp + 0x8c]
test eax, eax
je case.default.0x4c29c9
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x4c29c9
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4c29c9
nop word [eax + eax]
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + ebp*4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + ebp*4 + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
sub eax, edx
mov edx, esi
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x4c], eax
mov eax, ebx
sub eax, dword [edx + 0x78]
mov esi, dword [edx + 0x94]
mov edi, dword [edx + 0xb0]
sar eax, 1
mov dword [ecx], eax
nop word [eax + eax]
cmp dword [esp + 0x20], 0x82
jb 0x4c84d8
mov dword [edx + 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 edx
movzx eax, byte [eax + 0x503b18]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c1040
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1c
je 0x4c85b6
cmp edx, 0xfffffc20
jne 0x4c856c
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x80], eax
jae 0x4c85ea
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0x71
mov ecx, dword [esp + 0x174]
je 0x4c8565
cmp word [eax], 0x71
jne 0x4c85ea
xor edx, edx
jmp 0x4c857b
test edx, edx
jne 0x4c85ea
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x94], esi
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xb0], edi
cmp word [eax], 0x71
jne 0x4c85bd
mov edx, ecx
jmp 0x4c84c0
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0xc]
mov ebx, dword [esp + 0x174]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov dword [eax + ebp*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x44]
mov dword [eax + ebp*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 0xc]
mov dword [eax + ecx*4], esi
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp edx, 0xfffffc1c
jne 0x4c8642
movzx eax, word [edi]
cmp eax, 0x7b
je 0x4c8637
cmp eax, 0x71
jne 0x4c862e
nop dword [eax + eax]
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4c8620
movzx eax, word [edi + 2]
neg eax
lea edi, [edi + eax*2]
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 + 0x503b18]
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.004c1040
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x4c86b1
cmp esi, 0xfffffc19
jne 0x4c86d1
cmp dword [ebp + 0xb0], 0
jne 0x4c86d1
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x4c6816
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.004ca2f0
test eax, eax
jne 0x4c6816
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 + 0x503b18]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c8769
cmp eax, 0xfffffc1d
je 0x4c8769
cmp eax, 0xfffffc1e
je 0x4c8769
cmp eax, 0xfffffc1f
je 0x4c8769
cmp eax, 0xfffffc20
jne 0x4c66c4
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 + 0x503b18]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c884b
cmp eax, 0xfffffc20
je 0x4c884b
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 + 0x503b18]
movzx eax, word [edx + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004c1040
add esp, 0x14
cmp eax, 1
je 0x4c882d
cmp eax, 0xfffffc19
jne 0x4c883c
cmp dword [ebp + 0xb0], 0
jne 0x4c883c
mov dword [ebp + 0xb0], esi
test eax, eax
je 0x4c884b
cmp eax, 0xfffffc20
jne 0x4c66c4
mov eax, 0xfffffc1d
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 + 0x503b18]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c88a8
cmp eax, 0xfffffc1d
je 0x4c88a8
cmp eax, 0xfffffc20
jne 0x4c66c4
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 + 0x503b18]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c1040
add esp, 0x14
test eax, eax
je 0x4c8982
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 + 0x503b18]
movzx eax, word [edx + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004c1040
add esp, 0x14
cmp eax, 1
je 0x4c8967
cmp eax, 0xfffffc19
jne 0x4c8976
cmp dword [ebp + 0xb0], 0
jne 0x4c8976
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x4c66c4
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 0x4c89e8
cmp edx, 0x99
je 0x4c89e8
cmp dword [ebp + 0xa8], 0
jne 0x4c89e8
cmp dword [ebp + 0x5c], 0
jne case.default.0x4c29c9
cmp dword [ebp + 0x60], 0
je 0x4c89e8
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x4c29c9
mov eax, dword [esp + 0x170]
test di, di
mov dword [ebp + 0x84], ebx
mov ecx, 1
mov dword [ebp + 0x90], eax
mov eax, 0xfffffc19
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