Function at 0x4b3180
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 0x4b31de
cmp dword [esp + 0x17c], edx
jne 0x4b31c3
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.004b3180
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea eax, [esp + 0x17c]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], 0
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jae 0x4b87fb
mov dword [esp + 0x68], 0xfc00
mov dword [esp + 0x48], 0xdc00
mov dword [esp + 0x4c], SysReAllocString
mov dword [esp + 0x50], 0xd800
inc eax
mov dword [ebp], eax
mov eax, dword [esp + 0x17c]
cmp eax, dword [ebp + 8]
jae 0x4bab6c
cmp dword [ebp + 0x9c], 2
jne 0x4b326f
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 0x4b326f
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
movzx ecx, word [esi]
mov edx, ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov edi, ecx
mov dword [esp + 0x20], edx
cmp edx, 0x9b
ja case.0x4b329d.98
movzx eax, byte [edx + 0x4bacc4]
jmp dword [eax*4 + 0x4bab7c]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4d3d48]
je 0x4b88c1
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x4b326f
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.004b3180
add esp, 0x14
cmp eax, 1
je 0x4b33e8
cmp eax, 0xfffffc20
jne 0x4b3350
mov edx, dword [esp + 0x14]
movzx ecx, word [edx + 2]
lea ecx, [edx + ecx*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], ecx
jae 0x4b8804
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
mov edx, dword [esp + 0x174]
je 0x4b335f
cmp word [ecx], 0x71
jne 0x4b8804
jmp 0x4b335f
test eax, eax
jne 0x4b8804
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [edx + 0xb0], esi
lea ecx, [ecx + eax*2]
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x4b32d5
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x4b33a0
cmp eax, 0x71
jne case.default.0x4b4b09
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 0x4b33a0
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x18], ebx
cmp ecx, 0x72
je 0x4b33d5
cmp ebx, edi
jne 0x4b8565
mov ebp, dword [esp + 0x174]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
movzx ecx, word [esi]
mov dword [esp + 0x16c], eax
jmp 0x4b3386
xor ebp, ebp
mov dword [esp + 0x34], ebp
jmp 0x4b3ec9
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
jne 0x4b34fe
mov esi, dword [0x4eb100]
test esi, esi
je 0x4b34f3
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.0x4b4b09
js 0x4b8804
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 0x4b36d3
cmp ecx, 0x8a
je 0x4b36d3
cmp ecx, 0x87
je 0x4b358f
cmp ecx, 0x88
je 0x4b358f
cmp ecx, 0x8b
jne 0x4b3541
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4b3878
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.004b3180
add esp, 0x14
cmp eax, 1
je 0x4b85fa
test eax, eax
je 0x4b3587
cmp eax, 0xfffffc20
jne 0x4b8804
lea eax, [esi + edi*2]
jmp 0x4b3878
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x4b35ac
mov eax, dword [ebp + 0xc]
cmp dword [eax + edx*4], 0
jge 0x4b385f
cmp ecx, 0x88
jne 0x4b36c4
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x28]
mov edi, eax
mov dword [esp + 0x2c], 0
test ecx, ecx
jle 0x4b36c4
mov ebp, eax
xor edx, edx
movzx eax, word [edi]
cmp eax, esi
je 0x4b360e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea edi, [eax*2]
mov eax, dword [esp + 0x2c]
inc eax
add edi, ebp
mov dword [esp + 0x2c], eax
mov edx, eax
mov ebp, edi
cmp eax, ecx
jl 0x4b35d4
mov eax, dword [esp + 0x14]
xor edx, edx
movzx eax, word [eax + 2]
jmp 0x4b3869
cmp edx, ecx
jge 0x4b36c4
mov eax, dword [esp + 0x174]
mov esi, edi
cmp edi, dword [eax + 0x28]
jbe 0x4b3673
mov eax, dword [eax + 0x24]
lea ecx, [edi + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.004bc430
test eax, eax
jne 0x4b366c
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4b365e
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4b385f
mov eax, dword [esp + 0x174]
cmp esi, dword [eax + 0x28]
ja 0x4b3624
jmp 0x4b3673
mov eax, dword [esp + 0x174]
mov ebp, dword [esp + 0x2c]
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x4b36c4
lea esi, [edi + 2]
mov eax, dword [eax + 0x24]
mov ecx, esi
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004bc430
test eax, eax
jne 0x4b36c4
movzx eax, word [edi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4b36b7
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4b385f
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jl 0x4b3680
mov eax, dword [esp + 0x14]
xor edx, edx
movzx eax, word [eax + 2]
jmp 0x4b3869
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x4b36e9
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4b3878
movzx esi, word [esi + 6]
cmp esi, 0xffff
je 0x4b385f
cmp esi, dword [eax + 4]
je 0x4b385f
xor edx, edx
mov dword [esp + 0x30], edx
cmp ecx, 0x8a
jne 0x4b3855
mov ecx, dword [esp + 0x174]
mov eax, dword [ebp + 0x28]
mov edi, eax
xor ebp, ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], ebp
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jle 0x4b3855
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x34], eax
nop
movzx eax, word [edi]
cmp eax, esi
je 0x4b377a
mov eax, dword [esp + 0x174]
inc ebp
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], ebp
mov eax, dword [eax + 0x24]
lea edi, [edi + eax*2]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], edi
cmp ebp, ecx
jl 0x4b3740
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
jmp 0x4b3869
cmp dword [esp + 0x34], ecx
jge 0x4b3855
mov eax, dword [esp + 0x174]
mov esi, edi
cmp edi, dword [eax + 0x28]
jbe 0x4b37f5
mov ebx, dword [esp + 0x30]
lea eax, [edi + 2]
mov ebp, dword [esp + 0x174]
mov edi, eax
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x24]
mov ecx, edi
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.004bc430
test eax, eax
jne 0x4b37d6
mov eax, dword [ebp + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
mov eax, dword [eax + 4]
cmp ecx, eax
sete bl
je 0x4b37d6
cmp esi, dword [ebp + 0x28]
ja 0x4b37a6
mov edi, dword [esp + 0x3c]
test ebx, ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x18]
jne 0x4b384b
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jge 0x4b3855
mov ebx, dword [esp + 0x30]
lea esi, [edi + 2]
mov eax, dword [eax + 0x24]
mov ecx, esi
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.004bc430
test eax, eax
jne 0x4b383f
mov eax, dword [esp + 0x174]
xor ebx, ebx
movzx ecx, word [edi]
mov eax, dword [eax + 0xa8]
mov eax, dword [eax + 4]
cmp ecx, eax
sete bl
je 0x4b383f
mov eax, dword [esp + 0x174]
inc ebp
cmp ebp, dword [eax + 0x20]
jl 0x4b3802
mov dword [esp + 0x30], ebx
test ebx, ebx
mov ebx, dword [esp + 0x18]
je 0x4b3851
mov edx, dword [esp + 0x30]
jmp 0x4b3864
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 2]
jmp 0x4b3869
mov edx, 1
mov eax, 2
mov ecx, dword [esp + 0x14]
lea eax, [ecx + eax*2]
test edx, edx
jne 0x4b8644
cmp word [eax], 0x71
mov ebp, dword [esp + 0x174]
je 0x4b864b
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x4b326f
movzx esi, word [esi + 2]
mov dword [ebp + 0x94], esi
lea edx, [esi + esi]
cmp edx, dword [ebp + 0x14]
jl 0x4b38be
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
sub eax, esi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, ebx
sub ecx, dword [ebp + 0x78]
mov eax, dword [ebp + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp dword [esp + 0x170], edx
jg 0x4b38ed
lea eax, [edx + 2]
mov dword [esp + 0x170], eax
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4b391d
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4b3920
xor edi, edi
nop
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push 0
push ebp
push dword [esp + 0x17c]
lea edx, [edx + 4]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
cmp eax, 1
je 0x4b398b
cmp eax, 0xfffffc19
je 0x4b398b
test eax, eax
je 0x4b3966
cmp eax, 0xfffffc20
jne 0x4b8804
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [ebp + 0xb0], esi
lea ecx, [ecx + eax*2]
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x4b3920
mov esi, dword [esp + 0x14]
jmp 0x4b399f
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x16c], eax
movzx eax, word [esi]
cmp ax, 0x72
je case.default.0x4b4b09
test edi, edi
jne 0x4b8987
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4b39b1
mov eax, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], eax
jmp 0x4b326f
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4b39f8
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4b39fa
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.004b3180
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x4b4b09
cmp eax, 0xfffffc19
je case.default.0x4b4b09
cmp eax, 0xfffffc1e
je 0x4b3a7f
cmp eax, 0xfffffc1d
je 0x4b3a7f
cmp eax, 0xfffffc1a
je 0x4b3a7f
test eax, eax
je 0x4b3a65
cmp eax, 0xfffffc20
jne 0x4b8804
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 0x4b3a00
mov esi, ecx
jmp 0x4b3a91
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4b3a83
test edi, edi
jne 0x4b8987
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4b326f
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x4b3add
mov edx, dword [ebp + 0x78]
mov edi, 0xfc00
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x18], ebx
cmp ebx, edx
jb case.default.0x4b4b09
mov ax, word [ebx]
and ax, di
cmp ax, word [esp + 0x48]
jne 0x4b3ad9
add ebx, 0xfffffffe
mov dword [esp + 0x18], ebx
test ecx, ecx
jg 0x4b3ab5
cmp ebx, dword [ebp + 0x88]
jae 0x4b3aeb
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov esi, dword [0x4eb100]
test esi, esi
je 0x4b3bd5
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.0x4b4b09
js 0x4b8804
mov esi, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x4b3bf7
xor ecx, ecx
jmp 0x4b3bfb
movzx ecx, word [edi + 4]
mov edx, dword [ebp + 0xa8]
mov eax, edx
test edx, edx
je 0x4b3c1b
cmp ecx, dword [eax + 4]
jne 0x4b3c15
cmp ebx, dword [eax + 0x10]
je 0x4b892a
mov eax, dword [eax]
test eax, eax
jne 0x4b3c07
mov dword [esp + 0x58], ecx
lea eax, [esp + 0x54]
mov dword [esp + 0x64], ebx
add esi, 4
mov dword [esp + 0x54], edx
mov dword [ebp + 0xa8], eax
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x60], ecx
cmp ecx, 0x1e
jg 0x4b3c51
lea eax, [esp + 0xf0]
mov dword [esp + 0x5c], eax
jmp 0x4b3c72
lea eax, [ecx*4]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4b8964
mov ecx, dword [esp + 0x60]
shl ecx, 2
push ecx
push dword [ebp + 0xc]
push eax
call sub.VCRUNTIME140.dll_memcpy
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
nop dword [eax]
mov eax, 0x82
cmp bp, ax
jb 0x4b3ca4
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 + 0x4d3d48]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.004b3180
mov ecx, dword [esp + 0x74]
add esp, 0x14
shl ecx, 2
mov esi, eax
mov eax, dword [esp + 0x174]
push ecx
push dword [esp + 0x60]
push dword [eax + 0xc]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x54]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x4b3d7d
cmp esi, 0xfffffc19
je 0x4b3d7d
test esi, esi
je 0x4b3d30
cmp esi, 0xfffffc20
jne 0x4b893a
lea eax, [esp + 0x54]
mov dword [ecx + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4b3c90
mov eax, dword [esp + 0x54]
mov dword [ecx + 0xa8], eax
lea ecx, [esp + 0xf0]
mov eax, dword [esp + 0x5c]
cmp eax, ecx
je case.default.0x4b4b09
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
nop
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4b3d96
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 0x4b326b
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x4b329d.113
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov eax, dword [esp + 0x17c]
add esi, 2
inc eax
mov edx, esi
push eax
push dword [esp + 0x17c]
mov ecx, ebx
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop dword [eax]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4b3e10
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4b326f
add esi, 2
mov dword [esp + 0x14], esi
mov edx, esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x4b3e33
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b326f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea ecx, [esi + 2]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
je 0x4b3e83
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jmp 0x4b326f
movzx edx, word [esi + 2]
add esi, 2
mov dword [esp + 0x14], esi
mov ebp, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x34], ebp
cmp edx, 0x80
je 0x4b3ec9
cmp edx, 0x85
jne 0x4b40ad
movzx edx, word [esi + 4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x2c], edx
lea eax, [edx + edx]
cmp eax, dword [ecx + 0x14]
jge 0x4b40a7
shl eax, 2
mov edi, esi
sub edi, dword [ecx + 0x74]
xor ebp, ebp
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x3c], eax
sar edi, 1
mov esi, dword [ecx + eax]
mov eax, dword [ecx + eax + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x30], esi
mov eax, dword [eax + 0x10]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x24], eax
mov esi, dword [ecx + 0x94]
nop word [eax + eax]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov dword [eax + ecx*4], edx
jb 0x4b3f66
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 + 0x4d3d48]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004b3180
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4b3fe2
mov ecx, dword [esp + 0x174]
mov ebp, 1
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x18], ebx
lea eax, [eax + edi*2]
mov dword [esp + 0x14], eax
jmp 0x4b3f20
cmp ecx, 0xfffffc20
jne 0x4b4021
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x4b4014
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x4b4029
cmp word [eax], 0x71
je 0x4b4029
mov eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test ecx, ecx
jne 0x4b4014
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x94], esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
je 0x4b3f30
test ebp, ebp
jne 0x4b4081
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x30]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x28]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4], edx
cmp dword [esp + 0x34], 0
jne 0x4b4090
test ebp, ebp
je case.default.0x4b4b09
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov edx, dword [esp + 0x20]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
nop dword [eax + eax]
cmp edx, 0x82
jb 0x4b40d2
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 + 0x4d3d48]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004b3180
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1b
jne 0x4b414c
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 0x4b40c0
cmp ecx, 0xfffffc20
jne 0x4b4182
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 2]
lea eax, [edx + eax*2]
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x80], eax
jae 0x4b4014
mov edx, dword [esp + 0x14]
cmp word [edx], 0x71
je 0x4b418a
cmp word [eax], 0x71
jmp 0x4b4184
test ecx, ecx
jne 0x4b4014
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
je 0x4b40c0
test edi, edi
jne 0x4b41bb
test ebp, ebp
je case.default.0x4b4b09
mov esi, dword [esp + 0x14]
mov ebp, ecx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x4b326f
movzx eax, word [esi + 2]
mov ebp, esi
add eax, eax
sub ebp, eax
mov eax, 0x82
movzx ecx, word [ebp]
cmp cx, ax
jae 0x4b41f4
cmp ecx, 0x7b
je 0x4b41f4
mov dword [esp + 0x2c], 0
jmp 0x4b420d
mov edx, dword [esp + 0x178]
lea eax, [edx + 4]
mov edx, dword [edx]
mov eax, dword [eax]
mov dword [esp + 0x178], edx
mov dword [esp + 0x2c], eax
cmp ecx, 0x77
jb 0x4b421b
cmp ecx, 0x7a
jbe 0x4b8a78
cmp ecx, 0x7c
je 0x4b8a78
cmp ecx, 0x7f
je 0x4b424b
mov eax, 0x84
cmp cx, ax
je 0x4b424b
mov eax, 0x80
cmp cx, ax
je 0x4b424b
mov eax, 0x85
cmp cx, ax
jne 0x4b431e
mov edi, dword [esp + 0x174]
movzx esi, word [ebp + 4]
mov eax, dword [edi + 0xa8]
lea edx, [esi + esi]
test eax, eax
je 0x4b426c
cmp dword [eax + 4], esi
je 0x4b8974
mov dword [edi + 0x94], esi
cmp edx, dword [edi + 0x14]
jl 0x4b42bb
mov dword [edi + 0x40], 1
mov edx, dword [esp + 0x170]
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x72
je 0x4b429d
cmp ebx, dword [esp + 0x2c]
jne 0x4b86a1
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4b8a35
mov ebp, dword [esp + 0x174]
jmp 0x4b326f
mov ecx, dword [esp + 0x170]
cmp edx, ecx
jle 0x4b42e6
mov eax, dword [edi + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x4b42df
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x174]
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, esi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, ebx
sub ecx, dword [edi + 0x78]
mov eax, dword [edi + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp dword [esp + 0x170], edx
jg 0x4b427e
add edx, 2
mov dword [esp + 0x170], edx
jmp 0x4b4285
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
jmp 0x4b4289
cmp dword [ebp + 0x44], 0
je case.0x4b329d.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x4b4b09
cmp ebx, dword [ebp + 0x78]
jne case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp dword [ebp + 0x44], 0
je 0x4b4369
cmp ebx, dword [ebp + 0x78]
je case.default.0x4b4b09
mov ecx, dword [ebp + 0x78]
jmp 0x4b4374
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je 0x4b45c9
cmp ebx, dword [ebp + 0x7c]
je case.default.0x4b4b09
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4b43b1
cmp ebx, ecx
jbe case.default.0x4b4b09
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004bc580
add esp, 0xc
test eax, eax
je case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x4b4b09
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4b4b09
cmp esi, 1
je 0x4b45c5
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4b4b09
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4b44a4
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4b4464
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004bc4c0
add esp, 0xc
test eax, eax
je case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4b4b09
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4b4b09
cmp edx, 1
je 0x4b45c9
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp dword [ebp + 0x48], 0
jne case.default.0x4b4b09
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4b45c9
cmp ebx, dword [ebp + 0x88]
jbe 0x4b45c9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp dword [ebp + 0x48], 0
jne case.default.0x4b4b09
cmp dword [ebp + 0x58], 0
je case.0x4b329d.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x4b4b09
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4b45c9
cmp ebx, dword [ebp + 0x88]
jbe 0x4b45c9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4b45a3
mov edx, dword [ebp + 0x18]
lea edi, [ebp + 0x1c]
test edx, edx
je 0x4b4565
push 1
push edi
push esi
mov ecx, ebx
call fcn.004bc4c0
add esp, 0xc
test eax, eax
je case.default.0x4b4b09
mov edx, dword [edi]
mov esi, dword [ebp + 0x7c]
jmp 0x4b4596
mov edx, dword [edi]
mov ecx, esi
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4b4b09
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4b4b09
cmp edx, 1
je 0x4b4596
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4b4b09
lea eax, [edx + edx]
sub esi, eax
cmp ebx, esi
jne case.default.0x4b4b09
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4b45c5
cmp ebx, dword [ebp + 0x88]
jbe 0x4b45c5
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x78]
je 0x4b469e
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b45fa
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
jae 0x4b4608
mov dword [ebp + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4633
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 0x4b4686
cmp ecx, 0x5f
jne 0x4b464a
lea edx, [ecx - 0x5e]
jmp 0x4b46a0
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b467f
cmp eax, 3
jne 0x4b469e
mov edx, 1
jmp 0x4b46a0
cmp ecx, 0x100
jae 0x4b469e
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4b469e
mov edx, 1
jmp 0x4b46a0
xor edx, edx
cmp ebx, dword [ebp + 0x7c]
jb 0x4b46f6
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4b46cb
cmp ebx, dword [ebp + 0x88]
jbe 0x4b46cb
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
xor ecx, ecx
movzx eax, word [esi]
xor edx, ecx
add esi, 2
mov dword [esp + 0x14], esi
cmp eax, 5
jne 0x4b46e1
xor edx, 1
test edx, edx
je 0x4b326f
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4721
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 0x4b477a
cmp ecx, 0x5f
jne 0x4b4737
mov ecx, 1
jmp 0x4b46cd
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b4770
cmp eax, 3
jne 0x4b46cb
mov ecx, 1
jmp 0x4b46cd
cmp ecx, 0x100
jae 0x4b46cb
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4b46cb
mov ecx, 1
jmp 0x4b46cd
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x4b47c6
cmp ebx, ecx
jae case.0x4b329d.13
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.004bc4c0
add esp, 0xc
test eax, eax
jne case.default.0x4b4b09
jmp case.0x4b329d.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x4b329d.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x4b329d.13
cmp edx, 1
je case.default.0x4b4b09
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4b4b09
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x4ba580
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, eax
jae 0x4b4824
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b4824
add ebx, 2
mov dword [esp + 0x18], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
add ebx, 2
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b488d
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 0x4b45c9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b48f3
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.0x4b4b09
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4959
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 0x4b45c9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b49bf
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.0x4b4b09
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4a25
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 0x4b45c9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4a8b
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.0x4b4b09
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4aeb
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 0x4b4b59
je case.0x4b4b09.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4b4b09
jmp dword [ecx*4 + 0x4bad60]
mov ebx, edx
mov dword [esp + 0x18], ebx
cmp edx, esi
jae 0x4b45c5
cmp word [edx], 0xa
mov dword [esp + 0x18], ebx
jne 0x4b45c5
mov esi, dword [esp + 0x14]
lea ebx, [edx + 2]
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov esi, dword [esp + 0x14]
mov ebx, edx
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4b326f
sub ecx, 0x2028
je case.0x4b4b09.11
sub ecx, 1
jne case.default.0x4b4b09
cmp dword [ebp + 0x68], 0
mov ebx, edx
mov dword [esp + 0x18], ebx
jne case.default.0x4b4b09
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4bcb
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 0x4b4c29
je case.default.0x4b4b09
cmp ecx, 0xa0
ja 0x4b4c05
je case.default.0x4b4b09
cmp ecx, 9
je case.default.0x4b4b09
cmp ecx, 0x20
je case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ecx, 0x1680
je case.default.0x4b4b09
cmp ecx, 0x180e
je case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ecx, 0x3000
ja case.0x4b4c51.8203
je case.default.0x4b4b09
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4b4c51.8203
movzx eax, byte [ecx + 0x4bad78]
jmp dword [eax*4 + 0x4bad70]
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4c99
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 0x4b4cdd
je case.0x4b4c51.8203
cmp ecx, 0xa0
ja 0x4b4cc6
je case.0x4b4c51.8203
cmp ecx, 9
je case.0x4b4c51.8203
cmp ecx, 0x20
jmp 0x4b4343
cmp ecx, 0x1680
je case.0x4b4c51.8203
cmp ecx, 0x180e
jmp 0x4b4343
cmp ecx, 0x3000
ja case.default.0x4b4b09
je case.0x4b4c51.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4b4b09
movzx eax, byte [ecx + 0x4bade0]
jmp dword [eax*4 + 0x4badd8]
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4d4d
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 0x4b4d6e
je case.default.0x4b4b09
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4b4c51.8203
jmp dword [ecx*4 + 0x4bae40]
sub ecx, 0x2028
je case.default.0x4b4b09
sub ecx, 1
je case.default.0x4b4b09
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4dd0
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 0x4b4df1
je case.0x4b4c51.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4b4b09
jmp dword [ecx*4 + 0x4bae50]
sub ecx, 0x2028
je case.0x4b4c51.8203
sub ecx, 1
jmp 0x4b4343
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b4e46
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 + 0x4d1b48]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x4b4e71
jmp dword [ecx*4 + 0x4bae60]
cmp dword [esp + 0x20], 0xf
jmp 0x4b4fc8
mov al, byte [eax*8 + 0x4d0a69]
cmp al, 9
je 0x4b4fb7
cmp al, 5
je 0x4b4fb7
cmp al, 8
je 0x4b4fb7
xor ecx, ecx
jmp 0x4b4fbc
movzx ecx, byte [eax*8 + 0x4d0a69]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4d4128]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x4b4fc8
movzx eax, byte [eax*8 + 0x4d0a69]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4b4fc3
movzx eax, byte [eax*8 + 0x4d0a68]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x4b4fc3
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b4fb7
cmp eax, 3
je 0x4b4fb7
xor ecx, ecx
jmp 0x4b4fbc
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 6
je 0x4b4fb7
cmp edx, 9
je 0x4b4fb7
cmp edx, 0xa
je 0x4b4fb7
cmp edx, 0xc
je 0x4b4fb7
cmp edx, 0xd
je 0x4b4fb7
xor ecx, ecx
jmp 0x4b4fbc
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 6
je 0x4b4fb7
cmp edx, 9
je 0x4b4fb7
cmp edx, 0xa
je 0x4b4fb7
cmp edx, 0xb
jmp 0x4b4f55
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b4fb7
cmp eax, 3
je 0x4b4fb7
cmp edx, 0x5f
je 0x4b4fb7
xor ecx, ecx
jmp 0x4b4fbc
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x4b4b09
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x4b326f
mov edi, dword [ebp + 0x7c]
cmp ebx, edi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b501d
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 2
je case.default.0x4b4b09
cmp ebx, edi
jae case.0x4b4c51.8203
mov esi, ebx
mov dword [esp + 0x18], ebx
nop dword [eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b5095
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 2
jne 0x4b50cc
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4b5060
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
jmp 0x4b326f
movzx eax, word [esi + 2]
xor edx, edx
cmp dword [esp + 0x20], 0x6e
sete dl
add esi, 4
lea ecx, [eax + eax]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x14], esi
cmp ecx, dword [esp + 0x170]
jge 0x4b511b
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x4b511b
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x4b5125
mov ebp, dword [ebp + 0x50]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov eax, dword [esp + 0x14]
movzx esi, word [eax]
mov edi, esi
lea eax, [edi - 0x62]
cmp eax, 7
ja case.default.0x4b5141
movzx eax, byte [eax + 0x4bae8c]
jmp dword [eax*4 + 0x4bae84]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + str.space]
and eax, 1
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x4c4cb2]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x4b51a0
mov dword [esp + 0x34], SysReAllocString
jmp 0x4b51a0
mov edi, dword [esp + 0x14]
xor eax, eax
cmp esi, 0x69
sete al
movzx esi, word [edi + 2]
mov dword [esp + 0x30], eax
movzx eax, word [edi + 4]
test eax, eax
cmove eax, dword [esp + 0x4c]
add edi, 6
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], edi
test ebp, ebp
je 0x4b3264
jns 0x4b51b2
test esi, esi
je 0x4b3264
mov edi, 1
cmp esi, edi
jl 0x4b51ef
nop dword [eax + eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004b2fd0
add esp, 0xc
test eax, eax
js 0x4b8aaf
mov ecx, dword [esp + 0x2c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc edi
mov dword [esp + 0x18], ebx
cmp edi, esi
jle 0x4b51c0
mov eax, dword [esp + 0x34]
cmp esi, eax
je 0x4b3264
cmp dword [esp + 0x30], 0
je 0x4b8ae5
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov edi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x34]
jge case.default.0x4b4b09
push dword [esp + 0x3c]
mov edx, ebx
mov ecx, edi
push dword [esp + 0x178]
push ebp
call fcn.004b2fd0
add esp, 0xc
test eax, eax
js 0x4b8aaf
mov edx, dword [esp + 0x14]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
inc esi
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b5245
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x174]
push edx
push esi
push ebp
mov edx, ebx
call fcn.004b2fd0
add esp, 0xc
test eax, eax
js 0x4b8bc3
lea ebx, [ebx + eax*2]
mov ebp, esi
mov dword [esp + 0x18], ebx
jmp 0x4b326b
movzx edx, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x34], ebp
mov ecx, edx
mov dword [esp + 0x14], esi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4b5306
movzx eax, byte [eax + 0x4bae9c]
jmp dword [eax*4 + 0x4bae94]
movsx eax, byte [ecx + 0x4c4cb2]
add esi, 2
mov edx, ecx
mov dword [esp + 0x14], esi
movsx esi, byte [ecx + str.space]
and edx, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], eax
test eax, eax
jne 0x4b5372
mov dword [esp + 0x30], SysReAllocString
jmp 0x4b5372
mov ecx, dword [esp + 0x14]
xor eax, eax
movzx esi, word [esi + 2]
cmp edx, 0x69
mov edx, SysReAllocString
mov dword [esp + 0x2c], esi
sete al
mov dword [esp + 0x28], eax
movzx eax, word [ecx + 4]
test eax, eax
cmove eax, edx
add ecx, 6
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
cmp esi, 1
jl 0x4b5414
jmp 0x4b538e
mov esi, 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x2c], esi
mov ecx, dword [esp + 0x174]
mov edi, 1
mov ebp, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, ebp
jae 0x4b8dd4
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b53e0
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp edx, 0xff
jbe 0x4b53ef
cmp dword [esp + 0x20], 0x6a
jmp 0x4b5405
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x34]
test byte [edx + ecx], al
je case.default.0x4b4b09
inc edi
cmp edi, esi
jle 0x4b53a0
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
cmp esi, edi
je 0x4b3264
cmp dword [esp + 0x28], 0
je 0x4b8c52
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
cmp esi, edi
jge case.default.0x4b4b09
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4b8ddb
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b54ae
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
cmp edx, 0xff
jbe 0x4b8bf2
cmp dword [esp + 0x20], 0x6a
je case.default.0x4b4b09
jmp 0x4b8c11
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
movzx edx, word [esi + eax*2]
lea esi, [esi + eax*2]
mov ecx, edx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x14], esi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4b54f5
movzx eax, byte [eax + 0x4baeac]
jmp dword [eax*4 + 0x4baea4]
movsx eax, byte [ecx + 0x4c4cb2]
mov edx, ecx
movsx edi, byte [ecx + str.space]
add esi, 2
and edx, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], eax
test eax, eax
jne 0x4b5555
mov dword [esp + 0x34], SysReAllocString
jmp 0x4b5555
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, SysReAllocString
sete al
mov dword [esp + 0x28], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], esi
cmp edi, 1
jl 0x4b55e1
jmp 0x4b556d
mov dword [esp + 0x34], 1
mov edi, 1
mov esi, 1
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4b8ddb
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b55c8
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.004bc670
add esp, 4
test eax, eax
je case.default.0x4b4b09
inc esi
cmp esi, edi
jle 0x4b5580
mov esi, dword [esp + 0x34]
cmp edi, esi
je 0x4b3264
cmp dword [esp + 0x28], 0
je 0x4b8dee
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
cmp edi, esi
jge case.default.0x4b4b09
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4b8ddb
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b567b
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.004bc670
add esp, 4
test eax, eax
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b5633
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ax, word [esi + 2]
add esi, 2
mov ecx, 0xfc00
xor edx, edx
and ax, cx
mov ecx, 0xd800
cmp ax, cx
mov ecx, dword [ebp + 0x7c]
mov eax, ecx
sete dl
sub eax, ebx
inc edx
sar eax, 1
cmp edx, eax
jg 0x4b8f31
movzx ecx, word [esi]
dec edx
movzx eax, word [ebx]
add esi, 2
add ebx, 2
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
cmp cx, ax
jne case.default.0x4b4b09
test edx, edx
jg 0x4b5704
jmp 0x4b326f
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx edx, word [esi + 2]
lea ecx, [esi + 2]
mov eax, edx
lea esi, [ecx + 2]
and eax, 0xfc00
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x4b5770
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
mov edi, 4
add edx, 0x10000
jmp 0x4b5775
mov edi, 2
movzx eax, word [ebx]
cmp edx, 0x80
jae 0x4b57ab
mov edi, 0xff
mov ecx, eax
cmp ax, di
mov eax, dword [ebp + 0x34]
ja 0x4b5793
movzx ecx, byte [ecx + eax]
movzx eax, byte [eax + edx]
cmp eax, ecx
jne case.default.0x4b4b09
add ebx, 2
mov dword [esp + 0x18], ebx
jmp 0x4b326f
mov esi, eax
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x4b57e0
movzx eax, word [ebx]
and esi, 0x3ff
shl esi, 0xa
and eax, 0x3ff
add ebx, 2
or esi, eax
mov dword [esp + 0x18], ebx
add esi, 0x10000
lea eax, [edi + ecx]
mov dword [esp + 0x14], eax
cmp edx, esi
je 0x4b326b
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
mov eax, dword [eax*8 + 0x4d0a6c]
add eax, edx
cmp esi, eax
jne case.default.0x4b4b09
jmp 0x4b326b
movzx edi, word [esi + 2]
lea ecx, [esi + 4]
mov ebp, edi
jmp 0x4b58e8
mov dword [esp + 0x30], 1
movzx edi, word [esi + 2]
xor ebp, ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], edi
cmp ecx, 0x28
je 0x4b5855
mov dword [esp + 0x28], ebp
cmp ecx, 0x35
jne 0x4b585d
mov dword [esp + 0x28], 1
lea ecx, [esi + 4]
jmp 0x4b58f0
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], SysReAllocString
jmp 0x4b58ec
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
mov ebp, 1
mov dword [esp + 0x20], SysReAllocString
jmp 0x4b58ec
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], 1
jmp 0x4b58ec
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x28], ecx
and dword [esp + 0x28], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4c4d14]
movsx ebp, byte [eax + 0x4c4d1c]
test edi, edi
mov eax, SysReAllocString
cmove edi, eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebp
movzx esi, word [ecx]
lea edi, [ecx + 2]
mov eax, esi
mov dword [esp + 0x1c], ecx
and eax, 0xfc00
mov dword [esp + 0x14], edi
cmp eax, 0xd800
jne 0x4b5cfa
movzx eax, word [edi]
and esi, 0x3ff
shl esi, 0xa
and eax, 0x3ff
or esi, eax
mov dword [esp + 0x3c], 2
add esi, 0x10000
lea eax, [ecx + 4]
mov dword [esp + 0x14], eax
cmp edx, 0x2e
jb 0x4b5979
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4d1b48]
mov eax, esi
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
mov ecx, dword [eax*8 + 0x4d0a6c]
add ecx, esi
cmp ecx, esi
je 0x4b5979
lea edx, [esp + 0x74]
call fcn.004bc460
mov edi, eax
mov dword [esp + 0x2c], eax
jmp 0x4b597f
xor edi, edi
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x24]
mov ebp, 1
cmp esi, ebp
jl 0x4b5ac8
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x14], esi
lea eax, [ecx - 4]
mov dword [esp + 0x44], eax
jmp 0x4b59c4
mov edi, dword [esp + 0x2c]
cmp ebx, eax
ja 0x4b5a2f
lea esi, [edx + edx]
mov ecx, ebx
mov edx, dword [esp + 0x1c]
sub esi, 4
jb 0x4b59f1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b59f6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4b59e0
cmp esi, 0xfffffffc
je 0x4b5a23
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b5a2b
cmp esi, 0xfffffffd
je 0x4b5a23
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b5a2b
cmp esi, 0xfffffffe
je 0x4b5a23
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b5a2b
cmp esi, 0xffffffff
je 0x4b5a23
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b5a2b
add ebx, 4
jmp 0x4b5aab
mov ecx, dword [esp + 0x34]
test edi, edi
jle 0x4b8aaf
add edi, edi
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4b8aaf
mov esi, dword [esp + 0x2c]
lea edx, [esp + 0x74]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x4b5a67
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b5a6c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4b5a56
cmp esi, 0xfffffffc
je 0x4b5aa9
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b8aaf
cmp esi, 0xfffffffd
je 0x4b5aa9
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b8aaf
cmp esi, 0xfffffffe
je 0x4b5aa9
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b8aaf
cmp esi, 0xffffffff
je 0x4b5aa9
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b8aaf
add ebx, edi
mov esi, dword [esp + 0x24]
inc ebp
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], ebx
cmp ebp, esi
jle 0x4b59c0
mov edi, dword [esp + 0x20]
cmp esi, edi
je 0x4b3264
cmp dword [esp + 0x28], 0
jne 0x4b8f4c
mov ebp, ebx
mov dword [esp + 0x28], ebp
cmp esi, edi
jge 0x4b5c1c
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x7c]
mov ebp, eax
lea edi, [ecx + ecx]
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], edi
sub ebp, edi
nop word [eax + eax]
cmp ebx, ebp
ja 0x4b5b74
mov edx, dword [esp + 0x1c]
lea esi, [ecx + ecx]
mov ecx, ebx
sub esi, 4
jb 0x4b5b37
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b5b3c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4b5b26
cmp esi, 0xfffffffc
je 0x4b5b69
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b5b70
cmp esi, 0xfffffffd
je 0x4b5b69
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b5b70
cmp esi, 0xfffffffe
je 0x4b5b69
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b5b70
cmp esi, 0xffffffff
je 0x4b5b69
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b5b70
add ebx, edi
jmp 0x4b5bf9
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4b5cc3
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x4b5cc3
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4b5bb1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b5bb6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4b5ba0
cmp esi, 0xfffffffc
je 0x4b5bf3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b5cc3
cmp esi, 0xfffffffd
je 0x4b5bf3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b5cc3
cmp esi, 0xfffffffe
je 0x4b5bf3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b5cc3
cmp esi, 0xffffffff
je 0x4b5bf3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b5cc3
add ebx, edi
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
inc esi
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], esi
cmp esi, dword [esp + 0x20]
jl 0x4b5b10
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4b3264
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
cmp ebx, ebp
je case.default.0x4b4b09
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b5c89
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.004b3180
add esp, 0x14
test eax, eax
je 0x4b5c65
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4b5cf1
cmp ebx, dword [esi + 0x7c]
jb 0x4b5cf1
cmp ebx, dword [esi + 0x88]
jbe 0x4b5cf1
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
mov ebp, dword [esp + 0x28]
jmp 0x4b5c23
cmp edx, 0x2e
jb 0x4b5e5d
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x4b5d38
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4d1b48]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
mov edi, dword [eax*8 + 0x4d0a6c]
add edi, esi
jmp 0x4b5d3f
mov eax, dword [edx + 0x38]
movzx edi, byte [eax + esi]
mov ecx, 1
cmp ebp, ecx
jl 0x4b5d7b
mov edx, dword [edx + 0x7c]
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x4b8dd4
movzx eax, word [ebx]
cmp esi, eax
je 0x4b5d6f
cmp edi, eax
jne case.default.0x4b4b09
add ebx, 2
inc ecx
mov dword [esp + 0x18], ebx
cmp ecx, ebp
jle 0x4b5d50
mov eax, dword [esp + 0x20]
cmp ebp, eax
je 0x4b3264
cmp dword [esp + 0x28], 0
jne 0x4b9129
mov edx, dword [esp + 0x24]
mov ebp, ebx
cmp edx, eax
jge 0x4b5dc7
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4b5e2f
movzx eax, word [ebx]
cmp esi, eax
je 0x4b5db9
cmp edi, eax
jne 0x4b5dc7
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, dword [esp + 0x20]
jl 0x4b5da6
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4b3264
cmp ebx, ebp
jb case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4b8804
mov ecx, dword [esp + 0x174]
cmp ebx, ebp
jae 0x4b5de1
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 0x4b5dce
cmp ebx, dword [ecx + 0x88]
jbe 0x4b5dce
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b5dce
mov edi, dword [esp + 0x174]
mov ecx, 1
cmp ebp, ecx
jl 0x4b5e8f
mov edx, dword [edi + 0x7c]
cmp ebx, edx
jae 0x4b91cd
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x18], ebx
cmp esi, eax
jne case.default.0x4b4b09
inc ecx
cmp ecx, ebp
jle 0x4b5e70
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x4b3264
cmp dword [esp + 0x28], 0
jne 0x4b91f3
mov edi, ebx
cmp ebp, edx
jge 0x4b5ed1
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4b5f37
movzx eax, word [ebx]
cmp esi, eax
jne 0x4b5ed1
add ebx, 2
inc ebp
mov dword [esp + 0x18], ebx
cmp ebp, edx
jl 0x4b5eb6
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4b326b
cmp ebx, edi
jb case.default.0x4b4b09
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.004b3180
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x4b8804
cmp ebx, edi
jae 0x4b5ef0
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 0x4b5ed8
cmp ebx, dword [ebp + 0x88]
jbe 0x4b5ed8
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b5ed8
cmp ebx, dword [ebp + 0x7c]
jae 0x4ba580
movzx edx, word [ebx]
lea ecx, [esi + 2]
mov eax, edx
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x18], ebx
cmp eax, 0xd800
jne 0x4b5fa9
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
add ebx, 2
or edx, eax
mov dword [esp + 0x18], ebx
add edx, 0x10000
movzx esi, word [ecx]
lea eax, [ecx + 2]
mov dword [esp + 0x14], eax
cmp edi, 0x20
jne 0x4b6006
cmp esi, 0x7f
jbe 0x4b5fea
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4d1b48]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
mov eax, dword [eax*8 + 0x4d0a6c]
add eax, esi
jmp 0x4b5ff1
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + esi]
cmp esi, edx
je case.default.0x4b4b09
cmp eax, edx
je case.default.0x4b4b09
jmp 0x4b326b
mov dword [esp + 0x14], eax
cmp esi, edx
je case.default.0x4b4b09
jmp 0x4b326b
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x20], eax
mov edi, eax
jmp 0x4b60e7
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x20], eax
cmp ecx, 0x42
je 0x4b6041
mov dword [esp + 0x28], edi
cmp ecx, 0x4f
jne 0x4b6049
mov dword [esp + 0x28], 1
lea ecx, [esi + 4]
jmp 0x4b60e7
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x4b60df
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x4b60df
mov dword [esp + 0x30], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x4b60e7
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x30], 1
xor edi, edi
mov dword [esp + 0x20], eax
jmp 0x4b60e7
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x28], ecx
and dword [esp + 0x28], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4c4d1c]
movsx eax, byte [eax + 0x4c4d14]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4b60e7
mov dword [esp + 0x20], SysReAllocString
movzx ebp, word [ecx]
add ecx, 2
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x14], ecx
cmp edx, 0x48
jb 0x4b6290
cmp ebp, 0x7f
jbe 0x4b6139
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4d1b48]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4d0a6c]
add ebp, dword [esp + 0x2c]
jmp 0x4b6147
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x34], ebp
cmp edi, 1
jl 0x4b61b7
mov esi, dword [ecx + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4b8dd4
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b61a0
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x2c], ecx
je case.default.0x4b4b09
cmp ebp, ecx
je case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b6160
mov esi, dword [esp + 0x20]
cmp edi, esi
je 0x4b3264
cmp dword [esp + 0x28], 0
jne 0x4b9323
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, esi
jge 0x4b6240
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4b625b
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b621f
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x2c], ecx
je 0x4b6239
cmp dword [esp + 0x34], ecx
je 0x4b6239
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x4b61e2
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x14]
je 0x4b928a
mov ebp, dword [esp + 0x174]
jmp 0x4b326f
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b6240
cmp ebx, dword [ecx + 0x88]
jbe 0x4b6240
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b6240
mov edx, 1
cmp edi, edx
jl 0x4b62f8
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4b8dd4
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b62e7
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebp, ecx
je case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b62a7
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
cmp edi, esi
je 0x4b3264
cmp dword [esp + 0x28], 0
jne 0x4b94bf
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, esi
jge 0x4b637b
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4b6396
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6360
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x2c], ecx
je 0x4b6374
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x20]
jl 0x4b6323
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x14]
je 0x4b9425
mov ebp, dword [esp + 0x174]
jmp 0x4b326f
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b637b
cmp ebx, dword [ecx + 0x88]
jbe 0x4b637b
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b637b
movzx eax, word [esi + 2]
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edi
lea eax, [esi + 4]
mov dword [esp + 0x28], 1
jmp 0x4b649b
movzx eax, word [esi + 2]
xor edx, edx
xor edi, edi
mov dword [esp + 0x24], eax
cmp ecx, 0x5c
mov dword [esp + 0x20], edi
lea eax, [esi + 4]
sete dl
mov dword [esp + 0x28], edx
jmp 0x4b649b
xor edi, edi
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
jmp 0x4b6493
mov edi, 1
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
jmp 0x4b6493
xor edi, edi
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
lea eax, [esi + 2]
mov dword [esp + 0x24], 1
jmp 0x4b649b
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x24], eax
lea eax, [esi + 4]
mov dword [esp + 0x30], 1
mov dword [esp + 0x20], edi
jmp 0x4b649b
movsx edi, byte [edx + 0x4c4cc7]
lea ecx, [edx - 1]
and ecx, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], ecx
lea eax, [esi + 2]
movsx ecx, byte [edx + 0x4c4cbf]
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x4b649b
mov dword [esp + 0x24], SysReAllocString
movzx esi, word [eax]
lea edx, [eax + 2]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], edx
cmp esi, 0x10
je 0x4b64bc
cmp esi, 0xf
je 0x4b64bc
or eax, 0xffffffff
mov dword [esp + 0x2c], eax
jmp 0x4b64e2
movzx ecx, word [edx]
xor eax, eax
cmp esi, 0xf
mov dword [esp + 0x2c], ecx
sete al
mov dword [esp + 0x38], eax
lea eax, [edx + 2]
movzx edx, word [eax]
add eax, 2
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x40], edx
test edi, edi
jle 0x4b7190
test eax, eax
js 0x4b6a48
cmp eax, 8
ja case.default.0x4b4e71
jmp dword [eax*4 + 0x4baeb4]
cmp dword [esp + 0x38], 0
jne case.default.0x4b4b09
mov esi, dword [ebp + 0x7c]
mov edx, 1
mov ecx, ebx
cmp ebx, esi
jae 0x4ba580
mov ax, word [ebx]
mov ebx, 0xfc00
and ax, bx
xor ebx, ebx
cmp ax, word [esp + 0x50]
sete bl
inc edx
lea ebx, [ebx*2 + 2]
add ebx, ecx
cmp edx, edi
jle 0x4b6515
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b658b
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
mov al, byte [eax*8 + 0x4d0a69]
cmp al, 9
je 0x4b65be
cmp al, 5
je 0x4b65be
cmp al, 8
je 0x4b65be
xor eax, eax
jmp 0x4b65c3
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b6553
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b661b
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov ebp, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], ebp
mov ebp, dword [esp + 0x174]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b65e3
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop word [eax + eax]
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b66b8
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b6680
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6748
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a68]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b6710
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax]
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b67d8
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b6811
cmp eax, 3
je 0x4b6811
xor eax, eax
jmp 0x4b6816
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b67a0
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
nop
cmp ebx, edi
jae 0x4b8dd4
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6878
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 6
je 0x4b68c0
cmp edx, 9
je 0x4b68c0
cmp edx, 0xa
je 0x4b68c0
cmp edx, 0xc
je 0x4b68c0
cmp edx, 0xd
je 0x4b68c0
xor eax, eax
jmp 0x4b68c5
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
inc esi
cmp esi, ebp
jle 0x4b6840
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4b8dd4
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6929
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 + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 6
je 0x4b6976
cmp edx, 9
je 0x4b6976
cmp edx, 0xa
je 0x4b6976
cmp edx, 0xb
je 0x4b6976
cmp edx, 0xc
je 0x4b6976
cmp edx, 0xd
je 0x4b6976
xor eax, eax
jmp 0x4b697b
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
inc esi
cmp esi, ebp
jle 0x4b68f1
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4b8dd4
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x18], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b69e7
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 + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b6a27
cmp eax, 3
je 0x4b6a27
cmp edx, 0x5f
je 0x4b6a27
xor eax, eax
jmp 0x4b6a2c
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
inc esi
cmp esi, ebp
jle 0x4b69a7
mov edi, dword [esp + 0x20]
jmp 0x4b7184
cmp esi, 0x16
jne 0x4b6b63
lea ebp, [esi - 0x15]
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6aa2
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 2
je case.default.0x4b4b09
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x4b6b51
mov edi, ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6b16
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 2
jne 0x4b6b4d
lea ebx, [edi + edx*2]
mov edi, ebx
cmp ebx, esi
jb 0x4b6ae1
mov edi, dword [esp + 0x20]
inc ebp
cmp ebp, edi
jle 0x4b6a60
mov dword [esp + 0x18], ebx
jmp 0x4b7184
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4b4e71
jmp dword [eax*4 + 0x4baed8]
mov ecx, dword [ebp + 0x7c]
mov esi, 1
nop
cmp ebx, ecx
jae 0x4ba580
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x4b6baa
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004bc4c0
add esp, 0xc
test eax, eax
jne case.default.0x4b4b09
jmp 0x4b6bd5
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4b6bd5
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x4b6bd5
cmp edx, 1
je case.default.0x4b4b09
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4b4b09
mov ecx, dword [ebp + 0x7c]
add ebx, 2
cmp ebx, ecx
jae 0x4b6bf7
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b6bf7
add ebx, 2
inc esi
cmp esi, edi
jle 0x4b6b80
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov edx, dword [ebp + 0x7c]
mov ecx, 1
nop dword [eax]
cmp ebx, edx
jae 0x4ba580
add ebx, 2
cmp ebx, edx
jae 0x4b6c31
mov ax, word [ebx]
and ax, word [esp + 0x68]
cmp ax, word [esp + 0x48]
jne 0x4b6c31
add ebx, 2
inc ecx
cmp ecx, edi
jle 0x4b6c10
mov dword [esp + 0x18], ebx
jmp 0x4b7190
mov eax, dword [ebp + 0x7c]
lea ecx, [edi + edi]
sub eax, ecx
cmp ebx, eax
ja case.default.0x4b4b09
add ebx, ecx
mov dword [esp + 0x18], ebx
jmp 0x4b7190
mov edi, dword [ebp + 0x7c]
mov esi, 1
mov ebp, dword [esp + 0x20]
cmp ebx, edi
jae 0x4b8dd4
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6c9e
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 0x4b6ce3
je case.0x4b6cbc.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4b4b09
jmp dword [ecx*4 + 0x4baf18]
mov ebx, edx
cmp edx, edi
jae 0x4b6d07
cmp word [edx], 0xa
jne 0x4b6d07
lea ebx, [edx + 2]
jmp 0x4b6d07
mov ebx, edx
jmp 0x4b6d07
sub ecx, 0x2028
je case.0x4b6cbc.11
sub ecx, 1
jne case.default.0x4b4b09
mov eax, dword [esp + 0x174]
mov ebx, edx
cmp dword [eax + 0x68], 0
jne case.default.0x4b4b09
inc esi
cmp esi, ebp
jle 0x4b6c66
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6d5d
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 0x4b6db7
je case.default.0x4b4b09
cmp ecx, 0xa0
ja 0x4b6d9d
je case.default.0x4b4b09
cmp ecx, 9
je case.default.0x4b4b09
cmp ecx, 0x20
je case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b6d25
mov dword [esp + 0x18], ebx
jmp 0x4b7184
cmp ecx, 0x1680
je case.default.0x4b4b09
cmp ecx, 0x180e
je case.default.0x4b4b09
jmp case.0x4b6dd7.8203
cmp ecx, 0x3000
ja case.0x4b6dd7.8203
je case.default.0x4b4b09
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4b6dd7.8203
movzx eax, byte [ecx + 0x4baf30]
jmp dword [eax*4 + 0x4baf28]
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6e1e
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 0x4b6e68
je case.0x4b6e8c.8193
cmp ecx, 0xa0
ja 0x4b6e52
je case.0x4b6e8c.8193
cmp ecx, 9
je case.0x4b6e8c.8193
cmp ecx, 0x20
jne case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b6de6
mov dword [esp + 0x18], ebx
jmp 0x4b7184
cmp ecx, 0x1680
je case.0x4b6e8c.8193
cmp ecx, 0x180e
jne case.default.0x4b4b09
jmp case.0x4b6e8c.8193
cmp ecx, 0x3000
ja case.default.0x4b4b09
je case.0x4b6e8c.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4b4b09
movzx eax, byte [ecx + 0x4baf98]
jmp dword [eax*4 + 0x4baf90]
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop dword [eax + eax]
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6edc
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 0x4b6ef9
je case.default.0x4b4b09
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4b6ef2
jmp dword [ecx*4 + 0x4baff8]
sub ecx, 0x2028
je case.default.0x4b4b09
sub ecx, 1
je case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b6ea0
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6f60
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 0x4b6f81
je case.0x4b6f7a.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4b4b09
jmp dword [ecx*4 + 0x4bb008]
sub ecx, 0x2028
je case.0x4b6f7a.10
sub ecx, 1
jne case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b6f24
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b6fe4
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 0x4b6ff9
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4b4b09
inc edx
cmp edx, edi
jle 0x4b6fa8
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4ba580
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4b4b09
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4b4b09
inc edx
add ebx, 2
cmp edx, edi
jle 0x4b7010
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4ba580
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4b7075
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4b4b09
add ebx, 2
cmp ebx, esi
jae 0x4b7098
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b7098
add ebx, 2
inc edx
cmp edx, edi
jle 0x4b7051
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4ba580
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4b4b09
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4b4b09
inc edx
add ebx, 2
cmp edx, edi
jle 0x4b70b0
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4ba580
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4b7115
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4b4b09
add ebx, 2
cmp ebx, esi
jae 0x4b7138
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b7138
add ebx, 2
inc edx
cmp edx, edi
jle 0x4b70f1
mov dword [esp + 0x18], ebx
jmp 0x4b7184
mov esi, dword [ebp + 0x7c]
mov edx, 1
nop
cmp ebx, esi
jae 0x4ba580
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4b4b09
mov ecx, eax
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4b4b09
add ebx, 2
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x4b7150
mov esi, dword [esp + 0x1c]
nop dword [eax + eax]
mov edx, dword [esp + 0x24]
cmp edi, edx
je 0x4b3264
cmp dword [esp + 0x28], 0
mov eax, dword [esp + 0x2c]
jne 0x4b967d
mov ebp, ebx
mov dword [esp + 0x28], ebp
test eax, eax
js 0x4b78a2
cmp eax, 8
ja case.default.0x4b4e71
jmp dword [eax*4 + 0x4bb018]
mov ecx, dword [esp + 0x174]
cmp edi, edx
jge 0x4b7887
mov edx, dword [ecx + 0x7c]
mov esi, 0xd800
cmp ebx, edx
jae 0x4b721f
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x38], 0
movzx ecx, ax
jne 0x4b7880
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 0x4b71e0
jmp 0x4b7880
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b7887
cmp ebx, dword [ecx + 0x88]
jbe 0x4b7887
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b7887
cmp edi, edx
jge 0x4b7880
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4b721f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b72a4
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
mov al, byte [eax*8 + 0x4d0a69]
cmp al, 9
je 0x4b72e2
cmp al, 5
je 0x4b72e2
cmp al, 8
je 0x4b72e2
xor eax, eax
jmp 0x4b72e7
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4b7880
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b7267
jmp 0x4b7880
cmp edi, edx
jge 0x4b7880
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x4b721f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7361
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov ebp, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], ebp
mov ebp, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4b7880
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b7320
jmp 0x4b7880
cmp edi, edx
jge 0x4b7880
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4b721f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7411
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4b7880
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b73d0
jmp 0x4b7880
cmp edi, edx
jge 0x4b7880
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4b721f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b74b2
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a68]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4b7880
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b7471
jmp 0x4b7880
cmp edi, edx
jge 0x4b7880
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4b721f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7553
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b7597
cmp eax, 3
je 0x4b7597
xor eax, eax
jmp 0x4b759c
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4b7880
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b7512
jmp 0x4b7880
cmp edi, edx
jge 0x4b7880
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
nop
mov esi, 1
cmp ebx, edi
jae 0x4b769e
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7611
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 + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 6
je 0x4b7670
cmp edx, 9
je 0x4b7670
cmp edx, 0xa
je 0x4b7670
cmp edx, 0xc
je 0x4b7670
cmp edx, 0xd
je 0x4b7670
xor eax, eax
jmp 0x4b7675
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4b7880
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 0x4b75d0
jmp 0x4b7880
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b7887
cmp ebx, dword [ecx + 0x88]
jbe 0x4b7887
mov dword [ecx + 0x64], esi
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b7887
cmp edi, edx
jge 0x4b7880
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
mov esi, 1
cmp ebx, edi
jae 0x4b769e
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b771f
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 + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 6
je 0x4b7787
cmp edx, 9
je 0x4b7787
cmp edx, 0xa
je 0x4b7787
cmp edx, 0xb
je 0x4b7787
cmp edx, 0xc
je 0x4b7787
cmp edx, 0xd
je 0x4b7787
xor eax, eax
jmp 0x4b778c
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4b7880
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 0x4b76e2
jmp 0x4b7880
cmp edi, edx
jge 0x4b7880
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x7c]
cmp ebx, edi
jae 0x4b721f
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7808
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 + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b7857
cmp eax, 3
je 0x4b7857
cmp edx, 0x5f
je 0x4b7857
xor eax, eax
jmp 0x4b785c
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4b7880
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 0x4b77c7
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
mov esi, dword [esp + 0x14]
je 0x4b95a0
mov ebp, dword [esp + 0x174]
jmp 0x4b326f
cmp esi, 0x16
jne 0x4b7af9
cmp edi, edx
mov edi, dword [esp + 0x174]
jge 0x4b7a15
mov ebp, dword [edi + 0x7c]
nop dword [eax]
cmp ebx, ebp
jae 0x4b79e7
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7901
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 2
je 0x4b7a11
mov edi, dword [edi + 0x7c]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp ebx, edi
jae 0x4b79c8
mov esi, ebx
nop word [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7989
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 2
jne 0x4b79c4
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4b7950
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x174]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x24]
jl 0x4b78c0
jmp 0x4b7a11
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x4b7a11
cmp ebx, dword [edi + 0x88]
jbe 0x4b7a11
mov dword [edi + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
mov ebp, dword [esp + 0x28]
cmp dword [esp + 0x30], 0
jne 0x4b3264
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4b4b09
mov ebp, 0xdc00
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and ecx, 0xfc00
movzx edi, cx
cmp cx, bp
jne 0x4b7a87
movzx eax, word [edx - 2]
lea ebx, [edx - 2]
cmp di, bp
movzx ecx, ax
lea esi, [edx - 2]
mov eax, ecx
cmovne esi, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7abf
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 2
jne 0x4b9633
lea ebx, [esi - 2]
jmp 0x4b7a67
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4b4e71
jmp dword [eax*4 + 0x4bb03c]
cmp edx, 0x7fffffff
jge 0x4b7c11
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x4b7beb
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4b7b61
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004bc4c0
add esp, 0xc
test eax, eax
jne 0x4b7f94
jmp 0x4b7b9b
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4b7b9b
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4b7b9b
cmp edx, 1
je 0x4b7f94
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4b7f94
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4b7bdb
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4b7bdb
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4b7b30
jmp 0x4b7f94
mov eax, dword [eax + 0x8c]
test eax, eax
je 0x4b7f94
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x88]
jbe 0x4b7f94
jmp 0x4b7d64
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop dword [eax + eax]
cmp ebx, ecx
jae 0x4b7beb
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4b7c4d
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004bc4c0
add esp, 0xc
test eax, eax
jne 0x4b7f94
jmp 0x4b7c87
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4b7c87
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4b7c87
cmp edx, 1
je 0x4b7f94
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4b7f94
mov eax, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x18], ebx
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4b7cc7
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [esp + 0x174]
jne 0x4b7cc7
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4b7c20
jmp 0x4b7f94
cmp edx, 0x7fffffff
jge 0x4b7d3c
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4b7d30
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, ecx
jae 0x4b7d26
mov ax, word [ebx]
and ax, word [esp + 0x68]
cmp ax, word [esp + 0x48]
jne 0x4b7d26
add ebx, 2
mov dword [esp + 0x18], ebx
inc edi
cmp edi, edx
jl 0x4b7cf5
jmp 0x4b7f94
mov ecx, dword [esp + 0x174]
jmp 0x4b7d4a
mov ecx, dword [esp + 0x174]
mov ebx, dword [ecx + 0x7c]
mov dword [esp + 0x18], ebx
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b7f9b
cmp ebx, dword [ecx + 0x88]
jbe 0x4b7f9b
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b7f9b
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 0x4b7db1
mov eax, dword [edi + 0x8c]
mov ebx, ecx
mov dword [esp + 0x18], ebx
test eax, eax
je 0x4b7db8
cmp ecx, dword [edi + 0x88]
mov ecx, edi
jmp 0x4b7d5e
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
mov ecx, edi
jmp 0x4b7f9b
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x7c]
cmp ebx, edx
jae 0x4b7eab
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7e12
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x4b7e17
mov eax, 2
cmp ecx, 0xd
jne 0x4b7e41
add ebx, 2
mov dword [esp + 0x18], ebx
cmp ebx, edx
jae 0x4b7f94
cmp word [ebx], 0xa
jne 0x4b7e9b
add ebx, 2
jmp 0x4b7e97
cmp ecx, 0xa
je 0x4b7e95
mov ebp, dword [esp + 0x174]
cmp dword [ebp + 0x68], 0
mov ebp, dword [esp + 0x28]
jne 0x4b7f94
cmp ecx, 0xb
je 0x4b7e95
cmp ecx, 0xc
je 0x4b7e95
cmp ecx, 0x85
je 0x4b7e95
cmp ecx, 0x2028
je 0x4b7e95
cmp ecx, 0x2029
jne 0x4b7f94
add ebx, eax
mov dword [esp + 0x18], ebx
inc edi
cmp edi, dword [esp + 0x24]
jl 0x4b7dd1
jmp 0x4b7f94
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b7f9b
cmp ebx, dword [ecx + 0x88]
jbe 0x4b7f9b
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b7f9b
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
mov edx, 1
cmp ebx, esi
jae 0x4b80c3
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b7f34
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 0x4b808a
je case.0x4b80b2.8193
cmp ecx, 0xa0
ja 0x4b8073
je case.0x4b80b2.8193
cmp ecx, 9
je case.0x4b80b2.8193
cmp ecx, 0x20
je case.0x4b80b2.8193
xor ecx, ecx
xor eax, eax
cmp dword [esp + 0x1c], 0x12
sete al
cmp ecx, eax
je 0x4b7f90
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b7ef3
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x30], 0
jne 0x4b3264
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop dword [eax]
lea ecx, [ebx - 2]
cmp ebx, ebp
je case.default.0x4b4b09
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4b8007
add ecx, 0xfffffffe
mov ebx, ecx
cmp esi, 0x11
jne 0x4b802f
cmp ecx, ebp
jbe 0x4b802f
cmp word [ecx], 0xa
jne 0x4b802f
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.004b3180
add esp, 0x14
test eax, eax
je 0x4b7fe0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x1680
je case.0x4b80b2.8193
cmp ecx, 0x180e
jmp 0x4b7f64
cmp ecx, 0x3000
ja case.0x4b80b2.8203
je case.0x4b80b2.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4b80b2.8203
movzx eax, byte [ecx + 0x4bb084]
jmp dword [eax*4 + 0x4bb07c]
mov ecx, 1
jmp 0x4b7f6c
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b80f0
cmp ebx, dword [ecx + 0x88]
jbe 0x4b80f0
mov dword [ecx + 0x64], edx
cmp eax, 1
jg 0x4ba5b0
mov esi, dword [esp + 0x1c]
jmp 0x4b7f9b
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x4b81c0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b8151
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 0x4b8176
je case.0x4b816f.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4b816f
jmp dword [ecx*4 + 0x4bb0e4]
sub ecx, 0x2028
je case.0x4b816f.10
sub ecx, 1
je case.0x4b816f.10
xor ecx, ecx
jmp 0x4b8197
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x1c], 0x14
sete al
cmp ecx, eax
je 0x4b7f90
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b8110
jmp 0x4b7f90
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b80f0
cmp ebx, dword [ecx + 0x88]
jbe 0x4b80f0
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
mov esi, dword [esp + 0x1c]
jmp 0x4b7f9b
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4b81c0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b824d
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 0x4b826d
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x4b7f90
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b8210
jmp 0x4b7f90
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4b81c0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b82d3
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 0x4b7f90
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x4b7f90
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b8292
jmp 0x4b7f90
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4b81c0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b8359
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 0x4b8379
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x4b7f90
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b8318
jmp 0x4b7f90
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop
cmp ebx, esi
jae 0x4b81c0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b83e1
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 0x4b7f90
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x4b7f90
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b83a0
jmp 0x4b7f90
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x4b81c0
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b8467
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 0x4b8487
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x4b7f90
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b8426
jmp 0x4b7f90
cmp edi, edx
jge 0x4b7f94
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4b8524
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b84f1
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 0x4b7f90
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x4b7f90
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x18], ebx
cmp edi, dword [esp + 0x24]
jl 0x4b84b0
jmp 0x4b7f90
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b80f0
cmp ebx, dword [ecx + 0x88]
jbe 0x4b80f0
mov dword [ecx + 0x64], 1
cmp eax, 1
jle 0x4b80f0
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x74
mov ecx, ebx
jne 0x4b85b0
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4b87eb
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x4b87eb
mov eax, dword [ebp + 0x90]
mov edx, dword [esp + 0x170]
cmp eax, edx
cmovg edx, eax
movzx eax, word [esi + 6]
add eax, 2
mov dword [esp + 0x170], edx
lea eax, [esi + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
jne 0x4b8652
nop dword [eax]
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
mov ecx, eax
cmp word [ecx], 0x71
je 0x4b8630
jmp 0x4b8652
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
cmp dword [esp + 0x20], 0x86
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jne 0x4b87ef
mov dword [ebp + 0x9c], 2
mov ecx, ebx
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edx
push dword [esp + 0x17c]
mov edx, esi
call fcn.004b3180
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp ecx, 0x75
je 0x4b8a19
cmp ecx, 0x74
jne 0x4b870a
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push edx
push dword [esp + 0x17c]
lea edx, [esi + 4]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x4b89d7
mov ecx, 0x82
cmp ax, cx
jae 0x4b8997
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x4b87eb
mov eax, 0x82
cmp word [ebp], ax
jb 0x4b8723
mov dword [edi + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push edx
push dword [esp + 0x17c]
mov edx, ebp
call fcn.004b3180
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x4b875b
cmp dword [edi + 0xb8], ebp
jmp 0x4b875d
test eax, eax
jne 0x4b8804
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4b8a15
mov ebp, dword [esp + 0x174]
jmp 0x4b87ef
movzx edx, word [esi + 4]
mov esi, dword [esp + 0x174]
mov dword [esp + 0x2c], edx
lea ebp, [edx + edx]
cmp ebp, dword [esi + 0x14]
jl 0x4ba5c0
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
nop dword [eax + eax]
cmp edx, 0x82
jae 0x4b880f
cmp edx, 0x7b
je 0x4b880f
cmp dword [ebp + 0x6c], 0
jne 0x4b8819
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x4b8819
movzx eax, word [esi]
movzx eax, byte [eax + 0x4d3d48]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x4b3221
inc eax
mov dword [ebp], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [ebp + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
mov esi, dword [ebp + 0xb0]
push eax
push dword [esp + 0x17c]
movzx eax, word [edi]
push ebp
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4d3d48]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.004b3180
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
jne 0x4b8893
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebp + 0x80], eax
jae 0x4ba782
cmp word [edi], 0x71
je 0x4b889b
cmp word [eax], 0x71
jne 0x4ba782
jmp 0x4b889b
test edx, edx
jne 0x4ba737
movzx eax, word [edi + 2]
mov dword [ebp + 0xb0], esi
lea edi, [edi + eax*2]
mov esi, edi
mov dword [esp + 0x14], edi
cmp word [esi], 0x71
jne case.default.0x4b4b09
mov edx, dword [esp + 0x20]
jmp 0x4b87b0
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi + 2]
add ecx, eax
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b8911
cmp eax, 0xfffffc1d
je 0x4b8911
cmp eax, 0xfffffc20
jne 0x4b8804
lea eax, [esi + 4]
mov dword [ebp + 0x80], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x4b8957
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x16c]
mov dword [edi + 0x84], ebx
mov dword [edi + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [edi + 0x9c], 2
mov edx, ebp
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, ebp
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b8a62
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, esi
jmp 0x4b89d9
mov dword [edi + 0x84], ebx
mov eax, 0xfffffc1b
mov dword [edi + 0x90], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edi
push edx
push dword [esp + 0x17c]
mov edx, esi
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov dword [edi + 0xb8], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov dword [eax + 0x84], ebx
mov dword [eax + 0x90], ecx
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0x80], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x4b4b09
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x4b4b09
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x4b4b09
mov dword [ecx + 0x64], 1
jmp 0x4ba5a1
mov edi, ebx
cmp esi, eax
jge 0x4b8b70
nop
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.004b2fd0
add esp, 0xc
test eax, eax
js 0x4b8b22
mov ecx, dword [esp + 0x2c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x3c]
inc esi
cmp esi, dword [esp + 0x34]
jl 0x4b8af0
jmp 0x4b8b5c
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4b8b5c
cmp ebx, dword [ecx + 0x7c]
jb 0x4b8b5c
cmp ebx, dword [ecx + 0x88]
jbe 0x4b8b5c
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
cmp ebx, edi
jb case.default.0x4b4b09
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x4b8b70
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jb case.default.0x4b4b09
cmp ebx, dword [esi + 0x88]
jbe case.default.0x4b4b09
mov dword [esi + 0x64], 1
jmp 0x4ba5a1
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x4b4b09
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
inc esi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b5466
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp esi, edi
jge 0x4b8cc8
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x30]
mov edi, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, edi
jae 0x4b8d9e
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b8cb1
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 0x4b8d65
cmp dword [esp + 0x20], 0x6a
jne 0x4b8d85
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4b4b09
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b8d2b
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.004b3180
add esp, 0x14
test eax, eax
je 0x4b8d06
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x34]
test byte [edx + ecx], al
je 0x4b8cc8
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, ecx
jl 0x4b8c70
jmp 0x4b8cc8
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4b8ccf
cmp ebx, dword [esi + 0x88]
jbe 0x4b8ccf
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b8ccf
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x4b4b09
jmp 0x4b8acd
mov ebp, ebx
cmp edi, esi
jge 0x4b8e65
nop dword [eax + eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x4b8f02
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b8e49
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov edx, dword [esp + 0x44]
push 1
call fcn.004bc670
add esp, 4
test eax, eax
je 0x4b8e65
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x34]
jl 0x4b8e00
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4b4b09
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b8ec8
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.004b3180
add esp, 0x14
test eax, eax
je 0x4b8ea3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4b8e6c
cmp ebx, dword [esi + 0x88]
jbe 0x4b8e6c
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x4ba5b0
jmp 0x4b8e6c
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x4b4b09
cmp ebx, ecx
jb case.default.0x4b4b09
jmp 0x4ba58e
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
cmp esi, edi
jge case.default.0x4b4b09
mov ecx, dword [esp + 0x3c]
mov ebp, dword [ebp + 0x7c]
mov eax, ebp
lea edi, [ecx + ecx]
sub eax, edi
cmp ebx, eax
ja 0x4b9027
mov edx, dword [esp + 0x1c]
lea esi, [ecx + ecx]
mov ecx, ebx
sub esi, 4
jb 0x4b8fd5
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b8fde
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4b8fc0
cmp esi, 0xfffffffc
je 0x4b90b7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b9027
cmp esi, 0xfffffffd
je 0x4b90b7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b9027
cmp esi, 0xfffffffe
je 0x4b90b7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b9027
cmp esi, 0xffffffff
je 0x4b90b7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4b90b7
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jle 0x4b910d
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x4b910d
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4b9069
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4b9072
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4b9054
cmp esi, 0xfffffffc
je 0x4b90b7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4b910d
cmp esi, 0xfffffffd
je 0x4b90b7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4b910d
cmp esi, 0xfffffffe
je 0x4b90b7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4b910d
cmp esi, 0xffffffff
je 0x4b90b7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4b910d
mov eax, dword [esp + 0x17c]
add ebx, edi
mov ebp, dword [esp + 0x174]
inc eax
mov esi, dword [esp + 0x24]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc esi
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x2c], esi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
mov edi, dword [esp + 0x34]
add esp, 0x14
test eax, eax
je 0x4b8f88
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.0x4b4b09
cmp ebx, ebp
jmp 0x4b8ac7
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.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
cmp ebp, dword [esp + 0x20]
jge case.default.0x4b4b09
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x4b8ddb
movzx eax, word [ebx]
cmp esi, eax
je 0x4b918d
cmp edi, eax
jne case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
add ebx, 2
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9164
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x4b4b09
cmp ebx, dword [edi + 0x88]
jbe case.default.0x4b4b09
mov dword [edi + 0x64], 1
jmp 0x4ba5a1
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop dword [eax + eax]
cmp ebp, dword [esp + 0x20]
jge case.default.0x4b4b09
cmp ebx, dword [edi + 0x7c]
jae 0x4b91cd
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9230
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
mov edi, dword [esp + 0x170]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4b4b09
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b92e9
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.004b3180
add esp, 0x14
test eax, eax
je 0x4b92c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop
cmp edi, esi
jge case.default.0x4b4b09
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4b93ff
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b93ac
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp dword [esp + 0x2c], ecx
je case.default.0x4b4b09
cmp ebp, ecx
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
inc edi
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9360
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x4b4b09
cmp ebx, dword [edx + 0x88]
jbe case.default.0x4b4b09
mov dword [edx + 0x64], 1
jmp 0x4ba5a1
mov eax, dword [esp + 0x17c]
mov edx, esi
mov edi, dword [esp + 0x170]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4b4b09
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b9485
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.004b3180
add esp, 0x14
test eax, eax
je 0x4b9460
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ecx
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
cmp edi, esi
jge case.default.0x4b4b09
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x4b93ff
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b9544
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ebp, ecx
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
inc edi
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b94f8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x4b4b09
jmp 0x4b8bda
mov eax, dword [esp + 0x17c]
mov edx, esi
mov edi, dword [esp + 0x170]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4b4b09
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4b95f9
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.004b3180
add esp, 0x14
test eax, eax
je 0x4b95d4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
mov ebp, dword [esp + 0x3c]
add esp, 0x14
test eax, eax
je 0x4b7a55
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x4ba014
cmp eax, 8
ja case.default.0x4b4e71
jmp dword [eax*4 + 0x4bb0f4]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
mov ecx, ebx
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b96fd
lea ebx, [ecx + 4]
cmp dword [esp + 0x38], 0
jne case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b96d3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b97c8
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
mov al, byte [eax*8 + 0x4d0a69]
cmp al, 9
je 0x4b980a
cmp al, 5
je 0x4b980a
cmp al, 8
je 0x4b980a
xor eax, eax
jmp 0x4b980f
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9781
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b98dd
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov edx, dword [esp + 0x40]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], edx
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9896
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b99e7
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b99a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b9ae7
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a68]
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9aa0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop dword [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b9be7
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b9c2b
cmp eax, 3
je 0x4b9c2b
xor eax, eax
jmp 0x4b9c30
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9ba0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop word [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b9d07
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 6
je 0x4b9d66
cmp edx, 9
je 0x4b9d66
cmp edx, 0xa
je 0x4b9d66
cmp edx, 0xc
je 0x4b9d66
cmp edx, 0xd
je 0x4b9d66
xor eax, eax
jmp 0x4b9d6b
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9cc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b9e39
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 6
je 0x4b9ea1
cmp edx, 9
je 0x4b9ea1
cmp edx, 0xa
je 0x4b9ea1
cmp edx, 0xb
je 0x4b9ea1
cmp edx, 0xc
je 0x4b9ea1
cmp edx, 0xd
je 0x4b9ea1
xor eax, eax
jmp 0x4b9ea6
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9df2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov esi, dword [esp + 0x174]
inc eax
mov ebp, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
jne 0x4b8804
nop dword [eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
cmp ebx, dword [esi + 0x7c]
jae 0x4b958d
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4b9f77
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4d1b48]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
mov eax, dword [eax*4 + 0x4d4128]
cmp eax, 1
je 0x4b9fc6
cmp eax, 3
je 0x4b9fc6
cmp edx, 0x5f
je 0x4b9fc6
xor eax, eax
jmp 0x4b9fcb
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
inc edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4b9f30
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.004b3180
add esp, 0x14
cmp esi, 0x16
jne 0x4ba1a2
test eax, eax
jne 0x4b8804
nop dword [eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
mov edi, dword [ebp + 0x7c]
cmp ebx, edi
jae 0x4ba580
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ba0a9
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 2
je case.default.0x4b4b09
cmp ebx, edi
jae 0x4ba159
mov esi, ebx
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ba11e
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 + 0x4d1b48]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c5168]
movzx eax, byte [eax*8 + 0x4d0a69]
cmp dword [eax*4 + 0x4d4128], 2
jne 0x4ba159
lea ebx, [esi + edx*2]
mov esi, ebx
cmp ebx, edi
jb 0x4ba0e5
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x20]
inc eax
mov edx, dword [esp + 0x14]
inc edi
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x28], edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4ba060
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x4b8804
nop word [eax + eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4b4b09
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x4ba580
cmp esi, 0xc
jne 0x4ba22a
mov edx, dword [ebp + 0x18]
lea eax, [ebp + 0x1c]
test edx, edx
je 0x4ba1f7
push 1
push eax
push ecx
mov ecx, ebx
call fcn.004bc4c0
add esp, 0xc
test eax, eax
jne case.default.0x4b4b09
jmp 0x4ba22a
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4ba22a
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne 0x4ba22a
cmp edx, 1
je case.default.0x4b4b09
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4b4b09
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ba25e
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
lea eax, [esi - 6]
cmp eax, 0xf
ja case.default.0x4b4e71
jmp dword [eax*4 + 0x4bb118]
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x85
ja 0x4ba2ba
je case.0x4ba296.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4b4b09
jmp dword [ecx*4 + 0x4bb158]
mov ebx, edx
cmp edx, dword [ebp + 0x7c]
jae 0x4ba52f
cmp word [edx], 0xa
jne 0x4ba52f
lea ebx, [edx + 2]
jmp 0x4ba52f
sub ecx, 0x2028
je case.0x4ba296.11
sub ecx, 1
jne case.default.0x4b4b09
cmp dword [ebp + 0x68], 0
mov ebx, edx
jne case.default.0x4b4b09
jmp 0x4ba52f
cmp ecx, 0x2000
ja 0x4ba338
je case.default.0x4b4b09
cmp ecx, 0xa0
ja 0x4ba319
je case.default.0x4b4b09
cmp ecx, 9
je case.default.0x4b4b09
cmp ecx, 0x20
je case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x1680
je case.default.0x4b4b09
cmp ecx, 0x180e
je case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x3000
ja case.0x4ba26a.12
je case.default.0x4b4b09
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4ba26a.12
movzx eax, byte [ecx + 0x4bb170]
jmp dword [eax*4 + 0x4bb168]
cmp ecx, 0x2000
ja 0x4ba3c3
je case.0x4ba26a.12
cmp ecx, 0xa0
ja 0x4ba3a4
je case.0x4ba26a.12
cmp ecx, 9
je case.0x4ba26a.12
cmp ecx, 0x20
jne case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x1680
je case.0x4ba26a.12
cmp ecx, 0x180e
jne case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x3000
ja case.default.0x4b4b09
je case.0x4ba26a.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4b4b09
movzx eax, byte [ecx + 0x4bb1d8]
jmp dword [eax*4 + 0x4bb1d0]
cmp ecx, 0x85
ja 0x4ba417
je case.default.0x4b4b09
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4ba26a.12
jmp dword [ecx*4 + 0x4bb238]
sub ecx, 0x2028
je case.default.0x4b4b09
sub ecx, 1
je case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x85
ja 0x4ba458
je case.0x4ba26a.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4b4b09
jmp dword [ecx*4 + 0x4bb248]
sub ecx, 0x2028
je case.0x4ba26a.12
sub ecx, 1
jne case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x100
jae case.0x4ba26a.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x100
jae case.default.0x4b4b09
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x100
jae case.0x4ba26a.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x100
jae case.default.0x4b4b09
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x100
jae case.0x4ba26a.12
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4b4b09
mov ebx, edx
jmp 0x4ba52f
cmp ecx, 0x100
jae case.default.0x4b4b09
mov eax, dword [ebp + 0x3c]
mov ebx, edx
test byte [ecx + eax], 0x10
je case.default.0x4b4b09
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4ba1b0
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.0x4b4b09
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x4b4b09
mov dword [ebp + 0x64], 1
cmp eax, 1
jle case.default.0x4b4b09
nop word [eax + eax]
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + ebp*4]
mov dword [esp + 0x50], eax
mov eax, dword [ecx + ebp*4 + 4]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x10]
sub eax, edx
mov edx, esi
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x4c], eax
mov eax, ebx
sub eax, dword [edx + 0x78]
mov esi, dword [edx + 0x94]
mov edi, dword [edx + 0xb0]
sar eax, 1
mov dword [ecx], eax
nop word [eax + eax]
cmp dword [esp + 0x20], 0x82
jb 0x4ba618
mov dword [edx + 0x9c], 2
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [ecx]
push dword [esp + 0x17c]
push edx
movzx eax, byte [eax + 0x4d3d48]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.004b3180
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1c
je 0x4ba6f6
cmp edx, 0xfffffc20
jne 0x4ba6ac
mov eax, dword [esp + 0x14]
movzx ecx, word [eax + 2]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x80], eax
jae 0x4ba72a
mov ecx, dword [esp + 0x14]
cmp word [ecx], 0x71
mov ecx, dword [esp + 0x174]
je 0x4ba6a5
cmp word [eax], 0x71
jne 0x4ba72a
xor edx, edx
jmp 0x4ba6bb
test edx, edx
jne 0x4ba72a
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x94], esi
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xb0], edi
cmp word [eax], 0x71
jne 0x4ba6fd
mov edx, ecx
jmp 0x4ba600
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0xc]
mov ebx, dword [esp + 0x174]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov dword [eax + ebp*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x44]
mov dword [eax + ebp*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 0xc]
mov dword [eax + ecx*4], esi
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp edx, 0xfffffc1c
jne 0x4ba782
movzx eax, word [edi]
cmp eax, 0x7b
je 0x4ba777
cmp eax, 0x71
jne 0x4ba76e
nop dword [eax + eax]
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4ba760
movzx eax, word [edi + 2]
neg eax
lea edi, [edi + eax*2]
xor eax, eax
cmp dword [ebp + 0xb8], edi
cmove edx, eax
mov eax, edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea edi, [esi + 4]
mov dword [ebp + 0xb4], edi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [esi]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4d3d48]
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.004b3180
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x4ba7f1
cmp esi, 0xfffffc19
jne 0x4ba811
cmp dword [ebp + 0xb0], 0
jne 0x4ba811
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x4b8957
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.004bc430
test eax, eax
jne 0x4b8957
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 + 0x4d3d48]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4ba8a9
cmp eax, 0xfffffc1d
je 0x4ba8a9
cmp eax, 0xfffffc1e
je 0x4ba8a9
cmp eax, 0xfffffc1f
je 0x4ba8a9
cmp eax, 0xfffffc20
jne 0x4b8804
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 + 0x4d3d48]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4ba98b
cmp eax, 0xfffffc20
je 0x4ba98b
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 + 0x4d3d48]
movzx eax, word [edx + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004b3180
add esp, 0x14
cmp eax, 1
je 0x4ba96d
cmp eax, 0xfffffc19
jne 0x4ba97c
cmp dword [ebp + 0xb0], 0
jne 0x4ba97c
mov dword [ebp + 0xb0], esi
test eax, eax
je 0x4ba98b
cmp eax, 0xfffffc20
jne 0x4b8804
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4d3d48]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4ba9e8
cmp eax, 0xfffffc1d
je 0x4ba9e8
cmp eax, 0xfffffc20
jne 0x4b8804
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 + 0x4d3d48]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.004b3180
add esp, 0x14
test eax, eax
je 0x4baac2
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 + 0x4d3d48]
movzx eax, word [edx + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.004b3180
add esp, 0x14
cmp eax, 1
je 0x4baaa7
cmp eax, 0xfffffc19
jne 0x4baab6
cmp dword [ebp + 0xb0], 0
jne 0x4baab6
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x4b8804
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 0x4bab28
cmp edx, 0x99
je 0x4bab28
cmp dword [ebp + 0xa8], 0
jne 0x4bab28
cmp dword [ebp + 0x5c], 0
jne case.default.0x4b4b09
cmp dword [ebp + 0x60], 0
je 0x4bab28
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x4b4b09
mov eax, dword [esp + 0x170]
test di, di
mov dword [ebp + 0x84], ebx
mov ecx, 1
mov dword [ebp + 0x90], eax
mov eax, 0xfffffc19
mov dword [ebp + 0x80], esi
cmove eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x158
ret