Function at 0x4c1fd0
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 0x4c202e
cmp dword [esp + 0x17c], edx
jne 0x4c2013
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.004c1fd0
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 + 0x44], 0
mov dword [esp + 0x38], 0
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jae 0x4c6f5b
mov dword [esp + 0x48], 0xfc00
mov dword [esp + 0x4c], 0xdc00
mov dword [esp + 0x50], closesocket
mov dword [esp + 0x54], 0xd800
inc eax
mov dword [ebp], eax
mov eax, dword [esp + 0x17c]
cmp eax, dword [ebp + 8]
jae 0x4c95bd
cmp dword [ebp + 0x9c], 2
jne 0x4c20cb
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 0x4c20cb
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
jmp 0x4c20d2
jne case.default.0x4c3950
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
movzx ecx, word [esi]
mov edx, ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], edx
cmp edx, 0x9b
ja case.0x4c20fe.98
movzx eax, byte [edx + 0x4c9718]
jmp dword [eax*4 + 0x4c95d0]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4e2380]
je 0x4c7050
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x4c20d2
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.004c1fd0
mov edx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 1
je 0x4c2238
cmp eax, 0xfffffc20
jne 0x4c21aa
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
jae 0x4c21aa
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x4c21b2
cmp word [ecx], 0x71
mov eax, 0xfffffc20
je 0x4c21b2
test eax, eax
jne 0x4c6f64
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 0x4c2136
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x4c21f0
cmp eax, 0x71
jne case.default.0x4c3950
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 0x4c21f0
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x18], ebx
cmp ecx, 0x72
je 0x4c2225
cmp ebx, edi
jne 0x4c6d00
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
jmp 0x4c20cb
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
mov dword [esp + 0x16c], eax
movzx ecx, word [esi]
jmp 0x4c21d9
xor ebp, ebp
mov dword [esp + 0x30], ebp
jmp 0x4c2d28
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
jne 0x4c2347
mov esi, dword [0x4fc378]
test esi, esi
je 0x4c233c
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.0x4c3950
js 0x4c6f64
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 0x4c2564
cmp ecx, 0x8a
je 0x4c2564
cmp ecx, 0x87
je 0x4c23d8
cmp ecx, 0x88
je 0x4c23d8
cmp ecx, 0x8b
jne 0x4c238a
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4c26f1
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.004c1fd0
add esp, 0x14
cmp eax, 1
je 0x4c6d91
test eax, eax
je 0x4c23d0
cmp eax, 0xfffffc20
jne 0x4c6f64
lea eax, [esi + edi*2]
jmp 0x4c26f1
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x4c23f5
mov eax, dword [ebp + 0xc]
cmp dword [eax + edx*4], 0
jge 0x4c254e
xor ebp, ebp
cmp ecx, 0x88
jne 0x4c252d
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x28], ebp
mov eax, dword [ecx + 0x28]
mov edi, eax
mov edx, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x30], eax
test edx, edx
jle 0x4c2467
mov dword [esp + 0x28], ebp
xor ebx, ebx
mov ebp, eax
nop dword [eax]
movzx eax, word [edi]
cmp eax, esi
je 0x4c245b
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea edi, [eax*2]
lea eax, [ebx + 1]
add edi, ebp
mov dword [esp + 0x3c], eax
mov ecx, eax
mov ebp, edi
mov ebx, eax
cmp eax, edx
jl 0x4c2430
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
cmp ecx, edx
jge 0x4c252d
mov ecx, dword [esp + 0x174]
mov esi, edi
cmp edi, eax
jbe 0x4c24d2
nop dword [eax]
mov eax, dword [ecx + 0x24]
lea ecx, [edi + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.004cb140
test eax, eax
jne 0x4c2541
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4c24be
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4c254e
mov ecx, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x28], edx
cmp esi, dword [ecx + 0x28]
ja 0x4c2480
xor ebp, ebp
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
cmp eax, dword [ecx + 0x20]
jge 0x4c252d
lea esi, [edi + 2]
mov eax, dword [ecx + 0x24]
mov ecx, esi
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004cb140
test eax, eax
jne 0x4c252d
movzx eax, word [edi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4c2516
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4c254e
mov eax, dword [esp + 0x3c]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
inc eax
mov dword [esp + 0x3c], eax
cmp eax, dword [ecx + 0x20]
jl 0x4c24e3
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x4c26e7
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x174]
jmp 0x4c24d2
mov ecx, dword [esp + 0x14]
mov eax, 2
mov ebp, 1
lea eax, [ecx + eax*2]
jmp 0x4c26e7
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x4c257a
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4c26f1
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x4c26da
cmp edx, dword [eax + 4]
je 0x4c26da
xor ebp, ebp
cmp ecx, 0x8a
jne 0x4c26d4
mov eax, dword [esp + 0x174]
xor ecx, ecx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x28], ebp
mov esi, dword [eax + 0x20]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x34], edi
test esi, esi
jle 0x4c25ff
mov dword [esp + 0x28], ebp
xor ebx, ebx
mov ebp, edi
movzx eax, word [edi]
cmp eax, edx
je 0x4c25f3
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea edi, [eax*2]
lea eax, [ebx + 1]
add edi, ebp
mov dword [esp + 0x30], eax
mov ecx, eax
mov ebp, edi
mov ebx, eax
cmp eax, esi
jl 0x4c25c8
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x34], edi
mov edx, dword [esp + 0x174]
cmp ecx, dword [edx + 0x20]
jge 0x4c26d0
cmp edi, dword [edx + 0x28]
jbe 0x4c2668
mov ebx, dword [esp + 0x28]
lea ebp, [edi + 2]
mov esi, edi
mov edi, edx
nop
mov eax, dword [edi + 0x24]
mov ecx, ebp
add eax, eax
sub esi, eax
lea edx, [esi + 2]
call fcn.004cb140
test eax, eax
jne 0x4c264d
mov eax, dword [edi + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x4c264d
cmp esi, dword [edi + 0x28]
ja 0x4c2620
mov edi, dword [esp + 0x34]
test ebx, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x18]
jne 0x4c26c2
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x30]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x4c26d0
mov ebx, dword [esp + 0x28]
lea ebp, [edi + 2]
nop dword [eax]
mov eax, dword [edx + 0x24]
mov ecx, ebp
lea edx, [edi + eax*2]
mov edi, edx
add edx, 2
call fcn.004cb140
test eax, eax
jne 0x4c26b6
mov edx, dword [esp + 0x174]
xor ebx, ebx
movzx ecx, word [edi]
mov eax, dword [edx + 0xa8]
cmp ecx, dword [eax + 4]
sete bl
je 0x4c26b6
inc esi
cmp esi, dword [edx + 0x20]
jl 0x4c2680
mov dword [esp + 0x28], ebx
test ebx, ebx
mov ebx, dword [esp + 0x18]
je 0x4c26cc
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
jmp 0x4c26df
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x4c26e4
mov ebp, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test ebp, ebp
jne 0x4c6dd2
mov ebp, dword [esp + 0x174]
mov ecx, eax
mov edi, dword [esp + 0x170]
cmp word [ecx], 0x71
je 0x4c6de0
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x4c20d2
movzx edx, word [esi + 2]
mov dword [ebp + 0x94], edx
lea esi, [edx + edx]
cmp esi, dword [ebp + 0x14]
jl 0x4c2740
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*8], eax
mov ecx, ebx
sub ecx, dword [ebp + 0x78]
mov eax, dword [ebp + 0xc]
sar ecx, 1
mov dword [eax + edx*8 + 4], ecx
cmp edi, esi
jg 0x4c276a
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4c279a
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4c279c
xor edi, edi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
lea edx, [ecx + 4]
inc eax
mov ecx, ebx
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
cmp eax, 1
je 0x4c27ff
cmp eax, 0xfffffc19
je 0x4c27ff
test eax, eax
je 0x4c27e2
cmp eax, 0xfffffc20
jne 0x4c6f64
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp + 0xb0], esi
cmp word [ecx], 0x71
mov dword [esp + 0x14], ecx
je 0x4c27a0
jmp 0x4c280c
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x16c], eax
mov esi, dword [esp + 0x14]
cmp word [esi], 0x72
je case.default.0x4c3950
test edi, edi
jne 0x4c722e
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4c2822
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x4c20d2
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4c2869
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4c286b
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.004c1fd0
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x4c3950
cmp eax, 0xfffffc19
je case.default.0x4c3950
cmp eax, 0xfffffc1e
je 0x4c28ef
cmp eax, 0xfffffc1d
je 0x4c28ef
cmp eax, 0xfffffc1a
je 0x4c28ef
test eax, eax
je 0x4c28d5
cmp eax, 0xfffffc20
jne 0x4c6f64
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 0x4c2870
mov esi, ecx
jmp 0x4c2901
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4c28f3
test edi, edi
jne 0x4c722e
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c20cb
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x4c294a
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x18], ebx
cmp ebx, edx
jb case.default.0x4c3950
mov ax, word [ebx]
and ax, word [esp + 0x48]
cmp ax, word [esp + 0x4c]
jne 0x4c2946
add ebx, 0xfffffffe
mov dword [esp + 0x18], ebx
test ecx, ecx
jg 0x4c2920
cmp ebx, dword [ebp + 0x88]
jae 0x4c2958
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov esi, dword [0x4fc378]
test esi, esi
je 0x4c2a42
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.0x4c3950
js 0x4c6f64
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x4c20cb
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x4c2a64
xor ecx, ecx
jmp 0x4c2a68
movzx ecx, word [edi + 4]
mov eax, dword [ebp + 0xa8]
test eax, eax
je 0x4c2a86
cmp ecx, dword [eax + 4]
jne 0x4c2a80
cmp ebx, dword [eax + 0x10]
je 0x4c70ab
mov eax, dword [eax]
test eax, eax
jne 0x4c2a72
mov dword [esp + 0x5c], ecx
add esi, 4
mov dword [esp + 0x68], ebx
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x58]
mov dword [ebp + 0xa8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x64], eax
cmp eax, 0x1e
jg 0x4c2ac2
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x4c2ae1
shl eax, 2
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x4c70e1
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call sub.VCRUNTIME140.dll_memcpy
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
nop dword [eax + eax]
mov eax, 0x82
cmp bp, ax
jb 0x4c2b14
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 + 0x4e2380]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.004c1fd0
mov ecx, dword [esp + 0x78]
add esp, 0x14
shl ecx, 2
mov esi, eax
mov eax, dword [esp + 0x174]
push ecx
push dword [esp + 0x64]
push dword [eax + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x4c2be8
cmp esi, 0xfffffc19
je 0x4c2be8
test esi, esi
je 0x4c2b98
cmp esi, 0xfffffc20
jne 0x4c70bb
lea eax, [esp + 0x58]
mov dword [ecx + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4c2b00
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
lea ecx, [esp + 0xf0]
mov eax, dword [esp + 0x60]
cmp eax, ecx
je case.default.0x4c3950
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4c2c01
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 0x4c20c7
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x4c20fe.113
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov eax, dword [esp + 0x17c]
add esi, 2
inc eax
mov edx, esi
push eax
push dword [esp + 0x17c]
mov ecx, ebx
push ebp
push edi
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov ecx, esi
nop dword [eax]
movzx eax, word [esi + 2]
cmp word [ecx + eax*2], 0x71
lea esi, [ecx + eax*2]
mov ecx, esi
je 0x4c2c70
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c20d2
lea edx, [esi + 2]
mov ecx, edx
movzx eax, word [edx + 2]
cmp word [ecx + eax*2], 0x71
lea edx, [ecx + eax*2]
mov ecx, edx
je 0x4c2c91
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push edi
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
lea eax, [esi + 2]
mov ecx, eax
movzx eax, word [eax + 2]
cmp word [ecx + eax*2], 0x71
lea eax, [ecx + eax*2]
mov ecx, eax
je 0x4c2ce0
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x4c20d2
movzx edx, word [esi + 2]
add esi, 2
mov dword [esp + 0x14], esi
mov ebp, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], ebp
cmp edx, 0x80
je 0x4c2d28
cmp edx, 0x85
jne 0x4c2ede
movzx edi, word [esi + 4]
mov esi, dword [esp + 0x174]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x14]
jge 0x4c2ed8
mov ecx, dword [esi + 0xc]
xor edx, edx
mov ebp, dword [esp + 0x14]
sub ebp, dword [esi + 0x74]
sar ebp, 1
mov eax, dword [ecx + edi*8]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + edi*8 + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x10]
sub eax, edi
mov dword [esp + 0x34], edx
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov dword [esp + 0x2c], eax
mov esi, dword [ecx + 0x94]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, edi
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x4c2da8
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 + 0x4e2380]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c1fd0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x4c2e24
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x34], 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 + ebp*2]
mov dword [esp + 0x14], eax
jmp 0x4c2d6e
cmp eax, 0xfffffc20
jne 0x4c2e5c
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x4c2e60
cmp word [edx], 0x71
je 0x4c2e68
cmp word [ecx], 0x71
je 0x4c2e68
jmp 0x4c2e60
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x4c6f64
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 0x4c2d74
mov edx, dword [esp + 0x34]
mov ebp, ecx
test edx, edx
jne 0x4c2eb9
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
mov dword [eax + edi*8], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x28]
mov dword [eax + edi*8 + 4], ecx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
sub ecx, edi
mov dword [eax + ecx*4], esi
cmp dword [esp + 0x30], 0
jne 0x4c2ec8
test edx, edx
je case.default.0x4c3950
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c20cb
mov esi, dword [esp + 0x14]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
nop dword [eax]
cmp edx, 0x82
jb 0x4c2f02
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 + 0x4e2380]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c1fd0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x4c2f79
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 0x4c2ef0
cmp eax, 0xfffffc20
jne 0x4c2fca
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x4c2fce
cmp word [edx], 0x71
je 0x4c2fd6
cmp word [ecx], 0x71
jne 0x4c2fce
movzx eax, word [edx + 2]
mov ecx, dword [esp + 0x174]
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
jmp 0x4c2ef0
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x4c6f64
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
je 0x4c2ef0
test edi, edi
jne 0x4c3003
test ebp, ebp
je case.default.0x4c3950
mov esi, dword [esp + 0x14]
mov ebp, ecx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4c20cb
movzx eax, word [esi + 2]
mov ebp, esi
add eax, eax
mov edx, 0x82
sub ebp, eax
movzx eax, word [ebp]
mov ecx, eax
cmp ax, dx
jae 0x4c303e
cmp ecx, 0x7b
je 0x4c303e
mov dword [esp + 0x34], 0
jmp 0x4c3057
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 + 0x34], eax
cmp ecx, 0x77
jb 0x4c3065
cmp ecx, 0x7a
jbe 0x4c720e
cmp ecx, 0x7c
je 0x4c720e
cmp ecx, 0x7f
je 0x4c3095
mov eax, 0x84
cmp cx, ax
je 0x4c3095
mov eax, 0x80
cmp cx, ax
je 0x4c3095
mov eax, 0x85
cmp cx, ax
jne 0x4c3170
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x4c30b6
cmp dword [eax + 4], edi
je 0x4c70f1
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x4c3103
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x4c30e5
cmp ebx, dword [esp + 0x34]
jne 0x4c6e2f
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4c71c4
mov ebp, dword [esp + 0x174]
jmp 0x4c20d2
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x4c3136
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x4c312f
mov eax, ecx
nop dword [eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x4c3120
mov edx, dword [esp + 0x174]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
sub eax, edi
mov edi, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
mov ecx, ebx
sub ecx, dword [edx + 0x78]
mov eax, dword [edx + 0xc]
sar ecx, 1
mov dword [eax + esi*4 + 4], ecx
cmp edi, esi
jg 0x4c30cf
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x4c30cf
mov edx, dword [esp + 0x174]
jmp 0x4c30d3
cmp dword [ebp + 0x44], 0
je case.0x4c20fe.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x4c3950
cmp ebx, dword [ebp + 0x78]
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp dword [ebp + 0x44], 0
je 0x4c31b4
cmp ebx, dword [ebp + 0x78]
je case.default.0x4c3950
mov ecx, dword [ebp + 0x78]
jmp 0x4c31bf
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x4c3950.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x4c3950
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4c3205
cmp ebx, ecx
jbe 0x4c31ef
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004cb2a0
add esp, 0xc
test eax, eax
je 0x4c31ef
mov eax, 1
jmp 0x4c31f1
xor eax, eax
test eax, eax
je case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x4c3950
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4c3950
cmp esi, 1
je 0x4c323a
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4c3950
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4c32f0
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4c32b0
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004cb1e0
add esp, 0xc
test eax, eax
je case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4c3950
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4c3950
cmp edx, 1
je case.0x4c3950.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp dword [ebp + 0x48], 0
jne case.default.0x4c3950
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x4c3950.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x4c3950.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c9078
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp dword [ebp + 0x48], 0
jne case.default.0x4c3950
cmp dword [ebp + 0x58], 0
je case.0x4c20fe.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x4c3950
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x4c3950.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x4c3950.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c9078
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4c33ec
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x4c33a8
push 1
push esi
push ecx
mov ecx, ebx
call fcn.004cb1e0
add esp, 0xc
test eax, eax
je case.default.0x4c3950
jmp 0x4c33d7
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4c3950
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4c3950
cmp edx, 1
je 0x4c33d7
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4c3950
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x4c3950
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x4c3950.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x4c3950.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c9078
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x78]
je 0x4c34e4
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c3447
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
jae 0x4c3455
mov dword [ebp + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3480
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 0x4c34cc
cmp ecx, 0x5f
jne 0x4c3490
lea esi, [ecx - 0x5e]
jmp 0x4c34e6
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c34c5
cmp eax, 3
jne 0x4c34e4
mov esi, 1
jmp 0x4c34e6
cmp ecx, 0x100
jae 0x4c34e4
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4c34e4
mov esi, 1
jmp 0x4c34e6
xor esi, esi
cmp ebx, dword [ebp + 0x7c]
jb 0x4c3530
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4c350d
cmp ebx, dword [ebp + 0x88]
jbe 0x4c350d
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c9078
xor edx, edx
lea ecx, [edx + 1]
mov edi, dword [esp + 0x14]
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x14], edi
cmp eax, 5
je 0x4c3527
mov ecx, edx
xor ecx, esi
test ecx, ecx
jmp 0x4c20c1
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c355b
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 0x4c35b2
cmp ecx, 0x5f
jne 0x4c356d
lea edx, [ecx - 0x5e]
xor ecx, ecx
jmp 0x4c3512
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c35a6
cmp eax, 3
jne 0x4c350d
mov edx, 1
xor ecx, ecx
jmp 0x4c3512
cmp ecx, 0x100
jae 0x4c350d
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4c350d
mov edx, 1
xor ecx, ecx
jmp 0x4c3512
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x4c360d
cmp ebx, ecx
jae 0x4c3601
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004cb1e0
add esp, 0xc
test eax, eax
je 0x4c3601
mov eax, 1
jmp 0x4c3603
xor eax, eax
test eax, eax
jne case.default.0x4c3950
jmp case.0x4c20fe.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x4c20fe.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x4c20fe.13
cmp edx, 1
je case.default.0x4c3950
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4c3950
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x4c723e
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, eax
jae 0x4c366b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c366b
add ebx, 2
mov dword [esp + 0x18], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
add ebx, 2
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c36d4
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 case.0x4c3950.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c373a
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.0x4c3950
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c37a0
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 case.0x4c3950.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3806
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.0x4c3950
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c386c
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 case.0x4c3950.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c38d2
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.0x4c3950
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c393a
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 0x4c397c
je case.0x4c3950.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c3950
jmp dword [ecx*4 + 0x4c97b4]
cmp ebx, edx
jae case.0x4c3950.10
cmp word [ebx], 0xa
jne case.0x4c3950.10
add ebx, 2
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4c20d2
sub ecx, 0x2028
je case.0x4c3950.11
sub ecx, 1
jne case.default.0x4c3950
cmp dword [ebp + 0x68], 0
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c39e4
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 0x4c3a42
je case.default.0x4c3950
cmp ecx, 0xa0
ja 0x4c3a1e
je case.default.0x4c3950
cmp ecx, 9
je case.default.0x4c3950
cmp ecx, 0x20
je case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ecx, 0x1680
je case.default.0x4c3950
cmp ecx, 0x180e
je case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ecx, 0x3000
ja case.0x4c3a6a.8203
je case.default.0x4c3950
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c3a6a.8203
movzx eax, byte [ecx + 0x4c97cc]
jmp dword [eax*4 + 0x4c97c4]
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3ab2
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 0x4c3b10
je case.0x4c3a6a.8203
cmp ecx, 0xa0
ja 0x4c3aec
je case.0x4c3a6a.8203
cmp ecx, 9
je case.0x4c3a6a.8203
cmp ecx, 0x20
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ecx, 0x1680
je case.0x4c3a6a.8203
cmp ecx, 0x180e
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ecx, 0x3000
ja case.default.0x4c3950
je case.0x4c3a6a.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4c3950
movzx eax, byte [ecx + 0x4c9834]
jmp dword [eax*4 + 0x4c982c]
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3b80
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 0x4c3ba1
je case.default.0x4c3950
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4c3a6a.8203
jmp dword [ecx*4 + 0x4c9894]
sub ecx, 0x2028
je case.default.0x4c3950
sub ecx, 1
je case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3c03
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 0x4c3c24
je case.0x4c3a6a.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c3950
jmp dword [ecx*4 + 0x4c98a4]
sub ecx, 0x2028
je case.0x4c3a6a.8203
sub ecx, 1
jne case.default.0x4c3950
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3c86
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
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x4c3cb1
jmp dword [ecx*4 + 0x4c98b4]
cmp dword [esp + 0x20], 0xf
jmp 0x4c3df1
mov al, byte [eax*8 + 0x4df0a1]
cmp al, 9
je 0x4c3de0
cmp al, 5
je 0x4c3de0
cmp al, 8
je 0x4c3de0
xor ecx, ecx
jmp 0x4c3de5
movzx ecx, byte [eax*8 + 0x4df0a1]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4e2760]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x4c3df1
movzx eax, byte [eax*8 + 0x4df0a1]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4c3dec
movzx eax, byte [eax*8 + 0x4df0a0]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4c3dec
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c3de0
cmp eax, 3
je 0x4c3de0
xor ecx, ecx
jmp 0x4c3de5
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 6
je 0x4c3de0
cmp edx, 9
je 0x4c3de0
cmp edx, 0xa
je 0x4c3de0
cmp edx, 0xc
je 0x4c3de0
cmp edx, 0xd
je 0x4c3de0
xor ecx, ecx
jmp 0x4c3de5
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 6
je 0x4c3de0
cmp edx, 9
je 0x4c3de0
cmp edx, 0xa
je 0x4c3de0
cmp edx, 0xb
jmp 0x4c3d8d
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c3de0
cmp eax, 3
je 0x4c3de0
cmp edx, 0x5f
je 0x4c3de0
xor ecx, ecx
jmp 0x4c3de5
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x4c3950
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x4c20d2
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3e46
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 + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 2
je case.default.0x4c3950
cmp ebx, esi
jae 0x4c3ef2
mov dword [esp + 0x18], ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c3eb9
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 + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 2
jne 0x4c3eee
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4c3e84
mov dword [esp + 0x18], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4c20d2
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 + 0x28], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], esi
cmp ecx, edi
jge 0x4c3f38
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x4c3f38
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x4c3f42
mov ebp, dword [ebp + 0x50]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov eax, dword [esp + 0x14]
movzx eax, word [eax]
mov esi, eax
lea edi, [eax - 0x62]
cmp edi, 7
ja case.default.0x4c3f5e
movzx eax, byte [edi + 0x4c98e0]
jmp dword [eax*4 + 0x4c98d8]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4d3358]
and eax, 1
mov dword [esp + 0x34], eax
movsx eax, byte [edi + 0x4d3350]
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x4c3fbd
mov dword [esp + 0x3c], closesocket
jmp 0x4c3fbd
mov edi, dword [esp + 0x14]
xor eax, eax
cmp esi, 0x69
sete al
movzx esi, word [edi + 2]
mov dword [esp + 0x34], eax
movzx eax, word [edi + 4]
test eax, eax
cmove eax, dword [esp + 0x50]
add edi, 6
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x170]
test ebp, ebp
je 0x4c20b4
jns 0x4c3fd6
test esi, esi
je 0x4c20b4
cmp esi, 1
jl 0x4c400f
mov edi, 1
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004c1e20
add esp, 0xc
test eax, eax
js 0x4c78f9
mov ecx, dword [esp + 0x30]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x28]
inc edi
mov dword [esp + 0x18], ebx
cmp edi, esi
jle 0x4c3fe0
mov eax, dword [esp + 0x3c]
cmp esi, eax
jne 0x4c726d
nop dword [eax + eax]
mov ebp, dword [esp + 0x174]
jmp 0x4c20c7
mov esi, dword [esp + 0x174]
push edx
push esi
push ebp
mov edx, ebx
call fcn.004c1e20
add esp, 0xc
test eax, eax
js 0x4c7324
lea ebx, [ebx + eax*2]
mov ebp, esi
mov dword [esp + 0x18], ebx
jmp 0x4c20c7
movzx eax, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x4c407d
movzx eax, byte [ecx + 0x4c98f0]
jmp dword [eax*4 + 0x4c98e8]
movsx eax, byte [ecx + 0x4d3350]
mov edx, ecx
movsx edi, byte [ecx + 0x4d3358]
and edx, 1
add esi, 2
mov dword [esp + 0x2c], edx
test eax, eax
mov ecx, closesocket
cmove eax, ecx
jmp 0x4c40cb
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, closesocket
sete al
mov dword [esp + 0x2c], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x14], esi
mov esi, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edi
cmp edi, esi
jl 0x4c4177
jmp 0x4c40f9
mov edi, 1
mov dword [esp + 0x28], 1
mov dword [esp + 0x30], edi
mov esi, edi
mov ecx, dword [esp + 0x174]
mov ebp, dword [ecx + 0x7c]
cmp ebx, ebp
jae 0x4c7b6b
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4143
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
cmp edx, 0xff
jbe 0x4c4152
cmp dword [esp + 0x20], 0x6a
jmp 0x4c4168
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x3c]
test byte [edx + ecx], al
je case.default.0x4c3950
inc esi
cmp esi, edi
jle 0x4c4103
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
cmp edi, eax
jne 0x4c7414
mov ebp, dword [esp + 0x174]
jmp 0x4c20c7
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
mov dword [esp + 0x40], ebp
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x4c41b9
movzx eax, byte [ecx + 0x4c9900]
jmp dword [eax*4 + 0x4c98f8]
movsx eax, byte [ecx + 0x4d3350]
mov edx, ecx
movsx edi, byte [ecx + 0x4d3358]
add esi, 2
and edx, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
test eax, eax
jne 0x4c4219
mov dword [esp + 0x28], closesocket
jmp 0x4c4219
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, closesocket
sete al
mov dword [esp + 0x2c], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], esi
mov esi, 1
cmp edi, esi
jl 0x4c42a1
jmp 0x4c4240
mov edi, 1
mov dword [esp + 0x28], 1
mov esi, edi
nop word [eax + eax]
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c7b72
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4288
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.004cb390
add esp, 4
test eax, eax
je case.default.0x4c3950
inc esi
cmp esi, edi
jle 0x4c4240
mov eax, dword [esp + 0x28]
cmp edi, eax
jne 0x4c76a0
mov ebp, dword [esp + 0x174]
jmp 0x4c20c7
mov ax, word [esi + 2]
add esi, 2
mov ecx, 0xfc00
mov dword [esp + 0x14], esi
and ax, cx
xor edx, edx
mov ecx, 0xd800
cmp ax, cx
mov ecx, dword [ebp + 0x7c]
mov eax, ecx
sete dl
sub eax, ebx
inc edx
sar eax, 1
cmp edx, eax
jg 0x4c78de
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
add esi, 2
dec edx
mov dword [esp + 0x14], esi
movzx ecx, word [eax]
mov ax, word [ebx]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp cx, ax
jne case.default.0x4c3950
test edx, edx
jg 0x4c42f0
jmp 0x4c20d2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [esi + 2]
lea ebp, [esi + 2]
mov eax, ecx
mov dword [esp + 0x30], 1
and eax, 0xfc00
lea esi, [ebp + 2]
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x4c4369
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [esp + 0x30], 2
add ecx, 0x10000
movzx eax, word [ebx]
mov edx, eax
cmp ecx, 0x80
jae 0x4c43a9
mov ebp, 0xff
cmp ax, bp
mov ebp, dword [esp + 0x174]
ja 0x4c438e
mov eax, dword [ebp + 0x34]
movzx edx, byte [edx + eax]
mov eax, dword [ebp + 0x34]
movzx eax, byte [eax + ecx]
cmp eax, edx
jne case.default.0x4c3950
add ebx, 2
mov dword [esp + 0x18], ebx
jmp 0x4c20d2
mov eax, edx
mov dword [esp + 0x34], ecx
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
mov esi, ecx
mov edi, ecx
cmp eax, 0xd800
jne 0x4c43f4
movzx eax, word [ebx]
and edx, 0x3ff
mov esi, dword [esp + 0x30]
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x18], ebx
add edx, 0x10000
mov dword [esp + 0x34], ecx
mov esi, ecx
mov eax, dword [esp + 0x30]
lea eax, [eax*2]
add eax, ebp
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x34], edx
je 0x4c20c7
shr esi, 7
and edi, 0x7f
movzx eax, byte [esi + 0x4e0180]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x4d37a0]
mov eax, dword [eax*8 + 0x4df0a4]
add eax, ecx
cmp edx, eax
jmp 0x4c20c1
movzx edi, word [esi + 2]
add esi, 4
mov ebp, edi
jmp 0x4c44f4
mov dword [esp + 0x28], 1
movzx edi, word [esi + 2]
xor ebp, ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], edi
cmp ecx, 0x28
je 0x4c4472
mov dword [esp + 0x2c], ebp
cmp ecx, 0x35
jne 0x4c447a
mov dword [esp + 0x2c], 1
add esi, 4
jmp 0x4c44fc
xor ebp, ebp
mov dword [esp + 0x28], 1
mov edi, closesocket
add esi, 2
jmp 0x4c44f4
mov dword [esp + 0x28], 1
mov ebp, 1
mov edi, closesocket
add esi, 2
jmp 0x4c44f4
xor ebp, ebp
mov dword [esp + 0x28], 1
add esi, 2
lea edi, [ebp + 1]
jmp 0x4c44f4
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
add esi, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x2c], ecx
and dword [esp + 0x2c], 1
movsx edi, byte [eax + 0x4d3350]
movsx ebp, byte [eax + 0x4d3358]
test edi, edi
mov eax, closesocket
cmove edi, eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], edi
mov ecx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], esi
movzx esi, word [esi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c484a
mov eax, ecx
and esi, 0x3ff
shl esi, 0xa
movzx edx, word [eax + 2]
lea eax, [ecx + 4]
and edx, 0x3ff
mov dword [esp + 0x14], eax
or edx, esi
mov esi, 2
add edx, 0x10000
mov dword [esp + 0x3c], esi
cmp dword [esp + 0x20], 0x2e
jb 0x4c458b
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
mov ecx, dword [eax*8 + 0x4df0a4]
add ecx, edx
cmp ecx, edx
je 0x4c458b
lea edx, [esp + 0x74]
call fcn.004cb180
mov edi, eax
mov dword [esp + 0x30], eax
jmp 0x4c4591
xor edi, edi
mov dword [esp + 0x30], edi
mov ebp, 1
cmp dword [esp + 0x24], ebp
jl 0x4c46c4
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x20], ecx
lea eax, [ecx - 4]
mov dword [esp + 0x40], eax
jmp 0x4c45c7
mov edi, dword [esp + 0x30]
cmp ebx, eax
ja 0x4c4627
mov edx, dword [esp + 0x34]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x4c45e9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c45ee
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c45d8
cmp esi, 0xfffffffc
je 0x4c461b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c4623
cmp esi, 0xfffffffd
je 0x4c461b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c4623
cmp esi, 0xfffffffe
je 0x4c461b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c4623
cmp esi, 0xffffffff
je 0x4c461b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c4623
add ebx, 4
jmp 0x4c46a5
mov ecx, dword [esp + 0x20]
test edi, edi
jle 0x4c78f9
add edi, edi
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4c78f9
mov esi, dword [esp + 0x30]
lea edx, [esp + 0x74]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x4c4661
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c4666
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c4650
cmp esi, 0xfffffffc
je 0x4c46a3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c78f9
cmp esi, 0xfffffffd
je 0x4c46a3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c78f9
cmp esi, 0xfffffffe
je 0x4c46a3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c78f9
cmp esi, 0xffffffff
je 0x4c46a3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c78f9
add ebx, edi
mov edi, dword [esp + 0x24]
inc ebp
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x18], ebx
cmp ebp, edi
jle 0x4c45c3
jmp 0x4c46c8
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
cmp edi, eax
je 0x4c4020
cmp dword [esp + 0x2c], 0
jne 0x4c79c4
mov ebp, ebx
mov dword [esp + 0x2c], ebp
cmp edi, eax
jge 0x4c47f8
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
lea eax, [esi + esi]
mov ebp, ecx
mov dword [esp + 0x20], ecx
sub ebp, eax
cmp ebx, ebp
ja 0x4c4766
mov edx, dword [esp + 0x34]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x4c4724
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c4729
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c4713
cmp esi, 0xfffffffc
je 0x4c4756
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c4762
cmp esi, 0xfffffffd
je 0x4c4756
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c4762
cmp esi, 0xfffffffe
je 0x4c4756
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c4762
cmp esi, 0xffffffff
je 0x4c4756
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c4762
mov esi, dword [esp + 0x3c]
lea ebx, [ebx + esi*2]
jmp 0x4c47dd
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
test edx, edx
jle 0x4c4816
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4c4816
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4c47a1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c47a6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c4790
cmp esi, 0xfffffffc
je 0x4c47d3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c4816
cmp esi, 0xfffffffd
je 0x4c47d3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c4816
cmp esi, 0xfffffffe
je 0x4c47d3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c4816
cmp esi, 0xffffffff
je 0x4c47d3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c4816
mov esi, dword [esp + 0x3c]
add ebx, edi
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
inc edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], edi
cmp edi, dword [esp + 0x1c]
jl 0x4c4702
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
je 0x4c792f
mov ebp, dword [esp + 0x174]
jmp 0x4c20c7
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4c4844
cmp ebx, dword [esi + 0x7c]
jb 0x4c4844
cmp ebx, dword [esi + 0x88]
jbe 0x4c4844
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c9078
mov ebp, dword [esp + 0x2c]
jmp 0x4c47ff
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x4c49c5
cmp esi, 0x7f
jbe 0x4c4888
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
mov ebp, dword [eax*8 + 0x4df0a4]
add ebp, esi
jmp 0x4c4896
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x38]
movzx ebp, byte [eax + esi]
mov edx, dword [esp + 0x24]
mov ecx, 1
cmp edx, ecx
jl 0x4c48e2
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x7c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x4c7b6b
movzx eax, word [ebx]
cmp esi, eax
je 0x4c48cc
cmp ebp, eax
jne case.default.0x4c3950
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x18], ebx
cmp ecx, dword [esp + 0x24]
jle 0x4c48b1
mov edx, dword [esp + 0x24]
cmp edx, edi
mov edi, dword [esp + 0x170]
je 0x4c20b4
cmp dword [esp + 0x2c], 0
jne 0x4c7b85
mov edi, ebx
cmp edx, dword [esp + 0x1c]
jge 0x4c4931
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop
cmp ebx, ecx
jae 0x4c4997
movzx eax, word [ebx]
cmp esi, eax
je 0x4c4923
cmp ebp, eax
jne 0x4c4931
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, dword [esp + 0x1c]
jl 0x4c4910
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
jne 0x4c20c7
cmp ebx, edi
jb case.default.0x4c3950
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.004c1fd0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4c6f64
cmp ebx, edi
jae 0x4c4950
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 0x4c4938
cmp ebx, dword [ebp + 0x88]
jbe 0x4c4938
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c9078
jmp 0x4c4938
mov edi, dword [esp + 0x174]
cmp ebp, 1
jl 0x4c4a03
mov edx, dword [edi + 0x7c]
mov ecx, 1
nop dword [eax]
cmp ebx, edx
jae 0x4c7c5d
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp esi, eax
jne case.default.0x4c3950
inc ecx
cmp ecx, ebp
jle 0x4c49e0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
cmp ebp, edx
je 0x4c4020
cmp dword [esp + 0x2c], 0
jne 0x4c7c83
mov edi, ebx
cmp ebp, edx
jge 0x4c4a47
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x4c4aa8
movzx eax, word [ebx]
cmp esi, eax
jne 0x4c4a47
add ebx, 2
inc ebp
mov dword [esp + 0x18], ebx
cmp ebp, edx
jl 0x4c4a30
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
jne 0x4c20c7
cmp ebx, edi
jb case.default.0x4c3950
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.004c1fd0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4c6f64
cmp ebx, edi
jae 0x4c4a61
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 0x4c4a4e
cmp ebx, dword [ebp + 0x88]
jbe 0x4c4a4e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c9078
jmp 0x4c4a4e
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
lea ecx, [esi + 2]
movzx esi, word [ebx]
mov eax, esi
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x4c4b1a
movzx eax, word [ebx]
and esi, 0x3ff
shl esi, 0xa
and eax, 0x3ff
or esi, eax
add esi, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x20], 0x20
lea eax, [ecx + 2]
movzx edx, word [ecx]
mov dword [esp + 0x14], eax
jne 0x4c4b79
cmp edx, 0x7f
jbe 0x4c4b59
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
mov eax, dword [eax*8 + 0x4df0a4]
add eax, edx
jmp 0x4c4b60
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x4c3950
cmp eax, esi
je case.default.0x4c3950
mov esi, dword [esp + 0x14]
jmp 0x4c20d2
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x4c3950
mov esi, eax
jmp 0x4c20d2
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x20], eax
mov edi, eax
jmp 0x4c4c53
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x20], eax
cmp ecx, 0x42
je 0x4c4bb6
mov dword [esp + 0x2c], edi
cmp ecx, 0x4f
jne 0x4c4bbe
mov dword [esp + 0x2c], 1
lea ecx, [esi + 4]
jmp 0x4c4c53
mov dword [esp + 0x28], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x4c4c4b
mov dword [esp + 0x28], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x4c4c4b
mov dword [esp + 0x28], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x4c4c53
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], 1
xor edi, edi
mov dword [esp + 0x20], eax
jmp 0x4c4c53
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x2c], ecx
and dword [esp + 0x2c], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4d3358]
movsx eax, byte [eax + 0x4d3350]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4c4c53
mov dword [esp + 0x20], closesocket
movzx ebp, word [ecx]
lea esi, [ecx + 2]
cmp edx, 0x48
mov dword [esp + 0x30], ebp
mov dword [esp + 0x14], esi
mov edx, 1
jb 0x4c4ded
cmp ebp, 0x7f
jbe 0x4c4ca6
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4df0a4]
add ebp, dword [esp + 0x30]
jmp 0x4c4cb4
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x34], ebp
cmp edi, 1
jl 0x4c4d1b
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4c7b6b
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4d00
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add ebx, 2
or ecx, eax
mov dword [esp + 0x18], ebx
add ecx, 0x10000
cmp dword [esp + 0x30], ecx
je case.default.0x4c3950
cmp ebp, ecx
je case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c4cc0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp edi, eax
je 0x4c222c
cmp dword [esp + 0x2c], 0
jne 0x4c7daf
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x4c4da0
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4c4dc2
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4d7f
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 + 0x30], ecx
je 0x4c4d99
cmp dword [esp + 0x34], ecx
je 0x4c4d99
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x4c4d42
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x4c7d1e
mov ebp, dword [esp + 0x174]
jmp 0x4c20d2
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c4da0
cmp ebx, dword [ecx + 0x88]
jbe 0x4c4da0
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c9078
jmp 0x4c4da0
cmp edi, 1
jl 0x4c4e51
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4c7b6b
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4e40
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
add ebx, 2
or ecx, eax
mov dword [esp + 0x18], ebx
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c4e00
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp edi, eax
je 0x4c222c
cmp dword [esp + 0x2c], 0
jne 0x4c7f1f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x4c4ecc
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4c4eee
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c4eb1
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 + 0x30], ecx
je 0x4c4ec5
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x4c4e78
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x4c7e8f
mov ebp, dword [esp + 0x174]
jmp 0x4c20d2
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c4ecc
cmp ebx, dword [ecx + 0x88]
jbe 0x4c4ecc
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c9078
jmp 0x4c4ecc
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], 1
jmp 0x4c4fec
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x24], eax
xor eax, eax
cmp ecx, 0x5c
mov dword [esp + 0x20], edi
lea ecx, [esi + 4]
sete al
mov dword [esp + 0x2c], eax
jmp 0x4c4fec
xor edi, edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], edi
lea ecx, [esi + 2]
jmp 0x4c4fe4
mov edi, 1
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], edi
lea ecx, [esi + 2]
jmp 0x4c4fe4
xor edi, edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], edi
lea ecx, [esi + 2]
mov dword [esp + 0x24], 1
jmp 0x4c4fec
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
xor edi, edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
jmp 0x4c4fec
add edx, 0xffffffab
lea ecx, [esi + 2]
mov eax, edx
and edx, 1
mov dword [esp + 0x2c], edx
movsx edi, byte [eax + 0x4d3358]
movsx eax, byte [eax + 0x4d3350]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4c4fec
mov dword [esp + 0x24], closesocket
movzx eax, word [ecx]
mov edx, eax
mov esi, eax
mov dword [esp + 0x1c], esi
lea eax, [ecx + 2]
mov dword [esp + 0x14], eax
cmp edx, 0x10
je 0x4c500d
cmp edx, 0xf
je 0x4c500d
or eax, 0xffffffff
jmp 0x4c5034
movzx ebp, word [eax + 2]
xor ecx, ecx
cmp edx, 0xf
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x174]
sete cl
mov dword [esp + 0x38], ecx
movzx ecx, word [eax]
add eax, 4
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x34], eax
test edi, edi
jle 0x4c5c8f
test eax, eax
js 0x4c5598
cmp eax, 8
ja case.default.0x4c3cb1
jmp dword [eax*4 + 0x4c9908]
cmp dword [esp + 0x38], 0
jne case.default.0x4c3950
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax + eax]
mov ecx, ebx
cmp ebx, esi
jae 0x4c723e
mov ax, word [ebx]
mov ebx, 0xfc00
and ax, bx
xor ebx, ebx
cmp ax, word [esp + 0x54]
sete bl
inc edx
lea ebx, [ebx*2 + 2]
add ebx, ecx
cmp edx, edi
jle 0x4c5070
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c50e8
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
mov al, byte [eax*8 + 0x4df0a1]
cmp al, 9
je 0x4c511b
cmp al, 5
je 0x4c511b
cmp al, 8
je 0x4c511b
xor eax, eax
jmp 0x4c5120
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c50b0
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5178
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 + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], ebp
mov ebp, dword [esp + 0x174]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c5140
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c520f
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 + 0x4e0180]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c51d7
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c529b
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 + 0x4e0180]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a0]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c5263
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5328
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c5361
cmp eax, 3
je 0x4c5361
xor eax, eax
jmp 0x4c5366
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c52f0
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
nop
cmp ebx, edi
jae 0x4c7b6b
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c53c8
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 6
je 0x4c5410
cmp edx, 9
je 0x4c5410
cmp edx, 0xa
je 0x4c5410
cmp edx, 0xc
je 0x4c5410
cmp edx, 0xd
je 0x4c5410
xor eax, eax
jmp 0x4c5415
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
inc esi
cmp esi, ebp
jle 0x4c5390
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4c7b6b
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5479
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 6
je 0x4c54c6
cmp edx, 9
je 0x4c54c6
cmp edx, 0xa
je 0x4c54c6
cmp edx, 0xb
je 0x4c54c6
cmp edx, 0xc
je 0x4c54c6
cmp edx, 0xd
je 0x4c54c6
xor eax, eax
jmp 0x4c54cb
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
inc esi
cmp esi, ebp
jle 0x4c5441
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4c7b6b
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5537
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 + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c5577
cmp eax, 3
je 0x4c5577
cmp edx, 0x5f
je 0x4c5577
xor eax, eax
jmp 0x4c557c
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
inc esi
cmp esi, ebp
jle 0x4c54f7
mov edi, dword [esp + 0x20]
jmp 0x4c5c8b
cmp edx, 0x16
jne 0x4c56a7
mov ebp, dword [ebp + 0x7c]
lea edi, [edx - 0x15]
cmp ebx, ebp
jae 0x4c7b6b
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c55e1
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 2
je case.default.0x4c3950
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c568f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c565a
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 + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 2
jne 0x4c568f
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4c5625
inc edi
cmp edi, dword [esp + 0x20]
jle 0x4c55a7
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4c3cb1
jmp dword [eax*4 + 0x4c992c]
mov esi, 1
nop
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4c723e
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x4c56ed
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004cb1e0
add esp, 0xc
test eax, eax
jne case.default.0x4c3950
jmp 0x4c5718
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c5718
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x4c5718
cmp edx, 1
je case.default.0x4c3950
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4c3950
add ebx, 2
cmp ebx, dword [ebp + 0x7c]
jae 0x4c5738
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c5738
add ebx, 2
inc esi
cmp esi, edi
jle 0x4c56c0
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov edx, dword [ebp + 0x7c]
mov ecx, 1
nop
cmp ebx, edx
jae 0x4c723e
add ebx, 2
cmp ebx, edx
jae 0x4c5771
mov ax, word [ebx]
and ax, word [esp + 0x48]
cmp ax, word [esp + 0x4c]
jne 0x4c5771
add ebx, 2
inc ecx
cmp ecx, edi
jle 0x4c5750
mov dword [esp + 0x18], ebx
jmp 0x4c5c8f
mov eax, dword [ebp + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp ebx, eax
ja case.default.0x4c3950
add ebx, ecx
mov dword [esp + 0x18], ebx
jmp 0x4c5c8f
mov edi, dword [ebp + 0x7c]
mov esi, 1
cmp ebx, edi
jae 0x4c723e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c57da
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 0x4c580c
je case.0x4c57f0.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c3950
jmp dword [ecx*4 + 0x4c996c]
mov ebx, edx
cmp edx, edi
jae 0x4c5829
cmp word [edx], 0xa
jne 0x4c5829
lea ebx, [edx + 2]
jmp 0x4c5829
mov ebx, edx
jmp 0x4c5829
sub ecx, 0x2028
je case.0x4c57f0.11
sub ecx, 1
jne case.default.0x4c3950
cmp dword [ebp + 0x68], 0
mov ebx, edx
jne case.default.0x4c3950
inc esi
cmp esi, dword [esp + 0x20]
jle 0x4c57a2
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5888
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 0x4c58de
je case.default.0x4c3950
cmp ecx, 0xa0
ja 0x4c58c4
je case.default.0x4c3950
cmp ecx, 9
je case.default.0x4c3950
cmp ecx, 0x20
je case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c5850
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
cmp ecx, 0x1680
je case.default.0x4c3950
cmp ecx, 0x180e
je case.default.0x4c3950
jmp case.0x4c58fe.8203
cmp ecx, 0x3000
ja case.0x4c58fe.8203
je case.default.0x4c3950
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c58fe.8203
movzx eax, byte [ecx + 0x4c9984]
jmp dword [eax*4 + 0x4c997c]
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5948
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 0x4c598e
je case.0x4c59b2.8193
cmp ecx, 0xa0
ja 0x4c5978
je case.0x4c59b2.8193
cmp ecx, 9
je case.0x4c59b2.8193
cmp ecx, 0x20
jne case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c5910
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
cmp ecx, 0x1680
je case.0x4c59b2.8193
cmp ecx, 0x180e
jne case.default.0x4c3950
jmp case.0x4c59b2.8193
cmp ecx, 0x3000
ja case.default.0x4c3950
je case.0x4c59b2.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4c3950
movzx eax, byte [ecx + 0x4c99ec]
jmp dword [eax*4 + 0x4c99e4]
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c59f9
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 0x4c5a16
je case.default.0x4c3950
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c5a0f
jmp dword [ecx*4 + 0x4c9a4c]
sub ecx, 0x2028
je case.default.0x4c3950
sub ecx, 1
je case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c59c1
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5a79
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 0x4c5a96
je case.0x4c5a8f.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c3950
jmp dword [ecx*4 + 0x4c9a5c]
sub ecx, 0x2028
je case.0x4c5a8f.10
sub ecx, 1
jne case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c5a41
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5af8
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 0x4c5b0d
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4c3950
inc edx
cmp edx, edi
jle 0x4c5ac0
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c723e
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4c3950
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4c3950
inc edx
add ebx, 2
cmp edx, edi
jle 0x4c5b23
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c723e
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4c5b88
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4c3950
add ebx, 2
cmp ebx, esi
jae 0x4c5ba7
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c5ba7
add ebx, 2
inc edx
cmp edx, edi
jle 0x4c5b64
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4c723e
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4c3950
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4c3950
inc edx
add ebx, 2
cmp edx, edi
jle 0x4c5bc0
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c723e
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4c5c25
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4c3950
add ebx, 2
cmp ebx, esi
jae 0x4c5c44
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c5c44
add ebx, 2
inc edx
cmp edx, edi
jle 0x4c5c01
mov dword [esp + 0x18], ebx
jmp 0x4c5c8b
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c723e
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4c3950
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4c3950
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x4c5c57
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
cmp edi, edx
je 0x4c4020
cmp dword [esp + 0x2c], 0
mov eax, dword [esp + 0x34]
jne 0x4c8231
mov ebp, ebx
mov dword [esp + 0x40], ebp
test eax, eax
js 0x4c635b
cmp eax, 8
ja case.default.0x4c3cb1
jmp dword [eax*4 + 0x4c9a6c]
mov ecx, dword [esp + 0x174]
cmp edi, edx
jge 0x4c6339
mov edx, dword [ecx + 0x7c]
mov esi, 0xd800
nop
cmp ebx, edx
jae 0x4c5d1b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x38], 0
movzx ecx, ax
jne 0x4c6332
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 0x4c5ce0
jmp 0x4c6332
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6339
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6339
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c9078
jmp 0x4c6339
cmp edi, edx
jge 0x4c6332
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c5df9
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5da0
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 + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
mov al, byte [eax*8 + 0x4df0a1]
cmp al, 9
je 0x4c5dd3
cmp al, 5
je 0x4c5dd3
cmp al, 8
je 0x4c5dd3
xor eax, eax
jmp 0x4c5dd8
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c6332
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5d63
jmp 0x4c6332
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6339
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6339
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x4c9078
jmp 0x4c6339
cmp edi, edx
jge 0x4c6332
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4c5d1b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5e7d
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 + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], ebp
mov ebp, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4c6332
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5e40
jmp 0x4c6332
cmp edi, edx
jge 0x4c6332
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c5d1b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5f25
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 + 0x4e0180]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4c6332
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5ee8
jmp 0x4c6332
cmp edi, edx
jge 0x4c6332
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c5d1b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c5fc2
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 + 0x4e0180]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a0]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4c6332
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c5f85
jmp 0x4c6332
cmp edi, edx
jge 0x4c6332
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c5df9
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c605f
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 + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c6098
cmp eax, 3
je 0x4c6098
xor eax, eax
jmp 0x4c609d
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c6332
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6022
jmp 0x4c6332
cmp edi, edx
jge 0x4c6332
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
mov esi, 1
cmp ebx, edi
jae 0x4c6183
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c610d
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 + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 6
je 0x4c6155
cmp edx, 9
je 0x4c6155
cmp edx, 0xa
je 0x4c6155
cmp edx, 0xc
je 0x4c6155
cmp edx, 0xd
je 0x4c6155
xor eax, eax
jmp 0x4c615a
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c6332
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 0x4c60d0
jmp 0x4c6332
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6339
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6339
mov dword [ecx + 0x64], esi
cmp eax, 1
jg 0x4c9078
jmp 0x4c6339
cmp edi, edx
jge 0x4c6332
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
mov esi, 1
cmp ebx, edi
jae 0x4c6183
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6200
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 + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 6
je 0x4c624d
cmp edx, 9
je 0x4c624d
cmp edx, 0xa
je 0x4c624d
cmp edx, 0xb
je 0x4c624d
cmp edx, 0xc
je 0x4c624d
cmp edx, 0xd
je 0x4c624d
xor eax, eax
jmp 0x4c6252
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c6332
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 0x4c61c7
jmp 0x4c6332
cmp edi, edx
jge 0x4c6332
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x4c6183
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c62cd
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 + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c630d
cmp eax, 3
je 0x4c630d
cmp edx, 0x5f
je 0x4c630d
xor eax, eax
jmp 0x4c6312
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4c6332
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 0x4c6290
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x4c7ff5
mov ebp, dword [esp + 0x174]
jmp 0x4c20d2
cmp esi, 0x16
jne 0x4c64c3
mov esi, dword [esp + 0x174]
cmp edi, edx
jge 0x4c64ac
mov edi, dword [esi + 0x7c]
cmp ebx, edi
jae 0x4c648a
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c63b3
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 + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 2
je 0x4c64ac
mov esi, dword [esi + 0x7c]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp ebx, esi
jae 0x4c646e
nop word [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6435
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 + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 2
jne 0x4c646a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4c6400
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x174]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x4c6376
jmp 0x4c64ac
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4c64ac
cmp ebx, dword [esi + 0x88]
jbe 0x4c64ac
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c9078
cmp dword [esp + 0x28], 0
je 0x4c8081
mov ebp, dword [esp + 0x174]
jmp 0x4c20c7
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4c3cb1
jmp dword [eax*4 + 0x4c9a90]
cmp edx, 0x7fffffff
jge 0x4c65bc
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c6596
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4c651e
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004cb1e0
add esp, 0xc
test eax, eax
jne 0x4c67f1
jmp 0x4c6550
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c6550
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4c6550
cmp edx, 1
je 0x4c67f1
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4c67f1
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, dword [eax + 0x7c]
jae 0x4c6586
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [esp + 0x174]
jne 0x4c6586
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4c64f1
jmp 0x4c67f1
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x4c67f1
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x88]
jbe 0x4c67f1
jmp 0x4c66e0
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4c6596
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4c65ec
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004cb1e0
add esp, 0xc
test eax, eax
jne 0x4c67f1
jmp 0x4c661e
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c661e
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4c661e
cmp edx, 1
je 0x4c67f1
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4c67f1
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, dword [eax + 0x7c]
jae 0x4c6654
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [esp + 0x174]
jne 0x4c6654
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4c65c3
jmp 0x4c67f1
cmp edx, 0x7fffffff
jge 0x4c66b8
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop
cmp ebx, ecx
jae 0x4c66af
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, ecx
jae 0x4c66a5
mov ax, word [ebx]
and ax, word [esp + 0x48]
cmp ax, word [esp + 0x4c]
jne 0x4c66a5
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, edx
jl 0x4c6680
jmp 0x4c67f1
mov ecx, dword [esp + 0x174]
jmp 0x4c66c6
mov ecx, dword [esp + 0x174]
mov ebx, dword [ecx + 0x7c]
mov dword [esp + 0x18], ebx
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c67f8
cmp ebx, dword [ecx + 0x88]
jbe 0x4c67f8
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c9078
jmp 0x4c67f8
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 0x4c6725
mov eax, dword [edi + 0x8c]
mov ebx, ecx
mov dword [esp + 0x18], ebx
test eax, eax
je 0x4c672c
cmp ecx, dword [edi + 0x88]
mov ecx, edi
jmp 0x4c66da
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
mov ecx, edi
jmp 0x4c67f8
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c680f
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6781
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x4c6786
mov eax, 2
cmp ecx, 0xd
jne 0x4c67a0
mov ebx, edx
mov dword [esp + 0x18], ebx
cmp edx, esi
jae 0x4c67ed
cmp word [ebx], 0xa
jne 0x4c67e2
lea ebx, [edx + 2]
jmp 0x4c67de
cmp ecx, 0xa
je 0x4c67dc
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x4c6cf5
cmp ecx, 0xb
je 0x4c67dc
cmp ecx, 0xc
je 0x4c67dc
cmp ecx, 0x85
je 0x4c67dc
cmp ecx, 0x2028
je 0x4c67dc
cmp ecx, 0x2029
jne 0x4c6cf5
add ebx, eax
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4c6745
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x28], 0
je 0x4c817b
mov ebp, dword [esp + 0x174]
jmp 0x4c20c7
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6838
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6838
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c9078
mov esi, dword [esp + 0x1c]
jmp 0x4c67f8
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x4c691c
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c688d
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 0x4c68f2
je case.0x4c690e.8193
cmp ecx, 0xa0
ja 0x4c68e2
je case.0x4c690e.8193
cmp ecx, 9
je case.0x4c690e.8193
cmp ecx, 0x20
je case.0x4c690e.8193
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x1c], 0x12
sete al
cmp ecx, eax
je 0x4c67ed
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6850
jmp 0x4c67ed
cmp ecx, 0x1680
je case.0x4c690e.8193
cmp ecx, 0x180e
jmp 0x4c68b5
cmp ecx, 0x3000
ja case.0x4c690e.8203
je case.0x4c690e.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c690e.8203
movzx eax, byte [ecx + 0x4c9ad8]
jmp dword [eax*4 + 0x4c9ad0]
mov ecx, 1
jmp 0x4c68b9
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c6838
cmp ebx, dword [ecx + 0x88]
jbe 0x4c6838
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x4c9078
mov esi, dword [esp + 0x1c]
jmp 0x4c67f8
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4c691c
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c699d
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 0x4c69b6
je case.0x4c69af.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c69af
jmp dword [ecx*4 + 0x4c9b38]
sub ecx, 0x2028
je case.0x4c69af.10
sub ecx, 1
je case.0x4c69af.10
xor ecx, ecx
jmp 0x4c69cc
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x1c], 0x14
sete al
cmp ecx, eax
je 0x4c67ed
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6964
jmp 0x4c67ed
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c680f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6a44
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 0x4c6a60
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x4c67ed
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6a07
jmp 0x4c67ed
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c680f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6ac2
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 0x4c67ed
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x4c67ed
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6a85
jmp 0x4c67ed
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c680f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6b44
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 0x4c6b60
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x4c67ed
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6b07
jmp 0x4c67ed
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c680f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6bc2
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 0x4c67ed
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x4c67ed
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6b85
jmp 0x4c67ed
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c680f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6c44
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 0x4c6c60
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x4c67ed
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6c07
jmp 0x4c67ed
cmp edi, edx
jge 0x4c67f1
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4c680f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c6cc2
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 0x4c67ed
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x4c67ed
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4c6c85
jmp 0x4c67ed
mov esi, dword [esp + 0x1c]
mov ecx, edx
jmp 0x4c67f8
cmp ecx, 0x74
mov ecx, ebx
jne 0x4c6d47
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4c6f4b
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x4c6f4b
mov edi, dword [esp + 0x170]
mov eax, dword [ebp + 0x90]
cmp eax, edi
movzx ecx, word [esi + 6]
cmovg edi, eax
add ecx, 2
cmp word [esi + ecx*2], 0x71
mov dword [esp + 0x170], edi
lea ecx, [esi + ecx*2]
jne 0x4c6de0
mov edx, ecx
nop dword [eax]
movzx eax, word [ecx + 2]
cmp word [edx + eax*2], 0x71
lea ecx, [edx + eax*2]
mov edx, ecx
je 0x4c6dc0
jmp 0x4c6de0
mov ebp, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
cmp dword [esp + 0x20], 0x86
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jne 0x4c6f4f
mov dword [ebp + 0x9c], 2
mov edx, esi
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edi
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0x75
je 0x4c71a8
cmp eax, 0x74
jne 0x4c6e98
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
lea edx, [esi + 4]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x4c7155
mov ecx, 0x82
cmp ax, cx
jae 0x4c7114
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4c6f4b
mov eax, 0x82
cmp word [ebp], ax
jb 0x4c6ead
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
mov edx, ebp
call fcn.004c1fd0
mov ecx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4c6ee8
cmp dword [ecx + 0xb8], ebp
je 0x4c6ef0
test eax, eax
jne 0x4c6f64
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4c7193
mov ebp, dword [esp + 0x174]
jmp 0x4c6f4f
movzx edi, word [esi + 4]
lea eax, [edi + edi]
cmp eax, dword [ebp + 0x14]
jl 0x4c9088
nop dword [eax + eax]
cmp edx, 0x82
jae 0x4c6f6f
cmp edx, 0x7b
je 0x4c6f6f
cmp dword [ebp + 0x6c], 0
jne 0x4c6f79
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x4c6f79
movzx eax, cx
movzx eax, byte [eax + 0x4e2380]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x4c2071
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 ecx, dword [esp + 0x14]
lea esi, [ebp + 0xb0]
mov eax, dword [esp + 0x17c]
mov ebp, dword [esi]
inc eax
push eax
movzx eax, word [ecx]
push dword [esp + 0x17c]
mov dword [esp + 0x48], ebp
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4e2380]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c1fd0
mov edi, eax
add esp, 0x14
mov ecx, esi
cmp edi, 0xfffffc20
jne 0x4c7014
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea edx, [ecx + eax*2]
mov eax, edi
cmp dword [ebp + 0x80], edx
mov ecx, esi
mov ebp, dword [esp + 0x40]
jae 0x4c7014
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x4c701e
cmp word [edx], 0x71
mov eax, edi
jne 0x4c7014
mov esi, dword [esp + 0x174]
add esi, 0xb0
jmp 0x4c701e
mov esi, ecx
test eax, eax
jne 0x4c91c9
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [esi], ebp
lea ecx, [ecx + eax*2]
mov esi, ecx
mov dword [esp + 0x14], ecx
cmp word [esi], 0x71
jne case.default.0x4c3950
mov edx, dword [esp + 0x20]
mov ecx, 0x71
mov ebp, dword [esp + 0x174]
jmp case.0x4c20fe.123
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi + 2]
add ecx, eax
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c7092
cmp eax, 0xfffffc1d
je 0x4c7092
cmp eax, 0xfffffc20
jne 0x4c6f64
lea eax, [esi + 4]
mov dword [ebp + 0x80], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4c70d4
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 [edx + 0x84], ebx
mov dword [edx + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
mov edx, ebp
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004c1fd0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c71f1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
jmp 0x4c716e
mov dword [edx + 0x84], ebx
mov eax, 0xfffffc1b
mov dword [edx + 0x90], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
mov edx, esi
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov eax, dword [esp + 0x174]
mov dword [eax + 0xb8], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0x84], ebx
mov dword [eax + 0x90], edi
mov dword [eax + 0x80], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x4c3950
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x4c3950
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4c9078
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [esp + 0x34], 0
je 0x4c7353
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov edi, esi
cmp esi, dword [esp + 0x3c]
jge case.default.0x4c3950
push dword [esp + 0x28]
mov esi, dword [esp + 0x178]
mov edx, ebx
mov ecx, dword [esp + 0x34]
push esi
push ebp
call fcn.004c1e20
add esp, 0xc
test eax, eax
js 0x4c7324
mov edx, dword [esp + 0x14]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x17c]
lea esi, [edi + 1]
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.004c1fd0
add esp, 0x14
mov edi, esi
test eax, eax
je 0x4c72b5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x4c3950
cmp ebx, dword [esi + 0x7c]
jb case.default.0x4c3950
cmp ebx, dword [esi + 0x88]
jbe case.default.0x4c3950
mov dword [esi + 0x64], 1
jmp 0x4c7257
mov edi, ebx
cmp esi, eax
jge 0x4c73c1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004c1e20
add esp, 0xc
test eax, eax
js 0x4c738b
mov ecx, dword [esp + 0x30]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x28]
inc esi
cmp esi, dword [esp + 0x3c]
jl 0x4c7360
jmp 0x4c73b9
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4c73b9
cmp ebx, dword [ecx + 0x7c]
jb 0x4c73b9
cmp ebx, dword [ecx + 0x88]
jbe 0x4c73b9
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4c9078
cmp ebx, edi
jb case.default.0x4c3950
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x4c73c1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [esp + 0x2c], 0
je 0x4c7521
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x4c3950
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c7b72
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c74aa
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
cmp edx, 0xff
jbe 0x4c74bf
cmp dword [esp + 0x20], 0x6a
je case.default.0x4c3950
jmp 0x4c74de
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x4c3950
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov esi, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c7460
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x4c7594
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x28]
mov edi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, edi
jae 0x4c766a
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c757d
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 0x4c7631
cmp dword [esp + 0x20], 0x6a
jne 0x4c7651
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c3950
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c75f7
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.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c75d2
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 + 0x3c]
test byte [edx + ecx], al
je 0x4c7594
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x30], eax
cmp eax, ecx
jl 0x4c7540
jmp 0x4c7594
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4c759b
cmp ebx, dword [esi + 0x88]
jbe 0x4c759b
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c9078
jmp 0x4c759b
cmp dword [esp + 0x2c], 0
je 0x4c7797
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x4c3950
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4c7b72
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c773a
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.004cb390
add esp, 4
test eax, eax
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c76f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x4c7811
nop dword [eax]
nop word [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x4c78af
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c77f5
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 + 0x40]
push 1
call fcn.004cb390
add esp, 4
test eax, eax
je 0x4c7811
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x28]
jl 0x4c77b0
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c3950
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c7875
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.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c7850
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4c7818
cmp ebx, dword [esi + 0x88]
jbe 0x4c7818
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4c9078
jmp 0x4c7818
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x4c3950
cmp ebx, ecx
jb case.default.0x4c3950
jmp 0x4c7248
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x4c3950
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x4c3950
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x4c3950
mov dword [ecx + 0x64], 1
jmp 0x4c7257
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
cmp ebx, ebp
je case.default.0x4c3950
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c798a
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.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c7966
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
cmp esi, dword [esp + 0x1c]
jge case.default.0x4c3950
mov edx, dword [esp + 0x3c]
mov ebp, dword [ebp + 0x7c]
mov ecx, ebp
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c7a7f
lea esi, [edx + edx]
mov ecx, ebx
mov edx, dword [esp + 0x34]
sub esi, 4
jb 0x4c7a41
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c7a46
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c7a30
cmp esi, 0xfffffffc
je 0x4c7a73
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c7a7f
cmp esi, 0xfffffffd
je 0x4c7a73
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c7a7f
cmp esi, 0xfffffffe
je 0x4c7a73
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c7a7f
cmp esi, 0xffffffff
je 0x4c7a73
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c7a7f
mov eax, dword [esp + 0x3c]
lea ebx, [ebx + eax*2]
jmp 0x4c7b01
mov ecx, dword [esp + 0x30]
test ecx, ecx
jle 0x4c7b4f
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x4c7b4f
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4c7ab9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4c7abe
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4c7aa8
cmp esi, 0xfffffffc
je 0x4c7afb
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4c7b4f
cmp esi, 0xfffffffd
je 0x4c7afb
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4c7b4f
cmp esi, 0xfffffffe
je 0x4c7afb
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4c7b4f
cmp esi, 0xffffffff
je 0x4c7afb
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4c7b4f
add ebx, edi
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x17c]
inc edi
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x2c], edi
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c7a02
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.0x4c3950
cmp ebx, ebp
jmp 0x4c7911
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x4c3950
jmp 0x4c7917
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov ecx, dword [esp + 0x24]
mov edi, ecx
cmp edi, dword [esp + 0x1c]
jge case.default.0x4c3950
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4c7c37
movzx eax, word [ebx]
cmp esi, eax
je 0x4c7bef
cmp ebp, eax
jne case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc ecx
inc eax
mov dword [esp + 0x24], ecx
push eax
push dword [esp + 0x17c]
add ebx, 2
mov edi, ecx
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x4c7bc6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x4c3950
cmp ebx, dword [edx + 0x88]
jbe case.default.0x4c3950
mov dword [edx + 0x64], 1
jmp 0x4c7257
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x4c3950
cmp ebx, dword [edi + 0x88]
jbe case.default.0x4c3950
mov dword [edi + 0x64], 1
jmp 0x4c7257
mov eax, dword [esp + 0x17c]
mov edx, ecx
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov ecx, ebp
nop dword [eax + eax]
cmp ebp, dword [esp + 0x1c]
jge case.default.0x4c3950
cmp ebx, dword [edi + 0x7c]
jae 0x4c7c5d
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x4c3950
mov eax, dword [esp + 0x17c]
lea ebp, [ecx + 1]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
mov ecx, ebp
test eax, eax
je 0x4c7cc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
nop dword [eax + eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c3950
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c7d75
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.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c7d50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x4c3950
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4c7c37
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7e3a
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp dword [esp + 0x30], ecx
je case.default.0x4c3950
cmp ebp, ecx
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, edi
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c7df0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c3950
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c7ee5
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.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c7ec0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x4c3950
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4c7c37
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c7faa
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, edi
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c7f60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c3950
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4c8047
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.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8022
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4c3950
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x4c80df
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c810a
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 + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 2
jne 0x4c813d
sub ebx, 2
jmp 0x4c80c5
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.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c80b8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
lea ecx, [ebx - 2]
cmp ebx, ebp
je case.default.0x4c3950
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4c81d5
add ecx, 0xfffffffe
mov ebx, ecx
cmp esi, 0x11
jne 0x4c81f1
cmp ecx, ebp
jbe 0x4c81f1
cmp word [ecx], 0xa
jne 0x4c81f1
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.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c81b2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x4c8b75
cmp eax, 8
ja case.default.0x4c3cb1
jmp dword [eax*4 + 0x4c9b48]
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop word [eax + eax]
mov ecx, ebx
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c82ba
lea ebx, [ecx + 4]
cmp dword [esp + 0x38], 0
jne case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8290
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c8385
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
mov al, byte [eax*8 + 0x4df0a1]
cmp al, 9
je 0x4c83b8
cmp al, 5
je 0x4c83b8
cmp al, 8
je 0x4c83b8
xor eax, eax
jmp 0x4c83bd
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8342
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c8493
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 + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], edx
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8450
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c8595
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8552
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c8693
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a0]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8650
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c8793
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c87cc
cmp eax, 3
je 0x4c87cc
xor eax, eax
jmp 0x4c87d1
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8750
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c88a3
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 6
je 0x4c88eb
cmp edx, 9
je 0x4c88eb
cmp edx, 0xa
je 0x4c88eb
cmp edx, 0xc
je 0x4c88eb
cmp edx, 0xd
je 0x4c88eb
xor eax, eax
jmp 0x4c88f0
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8860
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c89c3
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 6
je 0x4c8a10
cmp edx, 9
je 0x4c8a10
cmp edx, 0xa
je 0x4c8a10
cmp edx, 0xb
je 0x4c8a10
cmp edx, 0xc
je 0x4c8a10
cmp edx, 0xd
je 0x4c8a10
xor eax, eax
jmp 0x4c8a15
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8980
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.004c1fd0
add esp, 0x14
test eax, eax
jne 0x4c6f64
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
cmp ebx, dword [ebp + 0x7c]
jae 0x4c723e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c8ae3
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 + 0x4e0180]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
mov eax, dword [eax*4 + 0x4e2760]
cmp eax, 1
je 0x4c8b23
cmp eax, 3
je 0x4c8b23
cmp edx, 0x5f
je 0x4c8b23
xor eax, eax
jmp 0x4c8b28
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8aa0
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.004c1fd0
add esp, 0x14
cmp esi, 0x16
jne 0x4c8cee
test eax, eax
jne 0x4c6f64
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4c723e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c8c07
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 2
je case.default.0x4c3950
cmp ebx, esi
jae 0x4c8cab
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c8c76
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 + 0x4e0180]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4d37a0]
movzx eax, byte [eax*8 + 0x4df0a1]
cmp dword [eax*4 + 0x4e2760], 2
jne 0x4c8cab
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4c8c41
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8bc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x4c6f64
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x4c3950
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4c904e
mov edx, dword [esp + 0x1c]
cmp edx, 0xc
jne 0x4c8d6f
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x4c8d40
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004cb1e0
add esp, 0xc
test eax, eax
jne case.default.0x4c3950
jmp 0x4c8d6b
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4c8d6b
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x4c8d6b
cmp edx, 1
je case.default.0x4c3950
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4c3950
mov edx, dword [esp + 0x1c]
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4c8d9f
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
lea eax, [edx - 6]
cmp eax, 0xf
ja case.default.0x4c3cb1
jmp dword [eax*4 + 0x4c9b6c]
cmp ecx, 0x85
ja 0x4c8dea
je case.0x4c8dc8.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c3950
jmp dword [ecx*4 + 0x4c9bac]
cmp ebx, dword [ebp + 0x7c]
jae case.0x4c8dab.12
cmp word [ebx], 0xa
jne case.0x4c8dab.12
add ebx, 2
jmp case.0x4c8dab.12
sub ecx, 0x2028
je case.0x4c8dc8.11
sub ecx, 1
jne case.default.0x4c3950
cmp dword [ebp + 0x68], 0
jne case.default.0x4c3950
jmp case.0x4c8dab.12
cmp ecx, 0x2000
ja 0x4c8e4e
je case.default.0x4c3950
cmp ecx, 0xa0
ja 0x4c8e37
je case.default.0x4c3950
cmp ecx, 9
je case.default.0x4c3950
cmp ecx, 0x20
jmp 0x4c8ff5
cmp ecx, 0x1680
je case.default.0x4c3950
cmp ecx, 0x180e
jmp 0x4c8ff5
cmp ecx, 0x3000
ja case.0x4c8dab.12
je case.default.0x4c3950
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4c8dab.12
movzx eax, byte [ecx + 0x4c9bc4]
jmp dword [eax*4 + 0x4c9bbc]
cmp ecx, 0x2000
ja 0x4c8ecd
je case.0x4c8dab.12
cmp ecx, 0xa0
ja 0x4c8eb0
je case.0x4c8dab.12
cmp ecx, 9
je case.0x4c8dab.12
cmp ecx, 0x20
jne case.default.0x4c3950
jmp case.0x4c8dab.12
cmp ecx, 0x1680
je case.0x4c8dab.12
cmp ecx, 0x180e
jne case.default.0x4c3950
jmp case.0x4c8dab.12
cmp ecx, 0x3000
ja case.default.0x4c3950
je case.0x4c8dab.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4c3950
movzx eax, byte [ecx + 0x4c9c2c]
jmp dword [eax*4 + 0x4c9c24]
cmp ecx, 0x85
ja 0x4c8f1d
je case.default.0x4c3950
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4c8dab.12
jmp dword [ecx*4 + 0x4c9c8c]
sub ecx, 0x2028
je case.default.0x4c3950
sub ecx, 1
jmp 0x4c8ff5
cmp ecx, 0x85
ja 0x4c8f52
je case.0x4c8dab.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4c3950
jmp dword [ecx*4 + 0x4c9c9c]
sub ecx, 0x2028
je case.0x4c8dab.12
sub ecx, 1
jne case.default.0x4c3950
jmp case.0x4c8dab.12
cmp ecx, 0x100
jae case.0x4c8dab.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4c3950
jmp case.0x4c8dab.12
cmp ecx, 0x100
jae case.default.0x4c3950
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jmp 0x4c8ff5
cmp ecx, 0x100
jae case.0x4c8dab.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4c3950
jmp case.0x4c8dab.12
cmp ecx, 0x100
jae case.default.0x4c3950
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jmp 0x4c8ff5
cmp ecx, 0x100
jae case.0x4c8dab.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4c3950
jmp case.0x4c8dab.12
cmp ecx, 0x100
jae case.default.0x4c3950
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4c3950
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c8d00
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.0x4c3950
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x4c3950
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4c3950
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x174]
mov eax, dword [ecx + edi*8]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + edi*8 + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x10]
mov ebp, dword [ebp + 0x94]
sub eax, edi
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x54], eax
mov eax, ebx
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
nop dword [eax]
cmp edx, 0x82
jb 0x4c90e2
mov dword [esi + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [ecx]
push dword [esp + 0x17c]
push esi
movzx eax, byte [eax + 0x4e2380]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004c1fd0
mov edx, dword [esp + 0x188]
mov esi, eax
add esp, 0x14
cmp esi, 0xfffffc1c
je 0x4c9191
mov ecx, dword [esp + 0x14]
cmp esi, 0xfffffc20
jne 0x4c9158
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x80], eax
jae 0x4c9158
cmp word [ecx], 0x71
je 0x4c9154
cmp word [eax], 0x71
jne 0x4c9158
xor esi, esi
jmp 0x4c9160
test esi, esi
jne 0x4c91bc
mov dword [edx + 0x94], ebp
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x54]
mov dword [edx + 0xb0], eax
cmp word [ecx], 0x71
mov dword [esp + 0x14], ecx
jne 0x4c9191
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x174]
jmp 0x4c90d0
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x40]
mov dword [ecx + edi*8], eax
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x50]
mov dword [ecx + edi*8 + 4], eax
mov eax, dword [esp + 0x174]
mov edx, dword [edx + 0x10]
sub edx, edi
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x34]
mov dword [ecx + edx*4], eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0xfffffc1c
jne 0x4c921a
mov edx, dword [esp + 0x14]
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x7b
je 0x4c9208
cmp ecx, 0x71
jne 0x4c9200
mov ecx, edx
nop word [eax + eax]
movzx eax, word [edx + 2]
cmp word [ecx + eax*2], 0x71
lea edx, [ecx + eax*2]
mov ecx, edx
je 0x4c91f0
movzx eax, word [edx + 2]
add eax, eax
sub edx, eax
mov eax, dword [esp + 0x174]
xor ecx, ecx
cmp dword [eax + 0xb8], edx
cmove edi, ecx
mov eax, edi
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 + 0x4e2380]
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.004c1fd0
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x4c9285
cmp esi, 0xfffffc19
jne 0x4c92a1
cmp dword [ebp + 0xb0], 0
jne 0x4c92a1
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x4c91bc
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.004cb140
test eax, eax
jne 0x4c91bc
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 + 0x4e2380]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c1fd0
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x4c933a
cmp ecx, 0xfffffc1d
je 0x4c933a
cmp ecx, 0xfffffc1e
je 0x4c933a
cmp ecx, 0xfffffc1f
je 0x4c933a
cmp ecx, 0xfffffc20
mov eax, 0xfffffc1a
cmovne eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4e2380]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c9386
cmp eax, 0xfffffc20
jne 0x4c6f64
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0xb4], esi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4e2380]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004c1fd0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x4c93f2
cmp ecx, 0xfffffc19
jne 0x4c9401
cmp dword [ebp + 0xb0], 0
jne 0x4c9401
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x4c9386
cmp ecx, 0xfffffc20
mov eax, 0xfffffc1d
cmovne eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4e2380]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c9461
cmp eax, 0xfffffc1d
je 0x4c9461
cmp eax, 0xfffffc20
jne 0x4c6f64
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 + 0x4e2380]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004c1fd0
add esp, 0x14
test eax, eax
je 0x4c952b
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 + 0x4e2380]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004c1fd0
add esp, 0x14
cmp eax, 1
je 0x4c9510
cmp eax, 0xfffffc19
jne 0x4c951f
cmp dword [ebp + 0xb0], 0
jne 0x4c951f
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x4c6f64
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 0x4c9581
cmp edx, 0x99
je 0x4c9581
cmp dword [ebp + 0xa8], 0
jne 0x4c9581
cmp dword [ebp + 0x5c], 0
jne case.default.0x4c3950
cmp dword [ebp + 0x60], 0
je 0x4c9581
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x4c3950
mov dword [ebp + 0x84], ebx
test edx, edx
mov eax, 0xfffffc19
mov dword [ebp + 0x90], edi
mov ecx, 1
mov dword [ebp + 0x80], esi
cmove eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x158
ret