Function at 0x4c11c0
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 0x4c121e
cmp dword [esp + 0x17c], edx
jne 0x4c1203
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.004c11c0
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 0x4c683b
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 0x4c8bac
cmp dword [ebp + 0x9c], 2
jne 0x4c12af
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 0x4c12af
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.0x4c12dd.98
movzx eax, byte [edx + 0x4c8d04]
jmp dword [eax*4 + 0x4c8bbc]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4e1af0]
je 0x4c6901
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x4c12af
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.004c11c0
add esp, 0x14
cmp eax, 1
je 0x4c1428
cmp eax, 0xfffffc20
jne 0x4c1390
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 0x4c6844
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
mov edx, dword [esp + 0x174]
je 0x4c139f
cmp word [ecx], 0x71
jne 0x4c6844
jmp 0x4c139f
test eax, eax
jne 0x4c6844
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 0x4c1315
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x4c13e0
cmp eax, 0x71
jne case.default.0x4c2b49
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 0x4c13e0
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x18], ebx
cmp ecx, 0x72
je 0x4c1415
cmp ebx, edi
jne 0x4c65a5
mov ebp, dword [esp + 0x174]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c12af
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 0x4c13c6
xor ebp, ebp
mov dword [esp + 0x34], ebp
jmp 0x4c1f09
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
jne 0x4c153e
mov esi, dword [0x4fb2e8]
test esi, esi
je 0x4c1533
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.0x4c2b49
js 0x4c6844
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x14], esi
movzx ecx, word [esi + 4]
lea edx, [esi + 4]
cmp ecx, 0x89
je 0x4c1713
cmp ecx, 0x8a
je 0x4c1713
cmp ecx, 0x87
je 0x4c15cf
cmp ecx, 0x88
je 0x4c15cf
cmp ecx, 0x8b
jne 0x4c1581
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4c18b8
mov dword [ebp + 0x9c], 1
mov ecx, ebx
mov eax, dword [esp + 0x17c]
inc eax
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c11c0
add esp, 0x14
cmp eax, 1
je 0x4c663a
test eax, eax
je 0x4c15c7
cmp eax, 0xfffffc20
jne 0x4c6844
lea eax, [esi + edi*2]
jmp 0x4c18b8
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x4c15ec
mov eax, dword [ebp + 0xc]
cmp dword [eax + edx*4], 0
jge 0x4c189f
cmp ecx, 0x88
jne 0x4c1704
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x28]
mov edi, eax
mov dword [esp + 0x2c], 0
test ecx, ecx
jle 0x4c1704
mov ebp, eax
xor edx, edx
movzx eax, word [edi]
cmp eax, esi
je 0x4c164e
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 0x4c1614
mov eax, dword [esp + 0x14]
xor edx, edx
movzx eax, word [eax + 2]
jmp 0x4c18a9
cmp edx, ecx
jge 0x4c1704
mov eax, dword [esp + 0x174]
mov esi, edi
cmp edi, dword [eax + 0x28]
jbe 0x4c16b3
mov eax, dword [eax + 0x24]
lea ecx, [edi + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.004ca470
test eax, eax
jne 0x4c16ac
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4c169e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4c189f
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x28]
ja 0x4c1664
jmp 0x4c16b3
mov eax, dword [esp + 0x174]
mov ebp, dword [esp + 0x2c]
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x4c1704
lea esi, [edi + 2]
mov eax, dword [eax + 0x24]
mov ecx, esi
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004ca470
test eax, eax
jne 0x4c1704
movzx eax, word [edi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4c16f7
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4c189f
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jl 0x4c16c0
mov eax, dword [esp + 0x14]
xor edx, edx
movzx eax, word [eax + 2]
jmp 0x4c18a9
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x4c1729
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4c18b8
movzx esi, word [esi + 6]
cmp esi, 0xffff
je 0x4c189f
cmp esi, dword [eax + 4]
je 0x4c189f
xor edx, edx
mov dword [esp + 0x30], edx
cmp ecx, 0x8a
jne 0x4c1895
mov ecx, 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 ecx, dword [ecx + 0x20]
test ecx, ecx
jle 0x4c1895
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x34], eax
nop
movzx eax, word [edi]
cmp eax, esi
je 0x4c17ba
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, ecx
jl 0x4c1780
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
jmp 0x4c18a9
cmp dword [esp + 0x34], ecx
jge 0x4c1895
mov eax, dword [esp + 0x174]
mov esi, edi
cmp edi, dword [eax + 0x28]
jbe 0x4c1835
mov ebx, dword [esp + 0x30]
lea eax, [edi + 2]
mov ebp, dword [esp + 0x174]
mov edi, eax
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x24]
mov ecx, edi
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.004ca470
test eax, eax
jne 0x4c1816
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
mov eax, dword [eax + 4]
cmp ecx, eax
sete bl
je 0x4c1816
cmp esi, dword [ebp + 0x28]
ja 0x4c17e6
mov edi, dword [esp + 0x3c]
test ebx, ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x18]
jne 0x4c188b
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x4c1895
mov ebx, dword [esp + 0x30]
lea esi, [edi + 2]
mov eax, dword [eax + 0x24]
mov ecx, esi
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004ca470
test eax, eax
jne 0x4c187f
mov eax, dword [esp + 0x174]
xor ebx, ebx
movzx ecx, word [edi]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 4]
cmp ecx, eax
sete bl
je 0x4c187f
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jl 0x4c1842
mov dword [esp + 0x30], ebx
test ebx, ebx
mov ebx, dword [esp + 0x18]
je 0x4c1891
mov edx, dword [esp + 0x30]
jmp 0x4c18a4
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
jmp 0x4c18a9
mov edx, 1
mov eax, 2
mov ecx, dword [esp + 0x14]
lea eax, [ecx + eax*2]
test edx, edx
jne 0x4c6684
cmp word [eax], 0x71
mov ebp, dword [esp + 0x174]
je 0x4c668b
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x4c12af
movzx esi, word [esi + 2]
mov dword [ebp + 0x94], esi
lea edx, [esi + esi]
cmp edx, dword [ebp + 0x14]
jl 0x4c18fe
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x4c12af
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 0x4c192d
lea eax, [edx + 2]
mov dword [esp + 0x170], eax
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4c195d
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4c1960
xor edi, edi
nop
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.004c11c0
add esp, 0x14
cmp eax, 1
je 0x4c19cb
cmp eax, 0xfffffc19
je 0x4c19cb
test eax, eax
je 0x4c19a6
cmp eax, 0xfffffc20
jne 0x4c6844
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 0x4c1960
mov esi, dword [esp + 0x14]
jmp 0x4c19df
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.0x4c2b49
test edi, edi
jne 0x4c69c7
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4c19f1
mov eax, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], eax
jmp 0x4c12af
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4c1a38
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4c1a3a
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.004c11c0
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x4c2b49
cmp eax, 0xfffffc19
je case.default.0x4c2b49
cmp eax, 0xfffffc1e
je 0x4c1abf
cmp eax, 0xfffffc1d
je 0x4c1abf
cmp eax, 0xfffffc1a
je 0x4c1abf
test eax, eax
je 0x4c1aa5
cmp eax, 0xfffffc20
jne 0x4c6844
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 0x4c1a40
mov esi, ecx
jmp 0x4c1ad1
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4c1ac3
test edi, edi
jne 0x4c69c7
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c12af
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x4c1b1d
mov edx, dword [ebp + 0x78]
mov edi, 0xfc00
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x18], ebx
cmp ebx, edx
jb case.default.0x4c2b49
mov ax, word [ebx]
and ax, di
cmp ax, word [esp + 0x48]
jne 0x4c1b19
add ebx, 0xfffffffe
mov dword [esp + 0x18], ebx
test ecx, ecx
jg 0x4c1af5
cmp ebx, dword [ebp + 0x88]
jae 0x4c1b2b
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov esi, dword [0x4fb2e8]
test esi, esi
je 0x4c1c15
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.0x4c2b49
js 0x4c6844
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x4c1c37
xor ecx, ecx
jmp 0x4c1c3b
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x4c1c5b
cmp ecx, dword [eax + 4]
jne 0x4c1c55
cmp ebx, dword [eax + 0x10]
je 0x4c696a
mov eax, dword [eax]
test eax, eax
jne 0x4c1c47
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 0x4c1c91
lea eax, [esp + 0xf0]
mov dword [esp + 0x5c], eax
jmp 0x4c1cb2
lea eax, [ecx*4]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4c69a4
mov ecx, dword [esp + 0x60]
shl ecx, 2
push ecx
push dword [ebp + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
nop dword [eax]
mov eax, 0x82
cmp bp, ax
jb 0x4c1ce4
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 + 0x4e1af0]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.004c11c0
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 sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x54]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x4c1dbd
cmp esi, 0xfffffc19
je 0x4c1dbd
test esi, esi
je 0x4c1d70
cmp esi, 0xfffffc20
jne 0x4c697a
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 0x4c1cd0
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.0x4c2b49
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
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 0x4c1dd6
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
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 0x4c12ab
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x4c12dd.113
mov dword [esp + 0x14], esi
jmp 0x4c12af
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop dword [eax]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4c1e50
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c12af
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 0x4c1e73
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c12af
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 0x4c1ec3
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jmp 0x4c12af
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 0x4c1f09
cmp edx, 0x85
jne 0x4c20ed
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 0x4c20e7
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 0x4c1fa6
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 + 0x4e1af0]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c11c0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4c2022
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 0x4c1f60
cmp ecx, 0xfffffc20
jne 0x4c2061
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 0x4c2054
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x4c2069
cmp word [eax], 0x71
je 0x4c2069
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test ecx, ecx
jne 0x4c2054
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 0x4c1f70
test ebp, ebp
jne 0x4c20c1
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 0x4c20d0
test ebp, ebp
je case.default.0x4c2b49
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c12af
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 0x4c2112
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 + 0x4e1af0]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c11c0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4c218c
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 0x4c2100
cmp ecx, 0xfffffc20
jne 0x4c21c2
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 0x4c2054
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x4c21ca
cmp word [eax], 0x71
jmp 0x4c21c4
test ecx, ecx
jne 0x4c2054
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 0x4c2100
test edi, edi
jne 0x4c21fb
test ebp, ebp
je case.default.0x4c2b49
mov esi, dword [esp + 0x14]
mov ebp, ecx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c12af
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 0x4c2234
cmp ecx, 0x7b
je 0x4c2234
mov dword [esp + 0x2c], 0
jmp 0x4c224d
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 0x4c225b
cmp ecx, 0x7a
jbe 0x4c6ab8
cmp ecx, 0x7c
je 0x4c6ab8
cmp ecx, 0x7f
je 0x4c228b
mov eax, 0x84
cmp cx, ax
je 0x4c228b
mov eax, 0x80
cmp cx, ax
je 0x4c228b
mov eax, 0x85
cmp cx, ax
jne 0x4c235e
mov edi, dword [esp + 0x174]
movzx esi, word [ebp + 4]
mov eax, dword [edi + 0xa8]
lea edx, [esi + esi]
test eax, eax
je 0x4c22ac
cmp dword [eax + 4], esi
je 0x4c69b4
mov dword [edi + 0x94], esi
cmp edx, dword [edi + 0x14]
jl 0x4c22fb
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 0x4c22dd
cmp ebx, dword [esp + 0x2c]
jne 0x4c66e1
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4c6a75
mov ebp, dword [esp + 0x174]
jmp 0x4c12af
mov ecx, dword [esp + 0x170]
cmp edx, ecx
jle 0x4c2326
mov eax, dword [edi + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x4c231f
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 0x4c22be
add edx, 2
mov dword [esp + 0x170], edx
jmp 0x4c22c5
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
jmp 0x4c22c9
cmp dword [ebp + 0x44], 0
je case.0x4c12dd.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x4c2b49
cmp ebx, dword [ebp + 0x78]
jne case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp dword [ebp + 0x44], 0
je 0x4c23a9
cmp ebx, dword [ebp + 0x78]
je case.default.0x4c2b49
mov ecx, dword [ebp + 0x78]
jmp 0x4c23b4
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je 0x4c2609
cmp ebx, dword [ebp + 0x7c]
je case.default.0x4c2b49
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4c23f1
cmp ebx, ecx
jbe case.default.0x4c2b49
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004ca5c0
add esp, 0xc
test eax, eax
je case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x4c2b49
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4c2b49
cmp esi, 1
je 0x4c2605
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4c2b49
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4c24e4
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4c24a4
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004ca500
add esp, 0xc
test eax, eax
je case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4c2b49
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4c2b49
cmp edx, 1
je 0x4c2609
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp dword [ebp + 0x48], 0
jne case.default.0x4c2b49
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c2609
cmp ebx, dword [ebp + 0x88]
jbe 0x4c2609
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c85f0
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp dword [ebp + 0x48], 0
jne case.default.0x4c2b49
cmp dword [ebp + 0x58], 0
je case.0x4c12dd.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x4c2b49
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c2609
cmp ebx, dword [ebp + 0x88]
jbe 0x4c2609
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c85f0
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4c25e3
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4c25a5
push 1
push edi
push esi
mov ecx, ebx
call fcn.004ca500
add esp, 0xc
test eax, eax
je case.default.0x4c2b49
mov edx, dword [edi]
mov esi, dword [ebp + 0x7c]
jmp 0x4c25d6
mov edx, dword [edi]
mov ecx, esi
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4c2b49
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4c2b49
cmp edx, 1
je 0x4c25d6
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4c2b49
lea eax, [edx + edx]
sub esi, eax
cmp ebx, esi
jne case.default.0x4c2b49
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c2605
cmp ebx, dword [ebp + 0x88]
jbe 0x4c2605
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c85f0
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x78]
je 0x4c26de
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c263a
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
jae 0x4c2648
mov dword [ebp + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2673
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 0x4c26c6
cmp ecx, 0x5f
jne 0x4c268a
lea edx, [ecx - 0x5e]
jmp 0x4c26e0
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c26bf
cmp eax, 3
jne 0x4c26de
mov edx, 1
jmp 0x4c26e0
cmp ecx, 0x100
jae 0x4c26de
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4c26de
mov edx, 1
jmp 0x4c26e0
xor edx, edx
cmp ebx, dword [ebp + 0x7c]
jb 0x4c2736
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c270b
cmp ebx, dword [ebp + 0x88]
jbe 0x4c270b
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c85f0
xor ecx, ecx
movzx eax, word [esi]
xor edx, ecx
add esi, 2
mov dword [esp + 0x14], esi
cmp eax, 5
jne 0x4c2721
xor edx, 1
test edx, edx
je 0x4c12af
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 0x4c2761
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 0x4c27ba
cmp ecx, 0x5f
jne 0x4c2777
mov ecx, 1
jmp 0x4c270d
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c27b0
cmp eax, 3
jne 0x4c270b
mov ecx, 1
jmp 0x4c270d
cmp ecx, 0x100
jae 0x4c270b
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4c270b
mov ecx, 1
jmp 0x4c270d
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x4c2806
cmp ebx, ecx
jae case.0x4c12dd.13
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004ca500
add esp, 0xc
test eax, eax
jne case.default.0x4c2b49
jmp case.0x4c12dd.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x4c12dd.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x4c12dd.13
cmp edx, 1
je case.default.0x4c2b49
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4c2b49
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x4c85c0
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, eax
jae 0x4c2864
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c2864
add ebx, 2
mov dword [esp + 0x18], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
add ebx, 2
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c28cd
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 0x4c2609
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2933
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.0x4c2b49
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2999
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 0x4c2609
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c29ff
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.0x4c2b49
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2a65
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 0x4c2609
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2acb
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.0x4c2b49
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2b2b
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 0x4c2b99
je case.0x4c2b49.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c2b49
jmp dword [ecx*4 + 0x4c8da0]
mov ebx, edx
mov dword [esp + 0x18], ebx
cmp edx, esi
jae 0x4c2605
cmp word [edx], 0xa
mov dword [esp + 0x18], ebx
jne 0x4c2605
mov esi, dword [esp + 0x14]
lea ebx, [edx + 2]
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov esi, dword [esp + 0x14]
mov ebx, edx
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c12af
sub ecx, 0x2028
je case.0x4c2b49.11
sub ecx, 1
jne case.default.0x4c2b49
cmp dword [ebp + 0x68], 0
mov ebx, edx
mov dword [esp + 0x18], ebx
jne case.default.0x4c2b49
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2c0b
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 0x4c2c69
je case.default.0x4c2b49
cmp ecx, 0xa0
ja 0x4c2c45
je case.default.0x4c2b49
cmp ecx, 9
je case.default.0x4c2b49
cmp ecx, 0x20
je case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ecx, 0x1680
je case.default.0x4c2b49
cmp ecx, 0x180e
je case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ecx, 0x3000
ja case.0x4c2c91.8203
je case.default.0x4c2b49
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c2c91.8203
movzx eax, byte [ecx + 0x4c8db8]
jmp dword [eax*4 + 0x4c8db0]
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2cd9
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 0x4c2d1d
je case.0x4c2c91.8203
cmp ecx, 0xa0
ja 0x4c2d06
je case.0x4c2c91.8203
cmp ecx, 9
je case.0x4c2c91.8203
cmp ecx, 0x20
jmp 0x4c2383
cmp ecx, 0x1680
je case.0x4c2c91.8203
cmp ecx, 0x180e
jmp 0x4c2383
cmp ecx, 0x3000
ja case.default.0x4c2b49
je case.0x4c2c91.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4c2b49
movzx eax, byte [ecx + 0x4c8e20]
jmp dword [eax*4 + 0x4c8e18]
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2d8d
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 0x4c2dae
je case.default.0x4c2b49
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4c2c91.8203
jmp dword [ecx*4 + 0x4c8e80]
sub ecx, 0x2028
je case.default.0x4c2b49
sub ecx, 1
je case.default.0x4c2b49
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2e10
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 0x4c2e31
je case.0x4c2c91.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c2b49
jmp dword [ecx*4 + 0x4c8e90]
sub ecx, 0x2028
je case.0x4c2c91.8203
sub ecx, 1
jmp 0x4c2383
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c2e86
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 + 0x4df170]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x4c2eb1
jmp dword [ecx*4 + 0x4c8ea0]
cmp dword [esp + 0x20], 0xf
jmp 0x4c3008
mov al, byte [eax*8 + 0x4de091]
cmp al, 9
je 0x4c2ff7
cmp al, 5
je 0x4c2ff7
cmp al, 8
je 0x4c2ff7
xor ecx, ecx
jmp 0x4c2ffc
movzx ecx, byte [eax*8 + 0x4de091]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4e16b0]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x4c3008
movzx eax, byte [eax*8 + 0x4de091]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4c3003
movzx eax, byte [eax*8 + 0x4de090]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4c3003
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c2ff7
cmp eax, 3
je 0x4c2ff7
xor ecx, ecx
jmp 0x4c2ffc
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 6
je 0x4c2ff7
cmp edx, 9
je 0x4c2ff7
cmp edx, 0xa
je 0x4c2ff7
cmp edx, 0xc
je 0x4c2ff7
cmp edx, 0xd
je 0x4c2ff7
xor ecx, ecx
jmp 0x4c2ffc
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 6
je 0x4c2ff7
cmp edx, 9
je 0x4c2ff7
cmp edx, 0xa
je 0x4c2ff7
cmp edx, 0xb
jmp 0x4c2f95
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c2ff7
cmp eax, 3
je 0x4c2ff7
cmp edx, 0x5f
je 0x4c2ff7
xor ecx, ecx
jmp 0x4c2ffc
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x4c2b49
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x4c12af
mov edi, dword [ebp + 0x7c]
cmp ebx, edi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c305d
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 2
je case.default.0x4c2b49
cmp ebx, edi
jae case.0x4c2c91.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 0x4c30d5
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 2
jne 0x4c310c
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4c30a0
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c12af
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 0x4c315b
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x4c315b
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x4c3165
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.0x4c3181
movzx eax, byte [eax + 0x4c8ecc]
jmp dword [eax*4 + 0x4c8ec4]
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 + 0x4d22da]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x4c31e0
mov dword [esp + 0x34], connect
jmp 0x4c31e0
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 0x4c12a4
jns 0x4c31f2
test esi, esi
je 0x4c12a4
mov edi, 1
cmp esi, edi
jl 0x4c322f
nop dword [eax + eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004c1010
add esp, 0xc
test eax, eax
js 0x4c6aef
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 0x4c3200
mov eax, dword [esp + 0x34]
cmp esi, eax
je 0x4c12a4
cmp dword [esp + 0x30], 0
je 0x4c6b25
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
mov edi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x34]
jge case.default.0x4c2b49
push dword [esp + 0x3c]
mov edx, ebx
mov ecx, edi
push dword [esp + 0x178]
push ebp
call fcn.004c1010
add esp, 0xc
test eax, eax
js 0x4c6aef
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c3285
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.004c1010
add esp, 0xc
test eax, eax
js 0x4c6c03
lea ebx, [ebx + eax*2]
mov ebp, esi
mov dword [esp + 0x18], ebx
jmp 0x4c12ab
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.0x4c3346
movzx eax, byte [eax + 0x4c8edc]
jmp dword [eax*4 + 0x4c8ed4]
movsx eax, byte [ecx + 0x4d22da]
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 0x4c33b2
mov dword [esp + 0x30], connect
jmp 0x4c33b2
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 0x4c3454
jmp 0x4c33ce
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 0x4c6e14
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3420
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 0x4c342f
cmp dword [esp + 0x20], 0x6a
jmp 0x4c3445
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.0x4c2b49
inc edi
cmp edi, esi
jle 0x4c33e0
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
cmp esi, edi
je 0x4c12a4
cmp dword [esp + 0x28], 0
je 0x4c6c92
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
cmp esi, edi
jge case.default.0x4c2b49
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c6e1b
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c34ee
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 0x4c6c32
cmp dword [esp + 0x20], 0x6a
je case.default.0x4c2b49
jmp 0x4c6c51
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.0x4c3535
movzx eax, byte [eax + 0x4c8eec]
jmp dword [eax*4 + 0x4c8ee4]
movsx eax, byte [ecx + 0x4d22da]
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 0x4c3595
mov dword [esp + 0x34], connect
jmp 0x4c3595
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 0x4c3621
jmp 0x4c35ad
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 0x4c6e1b
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3608
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.004ca6b0
add esp, 4
test eax, eax
je case.default.0x4c2b49
inc esi
cmp esi, edi
jle 0x4c35c0
mov esi, dword [esp + 0x34]
cmp edi, esi
je 0x4c12a4
cmp dword [esp + 0x28], 0
je 0x4c6e2e
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
cmp edi, esi
jge case.default.0x4c2b49
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c6e1b
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c36bb
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.004ca6b0
add esp, 4
test eax, eax
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c3673
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 0x4c6f71
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.0x4c2b49
test edx, edx
jg 0x4c3744
jmp 0x4c12af
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
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 0x4c37b0
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x4c37b5
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x4c37eb
mov edi, 0xff
mov ecx, eax
cmp ax, di
mov eax, dword [ebp + 0x34]
ja 0x4c37d3
movzx ecx, byte [ecx + eax]
movzx eax, byte [eax + edx]
cmp eax, ecx
jne case.default.0x4c2b49
add ebx, 2
mov dword [esp + 0x18], ebx
jmp 0x4c12af
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x4c3820
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 0x4c12ab
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
mov eax, dword [eax*8 + 0x4de094]
add eax, edx
cmp esi, eax
jne case.default.0x4c2b49
jmp 0x4c12ab
movzx edi, word [esi + 2]
lea ecx, [esi + 4]
mov ebp, edi
jmp 0x4c3928
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 0x4c3895
mov dword [esp + 0x28], ebp
cmp ecx, 0x35
jne 0x4c389d
mov dword [esp + 0x28], 1
lea ecx, [esi + 4]
jmp 0x4c3930
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], connect
jmp 0x4c392c
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
mov ebp, 1
mov dword [esp + 0x20], connect
jmp 0x4c392c
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], 1
jmp 0x4c392c
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 + 0x4d233c]
movsx ebp, byte [eax + 0x4d2344]
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 0x4c3d3a
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 0x4c39b9
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4df170]
mov eax, esi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
mov ecx, dword [eax*8 + 0x4de094]
add ecx, esi
cmp ecx, esi
je 0x4c39b9
lea edx, [esp + 0x74]
call fcn.004ca4a0
mov edi, eax
mov dword [esp + 0x2c], eax
jmp 0x4c39bf
xor edi, edi
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x24]
mov ebp, 1
cmp esi, ebp
jl 0x4c3b08
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 0x4c3a04
mov edi, dword [esp + 0x2c]
cmp ebx, eax
ja 0x4c3a6f
lea esi, [edx + edx]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
sub esi, 4
jb 0x4c3a31
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c3a36
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c3a20
cmp esi, 0xfffffffc
je 0x4c3a63
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c3a6b
cmp esi, 0xfffffffd
je 0x4c3a63
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c3a6b
cmp esi, 0xfffffffe
je 0x4c3a63
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c3a6b
cmp esi, 0xffffffff
je 0x4c3a63
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c3a6b
add ebx, 4
jmp 0x4c3aeb
mov ecx, dword [esp + 0x34]
test edi, edi
jle 0x4c6aef
add edi, edi
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4c6aef
mov esi, dword [esp + 0x2c]
lea edx, [esp + 0x74]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x4c3aa7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c3aac
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c3a96
cmp esi, 0xfffffffc
je 0x4c3ae9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c6aef
cmp esi, 0xfffffffd
je 0x4c3ae9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c6aef
cmp esi, 0xfffffffe
je 0x4c3ae9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c6aef
cmp esi, 0xffffffff
je 0x4c3ae9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c6aef
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 0x4c3a00
mov edi, dword [esp + 0x20]
cmp esi, edi
je 0x4c12a4
cmp dword [esp + 0x28], 0
jne 0x4c6f8c
mov ebp, ebx
mov dword [esp + 0x28], ebp
cmp esi, edi
jge 0x4c3c5c
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 0x4c3bb4
mov edx, dword [esp + 0x1c]
lea esi, [ecx + ecx]
mov ecx, ebx
sub esi, 4
jb 0x4c3b77
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c3b7c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c3b66
cmp esi, 0xfffffffc
je 0x4c3ba9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c3bb0
cmp esi, 0xfffffffd
je 0x4c3ba9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c3bb0
cmp esi, 0xfffffffe
je 0x4c3ba9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c3bb0
cmp esi, 0xffffffff
je 0x4c3ba9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c3bb0
add ebx, edi
jmp 0x4c3c39
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4c3d03
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x4c3d03
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4c3bf1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c3bf6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c3be0
cmp esi, 0xfffffffc
je 0x4c3c33
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c3d03
cmp esi, 0xfffffffd
je 0x4c3c33
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c3d03
cmp esi, 0xfffffffe
je 0x4c3c33
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c3d03
cmp esi, 0xffffffff
je 0x4c3c33
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c3d03
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 0x4c3b50
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4c12a4
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
cmp ebx, ebp
je case.default.0x4c2b49
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c3cc9
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c3ca5
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 0x4c3d31
cmp ebx, dword [esi + 0x7c]
jb 0x4c3d31
cmp ebx, dword [esi + 0x88]
jbe 0x4c3d31
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c85f0
mov ebp, dword [esp + 0x28]
jmp 0x4c3c63
cmp edx, 0x2e
jb 0x4c3e9d
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x4c3d78
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4df170]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
mov edi, dword [eax*8 + 0x4de094]
add edi, esi
jmp 0x4c3d7f
mov eax, dword [edx + 0x38]
movzx edi, byte [eax + esi]
mov ecx, 1
cmp ebp, ecx
jl 0x4c3dbb
mov edx, dword [edx + 0x7c]
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x4c6e14
movzx eax, word [ebx]
cmp esi, eax
je 0x4c3daf
cmp edi, eax
jne case.default.0x4c2b49
add ebx, 2
inc ecx
mov dword [esp + 0x18], ebx
cmp ecx, ebp
jle 0x4c3d90
mov eax, dword [esp + 0x20]
cmp ebp, eax
je 0x4c12a4
cmp dword [esp + 0x28], 0
jne 0x4c7169
mov edx, dword [esp + 0x24]
mov ebp, ebx
cmp edx, eax
jge 0x4c3e07
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c3e6f
movzx eax, word [ebx]
cmp esi, eax
je 0x4c3df9
cmp edi, eax
jne 0x4c3e07
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, dword [esp + 0x20]
jl 0x4c3de6
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4c12a4
cmp ebx, ebp
jb case.default.0x4c2b49
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.004c11c0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4c6844
mov ecx, dword [esp + 0x174]
cmp ebx, ebp
jae 0x4c3e21
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 0x4c3e0e
cmp ebx, dword [ecx + 0x88]
jbe 0x4c3e0e
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c85f0
jmp 0x4c3e0e
mov edi, dword [esp + 0x174]
mov ecx, 1
cmp ebp, ecx
jl 0x4c3ecf
mov edx, dword [edi + 0x7c]
cmp ebx, edx
jae 0x4c720d
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp esi, eax
jne case.default.0x4c2b49
inc ecx
cmp ecx, ebp
jle 0x4c3eb0
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x4c12a4
cmp dword [esp + 0x28], 0
jne 0x4c7233
mov edi, ebx
cmp ebp, edx
jge 0x4c3f11
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c3f77
movzx eax, word [ebx]
cmp esi, eax
jne 0x4c3f11
add ebx, 2
inc ebp
mov dword [esp + 0x18], ebx
cmp ebp, edx
jl 0x4c3ef6
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4c12ab
cmp ebx, edi
jb case.default.0x4c2b49
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.004c11c0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4c6844
cmp ebx, edi
jae 0x4c3f30
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 0x4c3f18
cmp ebx, dword [ebp + 0x88]
jbe 0x4c3f18
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c85f0
jmp 0x4c3f18
cmp ebx, dword [ebp + 0x7c]
jae 0x4c85c0
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 0x4c3fe9
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 0x4c4046
cmp esi, 0x7f
jbe 0x4c402a
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4df170]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
mov eax, dword [eax*8 + 0x4de094]
add eax, esi
jmp 0x4c4031
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + esi]
cmp esi, edx
je case.default.0x4c2b49
cmp eax, edx
je case.default.0x4c2b49
jmp 0x4c12ab
mov dword [esp + 0x14], eax
cmp esi, edx
je case.default.0x4c2b49
jmp 0x4c12ab
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x20], eax
mov edi, eax
jmp 0x4c4127
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x20], eax
cmp ecx, 0x42
je 0x4c4081
mov dword [esp + 0x28], edi
cmp ecx, 0x4f
jne 0x4c4089
mov dword [esp + 0x28], 1
lea ecx, [esi + 4]
jmp 0x4c4127
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x4c411f
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x4c411f
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x4c4127
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x30], 1
xor edi, edi
mov dword [esp + 0x20], eax
jmp 0x4c4127
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 + 0x4d2344]
movsx eax, byte [eax + 0x4d233c]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4c4127
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 0x4c42d0
cmp ebp, 0x7f
jbe 0x4c4179
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4df170]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4de094]
add ebp, dword [esp + 0x2c]
jmp 0x4c4187
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x34], ebp
cmp edi, 1
jl 0x4c41f7
mov esi, dword [ecx + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c6e14
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c41e0
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.0x4c2b49
cmp ebp, ecx
je case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c41a0
mov esi, dword [esp + 0x20]
cmp edi, esi
je 0x4c12a4
cmp dword [esp + 0x28], 0
jne 0x4c7363
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, esi
jge 0x4c4280
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4c429b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c425f
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 0x4c4279
cmp dword [esp + 0x34], ecx
je 0x4c4279
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x4c4222
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x14]
je 0x4c72ca
mov ebp, dword [esp + 0x174]
jmp 0x4c12af
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c4280
cmp ebx, dword [ecx + 0x88]
jbe 0x4c4280
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c85f0
jmp 0x4c4280
mov edx, 1
cmp edi, edx
jl 0x4c4338
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4c6e14
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4327
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.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c42e7
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
cmp edi, esi
je 0x4c12a4
cmp dword [esp + 0x28], 0
jne 0x4c74ff
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, esi
jge 0x4c43bb
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4c43d6
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c43a0
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 0x4c43b4
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x4c4363
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x14]
je 0x4c7465
mov ebp, dword [esp + 0x174]
jmp 0x4c12af
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c43bb
cmp ebx, dword [ecx + 0x88]
jbe 0x4c43bb
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c85f0
jmp 0x4c43bb
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 0x4c44db
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 0x4c44db
xor edi, edi
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
jmp 0x4c44d3
mov edi, 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
jmp 0x4c44d3
xor edi, edi
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
mov dword [esp + 0x24], 1
jmp 0x4c44db
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 0x4c44db
movsx edi, byte [edx + 0x4d22ef]
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 + 0x4d22e7]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4c44db
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 0x4c44fc
cmp esi, 0xf
je 0x4c44fc
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x4c4522
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 0x4c51d0
test eax, eax
js 0x4c4a88
cmp eax, 8
ja case.default.0x4c2eb1
jmp dword [eax*4 + 0x4c8ef4]
cmp dword [esp + 0x38], 0
jne case.default.0x4c2b49
mov esi, dword [ebp + 0x7c]
mov edx, 1
mov ecx, ebx
cmp ebx, esi
jae 0x4c85c0
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 0x4c4555
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c45cb
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
mov al, byte [eax*8 + 0x4de091]
cmp al, 9
je 0x4c45fe
cmp al, 5
je 0x4c45fe
cmp al, 8
je 0x4c45fe
xor eax, eax
jmp 0x4c4603
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c4593
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c465b
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 + 0x4df170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], ebp
mov ebp, dword [esp + 0x174]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c4623
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop word [eax + eax]
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c46f8
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 + 0x4df170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c46c0
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4788
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 + 0x4df170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de090]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c4750
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4818
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c4851
cmp eax, 3
je 0x4c4851
xor eax, eax
jmp 0x4c4856
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c47e0
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
nop
cmp ebx, edi
jae 0x4c6e14
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c48b8
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 + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 6
je 0x4c4900
cmp edx, 9
je 0x4c4900
cmp edx, 0xa
je 0x4c4900
cmp edx, 0xc
je 0x4c4900
cmp edx, 0xd
je 0x4c4900
xor eax, eax
jmp 0x4c4905
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
inc esi
cmp esi, ebp
jle 0x4c4880
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4c6e14
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4969
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 + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 6
je 0x4c49b6
cmp edx, 9
je 0x4c49b6
cmp edx, 0xa
je 0x4c49b6
cmp edx, 0xb
je 0x4c49b6
cmp edx, 0xc
je 0x4c49b6
cmp edx, 0xd
je 0x4c49b6
xor eax, eax
jmp 0x4c49bb
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
inc esi
cmp esi, ebp
jle 0x4c4931
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4c6e14
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4a27
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 + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c4a67
cmp eax, 3
je 0x4c4a67
cmp edx, 0x5f
je 0x4c4a67
xor eax, eax
jmp 0x4c4a6c
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
inc esi
cmp esi, ebp
jle 0x4c49e7
mov edi, dword [esp + 0x20]
jmp 0x4c51c4
cmp esi, 0x16
jne 0x4c4ba3
lea ebp, [esi - 0x15]
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4ae2
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 2
je case.default.0x4c2b49
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x4c4b91
mov edi, ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4b56
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 2
jne 0x4c4b8d
lea ebx, [edi + edx*2]
mov edi, ebx
cmp ebx, esi
jb 0x4c4b21
mov edi, dword [esp + 0x20]
inc ebp
cmp ebp, edi
jle 0x4c4aa0
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4c2eb1
jmp dword [eax*4 + 0x4c8f18]
mov ecx, dword [ebp + 0x7c]
mov esi, 1
nop
cmp ebx, ecx
jae 0x4c85c0
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x4c4bea
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004ca500
add esp, 0xc
test eax, eax
jne case.default.0x4c2b49
jmp 0x4c4c15
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c4c15
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x4c4c15
cmp edx, 1
je case.default.0x4c2b49
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4c2b49
mov ecx, dword [ebp + 0x7c]
add ebx, 2
cmp ebx, ecx
jae 0x4c4c37
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4c4c37
add ebx, 2
inc esi
cmp esi, edi
jle 0x4c4bc0
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov edx, dword [ebp + 0x7c]
mov ecx, 1
nop dword [eax]
cmp ebx, edx
jae 0x4c85c0
add ebx, 2
cmp ebx, edx
jae 0x4c4c71
mov ax, word [ebx]
and ax, word [esp + 0x68]
cmp ax, word [esp + 0x48]
jne 0x4c4c71
add ebx, 2
inc ecx
cmp ecx, edi
jle 0x4c4c50
mov dword [esp + 0x18], ebx
jmp 0x4c51d0
mov eax, dword [ebp + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp ebx, eax
ja case.default.0x4c2b49
add ebx, ecx
mov dword [esp + 0x18], ebx
jmp 0x4c51d0
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4c6e14
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4cde
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 0x4c4d23
je case.0x4c4cfc.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c2b49
jmp dword [ecx*4 + 0x4c8f58]
mov ebx, edx
cmp edx, edi
jae 0x4c4d47
cmp word [edx], 0xa
jne 0x4c4d47
lea ebx, [edx + 2]
jmp 0x4c4d47
mov ebx, edx
jmp 0x4c4d47
sub ecx, 0x2028
je case.0x4c4cfc.11
sub ecx, 1
jne case.default.0x4c2b49
mov eax, dword [esp + 0x174]
mov ebx, edx
cmp dword [eax + 0x68], 0
jne case.default.0x4c2b49
inc esi
cmp esi, ebp
jle 0x4c4ca6
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4d9d
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 0x4c4df7
je case.default.0x4c2b49
cmp ecx, 0xa0
ja 0x4c4ddd
je case.default.0x4c2b49
cmp ecx, 9
je case.default.0x4c2b49
cmp ecx, 0x20
je case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c4d65
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
cmp ecx, 0x1680
je case.default.0x4c2b49
cmp ecx, 0x180e
je case.default.0x4c2b49
jmp case.0x4c4e17.8203
cmp ecx, 0x3000
ja case.0x4c4e17.8203
je case.default.0x4c2b49
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c4e17.8203
movzx eax, byte [ecx + 0x4c8f70]
jmp dword [eax*4 + 0x4c8f68]
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4e5e
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 0x4c4ea8
je case.0x4c4ecc.8193
cmp ecx, 0xa0
ja 0x4c4e92
je case.0x4c4ecc.8193
cmp ecx, 9
je case.0x4c4ecc.8193
cmp ecx, 0x20
jne case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c4e26
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
cmp ecx, 0x1680
je case.0x4c4ecc.8193
cmp ecx, 0x180e
jne case.default.0x4c2b49
jmp case.0x4c4ecc.8193
cmp ecx, 0x3000
ja case.default.0x4c2b49
je case.0x4c4ecc.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4c2b49
movzx eax, byte [ecx + 0x4c8fd8]
jmp dword [eax*4 + 0x4c8fd0]
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax + eax]
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4f1c
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 0x4c4f39
je case.default.0x4c2b49
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c4f32
jmp dword [ecx*4 + 0x4c9038]
sub ecx, 0x2028
je case.default.0x4c2b49
sub ecx, 1
je case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c4ee0
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4fa0
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 0x4c4fc1
je case.0x4c4fba.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c2b49
jmp dword [ecx*4 + 0x4c9048]
sub ecx, 0x2028
je case.0x4c4fba.10
sub ecx, 1
jne case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c4f64
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5024
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 0x4c5039
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4c2b49
inc edx
cmp edx, edi
jle 0x4c4fe8
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4c85c0
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4c2b49
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4c2b49
inc edx
add ebx, 2
cmp edx, edi
jle 0x4c5050
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c85c0
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4c50b5
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4c2b49
add ebx, 2
cmp ebx, esi
jae 0x4c50d8
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c50d8
add ebx, 2
inc edx
cmp edx, edi
jle 0x4c5091
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4c85c0
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4c2b49
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4c2b49
inc edx
add ebx, 2
cmp edx, edi
jle 0x4c50f0
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c85c0
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4c5155
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4c2b49
add ebx, 2
cmp ebx, esi
jae 0x4c5178
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c5178
add ebx, 2
inc edx
cmp edx, edi
jle 0x4c5131
mov dword [esp + 0x18], ebx
jmp 0x4c51c4
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4c85c0
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4c2b49
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4c2b49
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x4c5190
mov esi, dword [esp + 0x1c]
nop dword [eax + eax]
mov edx, dword [esp + 0x24]
cmp edi, edx
je 0x4c12a4
cmp dword [esp + 0x28], 0
mov eax, dword [esp + 0x2c]
jne 0x4c76bd
mov ebp, ebx
mov dword [esp + 0x28], ebp
test eax, eax
js 0x4c58e2
cmp eax, 8
ja case.default.0x4c2eb1
jmp dword [eax*4 + 0x4c9058]
mov ecx, dword [esp + 0x174]
cmp edi, edx
jge 0x4c58c7
mov edx, dword [ecx + 0x7c]
mov esi, 0xd800
cmp ebx, edx
jae 0x4c525f
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x38], 0
movzx ecx, ax
jne 0x4c58c0
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 0x4c5220
jmp 0x4c58c0
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c58c7
cmp ebx, dword [ecx + 0x88]
jbe 0x4c58c7
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c85f0
jmp 0x4c58c7
cmp edi, edx
jge 0x4c58c0
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c525f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c52e4
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
mov al, byte [eax*8 + 0x4de091]
cmp al, 9
je 0x4c5322
cmp al, 5
je 0x4c5322
cmp al, 8
je 0x4c5322
xor eax, eax
jmp 0x4c5327
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c58c0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c52a7
jmp 0x4c58c0
cmp edi, edx
jge 0x4c58c0
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x4c525f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c53a1
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 + 0x4df170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], ebp
mov ebp, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4c58c0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5360
jmp 0x4c58c0
cmp edi, edx
jge 0x4c58c0
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4c525f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5451
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 + 0x4df170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4c58c0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5410
jmp 0x4c58c0
cmp edi, edx
jge 0x4c58c0
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c525f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c54f2
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 + 0x4df170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de090]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4c58c0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c54b1
jmp 0x4c58c0
cmp edi, edx
jge 0x4c58c0
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c525f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5593
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c55d7
cmp eax, 3
je 0x4c55d7
xor eax, eax
jmp 0x4c55dc
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c58c0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5552
jmp 0x4c58c0
cmp edi, edx
jge 0x4c58c0
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop
mov esi, 1
cmp ebx, edi
jae 0x4c56de
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5651
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 + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 6
je 0x4c56b0
cmp edx, 9
je 0x4c56b0
cmp edx, 0xa
je 0x4c56b0
cmp edx, 0xc
je 0x4c56b0
cmp edx, 0xd
je 0x4c56b0
xor eax, eax
jmp 0x4c56b5
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c58c0
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 0x4c5610
jmp 0x4c58c0
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c58c7
cmp ebx, dword [ecx + 0x88]
jbe 0x4c58c7
mov dword [ecx + 0x64], esi
cmp eax, 1
jg 0x4c85f0
jmp 0x4c58c7
cmp edi, edx
jge 0x4c58c0
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
mov esi, 1
cmp ebx, edi
jae 0x4c56de
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c575f
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 + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 6
je 0x4c57c7
cmp edx, 9
je 0x4c57c7
cmp edx, 0xa
je 0x4c57c7
cmp edx, 0xb
je 0x4c57c7
cmp edx, 0xc
je 0x4c57c7
cmp edx, 0xd
je 0x4c57c7
xor eax, eax
jmp 0x4c57cc
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c58c0
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 0x4c5722
jmp 0x4c58c0
cmp edi, edx
jge 0x4c58c0
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp ebx, edi
jae 0x4c525f
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5848
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 + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c5897
cmp eax, 3
je 0x4c5897
cmp edx, 0x5f
je 0x4c5897
xor eax, eax
jmp 0x4c589c
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c58c0
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 0x4c5807
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x14]
je 0x4c75e0
mov ebp, dword [esp + 0x174]
jmp 0x4c12af
cmp esi, 0x16
jne 0x4c5b39
cmp edi, edx
mov edi, dword [esp + 0x174]
jge 0x4c5a55
mov ebp, dword [edi + 0x7c]
nop dword [eax]
cmp ebx, ebp
jae 0x4c5a27
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5941
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 2
je 0x4c5a51
mov edi, dword [edi + 0x7c]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp ebx, edi
jae 0x4c5a08
mov esi, ebx
nop word [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c59c9
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 2
jne 0x4c5a04
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4c5990
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 0x4c5900
jmp 0x4c5a51
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x4c5a51
cmp ebx, dword [edi + 0x88]
jbe 0x4c5a51
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x4c85f0
mov ebp, dword [esp + 0x28]
cmp dword [esp + 0x30], 0
jne 0x4c12a4
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c2b49
mov ebp, 0xdc00
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and ecx, 0xfc00
movzx edi, cx
cmp cx, bp
jne 0x4c5ac7
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 0x4c5aff
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 2
jne 0x4c7673
lea ebx, [esi - 2]
jmp 0x4c5aa7
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4c2eb1
jmp dword [eax*4 + 0x4c907c]
cmp edx, 0x7fffffff
jge 0x4c5c51
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x4c5c2b
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4c5ba1
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004ca500
add esp, 0xc
test eax, eax
jne 0x4c5fd4
jmp 0x4c5bdb
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c5bdb
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4c5bdb
cmp edx, 1
je 0x4c5fd4
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4c5fd4
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c5c1b
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4c5c1b
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4c5b70
jmp 0x4c5fd4
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x4c5fd4
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5fd4
jmp 0x4c5da4
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop dword [eax + eax]
cmp ebx, ecx
jae 0x4c5c2b
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4c5c8d
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004ca500
add esp, 0xc
test eax, eax
jne 0x4c5fd4
jmp 0x4c5cc7
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c5cc7
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4c5cc7
cmp edx, 1
je 0x4c5fd4
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4c5fd4
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c5d07
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4c5d07
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4c5c60
jmp 0x4c5fd4
cmp edx, 0x7fffffff
jge 0x4c5d7c
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c5d70
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, ecx
jae 0x4c5d66
mov ax, word [ebx]
and ax, word [esp + 0x68]
cmp ax, word [esp + 0x48]
jne 0x4c5d66
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, edx
jl 0x4c5d35
jmp 0x4c5fd4
mov ecx, dword [esp + 0x174]
jmp 0x4c5d8a
mov ecx, dword [esp + 0x174]
mov ebx, dword [ecx + 0x7c]
mov dword [esp + 0x18], ebx
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c5fdb
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5fdb
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c85f0
jmp 0x4c5fdb
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 0x4c5df1
mov eax, dword [edi + 0x8c]
mov ebx, ecx
mov dword [esp + 0x18], ebx
test eax, eax
je 0x4c5df8
cmp ecx, dword [edi + 0x88]
mov ecx, edi
jmp 0x4c5d9e
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
mov ecx, edi
jmp 0x4c5fdb
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x4c5eeb
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5e52
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x4c5e57
mov eax, 2
cmp ecx, 0xd
jne 0x4c5e81
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, edx
jae 0x4c5fd4
cmp word [ebx], 0xa
jne 0x4c5edb
add ebx, 2
jmp 0x4c5ed7
cmp ecx, 0xa
je 0x4c5ed5
mov ebp, dword [esp + 0x174]
cmp dword [ebp + 0x68], 0
mov ebp, dword [esp + 0x28]
jne 0x4c5fd4
cmp ecx, 0xb
je 0x4c5ed5
cmp ecx, 0xc
je 0x4c5ed5
cmp ecx, 0x85
je 0x4c5ed5
cmp ecx, 0x2028
je 0x4c5ed5
cmp ecx, 0x2029
jne 0x4c5fd4
add ebx, eax
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4c5e11
jmp 0x4c5fd4
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c5fdb
cmp ebx, dword [ecx + 0x88]
jbe 0x4c5fdb
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c85f0
jmp 0x4c5fdb
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c6103
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5f74
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 0x4c60ca
je case.0x4c60f2.8193
cmp ecx, 0xa0
ja 0x4c60b3
je case.0x4c60f2.8193
cmp ecx, 9
je case.0x4c60f2.8193
cmp ecx, 0x20
je case.0x4c60f2.8193
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x1c], 0x12
sete al
cmp ecx, eax
je 0x4c5fd0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5f33
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4c12a4
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop dword [eax]
lea ecx, [ebx - 2]
cmp ebx, ebp
je case.default.0x4c2b49
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4c6047
add ecx, 0xfffffffe
mov ebx, ecx
cmp esi, 0x11
jne 0x4c606f
cmp ecx, ebp
jbe 0x4c606f
cmp word [ecx], 0xa
jne 0x4c606f
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c6020
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x1680
je case.0x4c60f2.8193
cmp ecx, 0x180e
jmp 0x4c5fa4
cmp ecx, 0x3000
ja case.0x4c60f2.8203
je case.0x4c60f2.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c60f2.8203
movzx eax, byte [ecx + 0x4c90c4]
jmp dword [eax*4 + 0x4c90bc]
mov ecx, 1
jmp 0x4c5fac
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6130
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6130
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x4c85f0
mov esi, dword [esp + 0x1c]
jmp 0x4c5fdb
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x4c6200
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6191
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 0x4c61b6
je case.0x4c61af.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c61af
jmp dword [ecx*4 + 0x4c9124]
sub ecx, 0x2028
je case.0x4c61af.10
sub ecx, 1
je case.0x4c61af.10
xor ecx, ecx
jmp 0x4c61d7
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x1c], 0x14
sete al
cmp ecx, eax
je 0x4c5fd0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6150
jmp 0x4c5fd0
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6130
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6130
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c85f0
mov esi, dword [esp + 0x1c]
jmp 0x4c5fdb
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4c6200
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c628d
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 0x4c62ad
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x4c5fd0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6250
jmp 0x4c5fd0
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c6200
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6313
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 0x4c5fd0
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x4c5fd0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c62d2
jmp 0x4c5fd0
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c6200
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6399
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 0x4c63b9
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x4c5fd0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6358
jmp 0x4c5fd0
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop
cmp ebx, esi
jae 0x4c6200
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6421
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 0x4c5fd0
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x4c5fd0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c63e0
jmp 0x4c5fd0
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c6200
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c64a7
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 0x4c64c7
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x4c5fd0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6466
jmp 0x4c5fd0
cmp edi, edx
jge 0x4c5fd4
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4c6564
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6531
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 0x4c5fd0
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x4c5fd0
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c64f0
jmp 0x4c5fd0
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6130
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6130
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x4c6130
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x74
mov ecx, ebx
jne 0x4c65f0
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4c682b
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x4c682b
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 0x4c6692
nop dword [eax]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
je 0x4c6670
jmp 0x4c6692
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 0x4c682f
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.004c11c0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x75
je 0x4c6a59
cmp ecx, 0x74
jne 0x4c674a
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x4c6a17
mov ecx, 0x82
cmp ax, cx
jae 0x4c69d7
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4c682b
mov eax, 0x82
cmp word [ebp], ax
jb 0x4c6763
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.004c11c0
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4c679b
cmp dword [edi + 0xb8], ebp
jmp 0x4c679d
test eax, eax
jne 0x4c6844
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4c6a55
mov ebp, dword [esp + 0x174]
jmp 0x4c682f
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 0x4c8600
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
nop dword [eax + eax]
cmp edx, 0x82
jae 0x4c684f
cmp edx, 0x7b
je 0x4c684f
cmp dword [ebp + 0x6c], 0
jne 0x4c6859
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x4c6859
movzx eax, word [esi]
movzx eax, byte [eax + 0x4e1af0]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x4c1261
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 + 0x4e1af0]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.004c11c0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x4c68d3
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebp + 0x80], eax
jae 0x4c87c2
cmp word [edi], 0x71
je 0x4c68db
cmp word [eax], 0x71
jne 0x4c87c2
jmp 0x4c68db
test edx, edx
jne 0x4c8777
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.0x4c2b49
mov edx, dword [esp + 0x20]
jmp 0x4c67f0
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c6951
cmp eax, 0xfffffc1d
je 0x4c6951
cmp eax, 0xfffffc20
jne 0x4c6844
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 0x4c6997
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
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.004c11c0
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c6aa2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, esi
jmp 0x4c6a19
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
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.0x4c2b49
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x4c2b49
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x4c2b49
mov dword [ecx + 0x64], 1
jmp 0x4c85e1
mov edi, ebx
cmp esi, eax
jge 0x4c6bb0
nop
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004c1010
add esp, 0xc
test eax, eax
js 0x4c6b62
mov ecx, dword [esp + 0x2c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, dword [esp + 0x34]
jl 0x4c6b30
jmp 0x4c6b9c
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6b9c
cmp ebx, dword [ecx + 0x7c]
jb 0x4c6b9c
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6b9c
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c85f0
cmp ebx, edi
jb case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x4c6bb0
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.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jb case.default.0x4c2b49
cmp ebx, dword [esi + 0x88]
jbe case.default.0x4c2b49
mov dword [esi + 0x64], 1
jmp 0x4c85e1
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c34a6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp esi, edi
jge 0x4c6d08
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x30]
mov edi, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, edi
jae 0x4c6dde
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6cf1
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 0x4c6da5
cmp dword [esp + 0x20], 0x6a
jne 0x4c6dc5
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c2b49
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c6d6b
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c6d46
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 0x4c6d08
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 0x4c6cb0
jmp 0x4c6d08
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4c6d0f
cmp ebx, dword [esi + 0x88]
jbe 0x4c6d0f
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c85f0
jmp 0x4c6d0f
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x4c2b49
jmp 0x4c6b0d
mov ebp, ebx
cmp edi, esi
jge 0x4c6ea5
nop dword [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x4c6f42
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6e89
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.004ca6b0
add esp, 4
test eax, eax
je 0x4c6ea5
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x34]
jl 0x4c6e40
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c2b49
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c6f08
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c6ee3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4c6eac
cmp ebx, dword [esi + 0x88]
jbe 0x4c6eac
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c85f0
jmp 0x4c6eac
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x4c2b49
cmp ebx, ecx
jb case.default.0x4c2b49
jmp 0x4c85ce
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
cmp esi, edi
jge case.default.0x4c2b49
mov ecx, dword [esp + 0x3c]
mov ebp, dword [ebp + 0x7c]
mov eax, ebp
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x4c7067
mov edx, dword [esp + 0x1c]
lea esi, [ecx + ecx]
mov ecx, ebx
sub esi, 4
jb 0x4c7015
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c701e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c7000
cmp esi, 0xfffffffc
je 0x4c70f7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c7067
cmp esi, 0xfffffffd
je 0x4c70f7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c7067
cmp esi, 0xfffffffe
je 0x4c70f7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c7067
cmp esi, 0xffffffff
je 0x4c70f7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4c70f7
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4c714d
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x4c714d
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4c70a9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c70b2
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c7094
cmp esi, 0xfffffffc
je 0x4c70f7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c714d
cmp esi, 0xfffffffd
je 0x4c70f7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c714d
cmp esi, 0xfffffffe
je 0x4c70f7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c714d
cmp esi, 0xffffffff
je 0x4c70f7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c714d
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.004c11c0
mov edi, dword [esp + 0x34]
add esp, 0x14
test eax, eax
je 0x4c6fc8
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.0x4c2b49
cmp ebx, ebp
jmp 0x4c6b07
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
cmp ebp, dword [esp + 0x20]
jge case.default.0x4c2b49
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c6e1b
movzx eax, word [ebx]
cmp esi, eax
je 0x4c71cd
cmp edi, eax
jne case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c71a4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x4c2b49
cmp ebx, dword [edi + 0x88]
jbe case.default.0x4c2b49
mov dword [edi + 0x64], 1
jmp 0x4c85e1
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop dword [eax + eax]
cmp ebp, dword [esp + 0x20]
jge case.default.0x4c2b49
cmp ebx, dword [edi + 0x7c]
jae 0x4c720d
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7270
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c2b49
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c7329
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7300
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop
cmp edi, esi
jge case.default.0x4c2b49
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4c743f
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c73ec
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.0x4c2b49
cmp ebp, ecx
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c73a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x4c2b49
cmp ebx, dword [edx + 0x88]
jbe case.default.0x4c2b49
mov dword [edx + 0x64], 1
jmp 0x4c85e1
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c2b49
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c74c5
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c74a0
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
cmp edi, esi
jge case.default.0x4c2b49
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4c743f
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7584
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.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7538
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x4c2b49
jmp 0x4c6c1a
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c2b49
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c7639
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7614
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.004c11c0
mov ebp, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
je 0x4c5a95
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x4c8054
cmp eax, 8
ja case.default.0x4c2eb1
jmp dword [eax*4 + 0x4c9134]
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
mov ecx, ebx
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c773d
lea ebx, [ecx + 4]
cmp dword [esp + 0x38], 0
jne case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7713
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7808
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
mov al, byte [eax*8 + 0x4de091]
cmp al, 9
je 0x4c784a
cmp al, 5
je 0x4c784a
cmp al, 8
je 0x4c784a
xor eax, eax
jmp 0x4c784f
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c77c1
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c791d
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 + 0x4df170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], edx
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c78d6
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7a27
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 + 0x4df170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c79e0
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7b27
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 + 0x4df170]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de090]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7ae0
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7c27
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c7c6b
cmp eax, 3
je 0x4c7c6b
xor eax, eax
jmp 0x4c7c70
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7be0
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop word [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7d47
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 + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 6
je 0x4c7da6
cmp edx, 9
je 0x4c7da6
cmp edx, 0xa
je 0x4c7da6
cmp edx, 0xc
je 0x4c7da6
cmp edx, 0xd
je 0x4c7da6
xor eax, eax
jmp 0x4c7dab
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7d00
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7e79
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 + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 6
je 0x4c7ee1
cmp edx, 9
je 0x4c7ee1
cmp edx, 0xa
je 0x4c7ee1
cmp edx, 0xb
je 0x4c7ee1
cmp edx, 0xc
je 0x4c7ee1
cmp edx, 0xd
je 0x4c7ee1
xor eax, eax
jmp 0x4c7ee6
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7e32
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.004c11c0
add esp, 0x14
test eax, eax
jne 0x4c6844
nop dword [eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
cmp ebx, dword [esi + 0x7c]
jae 0x4c75cd
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7fb7
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 + 0x4df170]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
mov eax, dword [eax*4 + 0x4e16b0]
cmp eax, 1
je 0x4c8006
cmp eax, 3
je 0x4c8006
cmp edx, 0x5f
je 0x4c8006
xor eax, eax
jmp 0x4c800b
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c7f70
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.004c11c0
add esp, 0x14
cmp esi, 0x16
jne 0x4c81e2
test eax, eax
jne 0x4c6844
nop dword [eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
mov edi, dword [ebp + 0x7c]
cmp ebx, edi
jae 0x4c85c0
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c80e9
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 2
je case.default.0x4c2b49
cmp ebx, edi
jae 0x4c8199
mov esi, ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c815e
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 + 0x4df170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d2790]
movzx eax, byte [eax*8 + 0x4de091]
cmp dword [eax*4 + 0x4e16b0], 2
jne 0x4c8199
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4c8125
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c80a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x4c6844
nop word [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4c2b49
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4c85c0
cmp esi, 0xc
jne 0x4c826a
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x4c8237
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004ca500
add esp, 0xc
test eax, eax
jne case.default.0x4c2b49
jmp 0x4c826a
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c826a
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x4c826a
cmp edx, 1
je case.default.0x4c2b49
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4c2b49
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c829e
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.0x4c2eb1
jmp dword [eax*4 + 0x4c9158]
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x85
ja 0x4c82fa
je case.0x4c82d6.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c2b49
jmp dword [ecx*4 + 0x4c9198]
mov ebx, edx
cmp edx, dword [ebp + 0x7c]
jae 0x4c856f
cmp word [edx], 0xa
jne 0x4c856f
lea ebx, [edx + 2]
jmp 0x4c856f
sub ecx, 0x2028
je case.0x4c82d6.11
sub ecx, 1
jne case.default.0x4c2b49
cmp dword [ebp + 0x68], 0
mov ebx, edx
jne case.default.0x4c2b49
jmp 0x4c856f
cmp ecx, 0x2000
ja 0x4c8378
je case.default.0x4c2b49
cmp ecx, 0xa0
ja 0x4c8359
je case.default.0x4c2b49
cmp ecx, 9
je case.default.0x4c2b49
cmp ecx, 0x20
je case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x1680
je case.default.0x4c2b49
cmp ecx, 0x180e
je case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x3000
ja case.0x4c82aa.12
je case.default.0x4c2b49
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c82aa.12
movzx eax, byte [ecx + 0x4c91b0]
jmp dword [eax*4 + 0x4c91a8]
cmp ecx, 0x2000
ja 0x4c8403
je case.0x4c82aa.12
cmp ecx, 0xa0
ja 0x4c83e4
je case.0x4c82aa.12
cmp ecx, 9
je case.0x4c82aa.12
cmp ecx, 0x20
jne case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x1680
je case.0x4c82aa.12
cmp ecx, 0x180e
jne case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x3000
ja case.default.0x4c2b49
je case.0x4c82aa.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4c2b49
movzx eax, byte [ecx + 0x4c9218]
jmp dword [eax*4 + 0x4c9210]
cmp ecx, 0x85
ja 0x4c8457
je case.default.0x4c2b49
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4c82aa.12
jmp dword [ecx*4 + 0x4c9278]
sub ecx, 0x2028
je case.default.0x4c2b49
sub ecx, 1
je case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x85
ja 0x4c8498
je case.0x4c82aa.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c2b49
jmp dword [ecx*4 + 0x4c9288]
sub ecx, 0x2028
je case.0x4c82aa.12
sub ecx, 1
jne case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x100
jae case.0x4c82aa.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x100
jae case.default.0x4c2b49
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x100
jae case.0x4c82aa.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x100
jae case.default.0x4c2b49
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x100
jae case.0x4c82aa.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4c2b49
mov ebx, edx
jmp 0x4c856f
cmp ecx, 0x100
jae case.default.0x4c2b49
mov eax, dword [ebp + 0x3c]
mov ebx, edx
test byte [ecx + eax], 0x10
je case.default.0x4c2b49
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.004c11c0
add esp, 0x14
test eax, eax
je 0x4c81f0
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.0x4c2b49
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x4c2b49
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4c2b49
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 0x4c8658
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 + 0x4e1af0]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c11c0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1c
je 0x4c8736
cmp edx, 0xfffffc20
jne 0x4c86ec
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 0x4c876a
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0x71
mov ecx, dword [esp + 0x174]
je 0x4c86e5
cmp word [eax], 0x71
jne 0x4c876a
xor edx, edx
jmp 0x4c86fb
test edx, edx
jne 0x4c876a
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 0x4c873d
mov edx, ecx
jmp 0x4c8640
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 0x4c87c2
movzx eax, word [edi]
cmp eax, 0x7b
je 0x4c87b7
cmp eax, 0x71
jne 0x4c87ae
nop dword [eax + eax]
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4c87a0
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 + 0x4e1af0]
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.004c11c0
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x4c8831
cmp esi, 0xfffffc19
jne 0x4c8851
cmp dword [ebp + 0xb0], 0
jne 0x4c8851
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x4c6997
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.004ca470
test eax, eax
jne 0x4c6997
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 + 0x4e1af0]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c11c0
add esp, 0x14
test eax, eax
je 0x4c88e9
cmp eax, 0xfffffc1d
je 0x4c88e9
cmp eax, 0xfffffc1e
je 0x4c88e9
cmp eax, 0xfffffc1f
je 0x4c88e9
cmp eax, 0xfffffc20
jne 0x4c6844
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 + 0x4e1af0]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c11c0
add esp, 0x14
test eax, eax
je 0x4c89cb
cmp eax, 0xfffffc20
je 0x4c89cb
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 + 0x4e1af0]
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.004c11c0
add esp, 0x14
cmp eax, 1
je 0x4c89ad
cmp eax, 0xfffffc19
jne 0x4c89bc
cmp dword [ebp + 0xb0], 0
jne 0x4c89bc
mov dword [ebp + 0xb0], esi
test eax, eax
je 0x4c89cb
cmp eax, 0xfffffc20
jne 0x4c6844
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 + 0x4e1af0]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c11c0
add esp, 0x14
test eax, eax
je 0x4c8a28
cmp eax, 0xfffffc1d
je 0x4c8a28
cmp eax, 0xfffffc20
jne 0x4c6844
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 + 0x4e1af0]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c11c0
add esp, 0x14
test eax, eax
je 0x4c8b02
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 + 0x4e1af0]
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.004c11c0
add esp, 0x14
cmp eax, 1
je 0x4c8ae7
cmp eax, 0xfffffc19
jne 0x4c8af6
cmp dword [ebp + 0xb0], 0
jne 0x4c8af6
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x4c6844
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 0x4c8b68
cmp edx, 0x99
je 0x4c8b68
cmp dword [ebp + 0xa8], 0
jne 0x4c8b68
cmp dword [ebp + 0x5c], 0
jne case.default.0x4c2b49
cmp dword [ebp + 0x60], 0
je 0x4c8b68
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x4c2b49
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