Function at 0x47dde0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x14c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x170]
mov ecx, dword [esi]
xor eax, eax
push edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
cmp ecx, dword [esi + 4]
jae 0x483ade
mov edi, dword [esp + 0x17c]
mov ebp, dword [esp + 0x160]
inc ecx
mov dword [esi], ecx
cmp edi, dword [esi + 8]
jae 0x483af0
cmp dword [esi + 0x8c], 2
jne 0x47de50
mov ecx, dword [esp + 0x178]
lea edx, [esp + 0x58]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ecx
mov dword [esp + 0x178], edx
mov dword [esi + 0x8c], eax
lea esp, [esp]
mov edi, dword [esp + 0x164]
mov al, byte [edi]
movzx ebx, al
xor edx, edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x28], ebx
cmp ebx, 0x9a
ja case.0x47de7d.98
movzx ecx, byte [ebx + 0x4866e0]
jmp dword [ecx*4 + 0x48659c]
mov dword [esp + 0x18], edx
jmp 0x47eb8b
movzx esi, byte [edi + 1]
movzx eax, byte [edi + 2]
shl esi, 8
or esi, eax
cmp byte [edi + 3], 0x70
jne 0x47dfab
mov ecx, dword [0x4c3fb8]
cmp ecx, edx
je 0x47dfa1
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x174]
mov dword [esp + 0xa8], 2
movzx edx, byte [eax + 4]
mov dword [esp + 0xac], edx
mov edx, dword [ebx + 0xc]
mov dword [esp + 0xb0], edx
mov edx, dword [ebx + 0x68]
mov dword [esp + 0xb4], edx
mov edx, dword [ebx + 0x6c]
sub edx, dword [ebx + 0x68]
sar edx, 1
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x168]
sub edx, dword [ebx + 0x68]
sar edx, 1
mov dword [esp + 0xbc], edx
mov edx, ebp
sub edx, dword [ebx + 0x68]
sar edx, 1
mov dword [esp + 0xc0], edx
movzx edx, byte [eax + 5]
movzx edi, byte [eax + 6]
shl edx, 8
or edx, edi
mov edi, dword [esp + 0x16c]
mov dword [esp + 0xd0], edx
movzx edx, byte [eax + 7]
movzx eax, byte [eax + 8]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0xd4], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xc4], eax
mov edx, dword [ebx + 0x84]
mov dword [esp + 0xc8], edx
mov eax, dword [ebx + 0x9c]
lea edx, [esp + 0xa8]
push edx
mov dword [esp + 0xd0], eax
mov dword [esp + 0xdc], edi
call ecx
add esp, 4
test eax, eax
jg 0x4846dc
js 0x486591
mov edi, dword [esp + 0x164]
xor edx, edx
add edi, 0xa
mov dword [esp + 0x164], edi
movzx ecx, byte [edi + 3]
mov ebx, dword [esp + 0x174]
lea eax, [edi + 3]
cmp ecx, 0x88
je 0x47e23e
cmp ecx, 0x89
je 0x47e23e
cmp ecx, 0x86
je 0x47e061
cmp ecx, 0x87
je 0x47e061
cmp ecx, 0x8a
jne 0x47e001
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
jmp 0x47e42a
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x170]
inc edx
push edx
mov edx, dword [esp + 0x170]
push 0
push ebx
push ecx
mov ecx, dword [esp + 0x178]
push edx
push ecx
push eax
push ebp
mov dword [ebx + 0x8c], 1
call fcn.0047dde0
add esp, 0x20
cmp eax, 1
je 0x483a1a
test eax, eax
je 0x47e05a
cmp eax, 0xfffffc20
jne 0x486591
cmp dword [ebx + 0x70], edi
jne 0x486591
add edi, esi
jmp 0x47e42a
movzx eax, byte [edi + 4]
movzx esi, byte [edi + 5]
shl eax, 8
or eax, esi
add eax, eax
cmp eax, dword [esp + 0x170]
jge 0x47e085
mov esi, dword [ebx + 0xc]
cmp dword [esi + eax*4], edx
jge 0x47e22a
mov dword [esp + 0x24], edx
cmp ecx, 0x87
jne 0x47e1f9
mov edx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
xor ecx, ecx
sar eax, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
test edx, edx
jle 0x47e0d9
jmp 0x47e0b0
movzx edx, word [esi]
movzx edi, word [esi + 2]
shl edx, 8
or edx, edi
cmp edx, eax
je 0x47e0d1
mov edx, dword [ebx + 0x24]
lea esi, [esi + edx*2]
mov edx, dword [esp + 0x14]
inc ecx
cmp ecx, edx
jl 0x47e0b0
jmp 0x47e0d5
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
cmp ecx, edx
jge 0x47e1f9
mov eax, dword [ebx + 0x28]
mov edi, esi
mov dword [esp + 0x30], eax
cmp esi, eax
jbe 0x47e163
mov ebx, dword [ebx + 0x24]
add ebx, ebx
sub edi, ebx
lea ecx, [edi + 4]
lea eax, [esi + 4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47e121
test dx, dx
je 0x47e11d
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47e121
add eax, 4
add ecx, 4
test dx, dx
jne 0x47e0fb
xor eax, eax
jmp 0x47e126
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47e163
movzx eax, word [edi]
movzx ecx, word [edi + 2]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x170]
jge 0x47e155
mov edx, dword [esp + 0x174]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x47e21f
mov dword [esp + 0x24], 0
cmp edi, dword [esp + 0x30]
ja 0x47e0f3
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x14]
jge 0x47e1f9
mov edx, dword [esp + 0x174]
mov edi, dword [edx + 0x24]
add edi, edi
lea ebx, [esi + 4]
add esi, edi
lea ecx, [esi + 4]
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47e1b2
test dx, dx
je 0x47e1ae
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47e1b2
add eax, 4
add ecx, 4
test dx, dx
jne 0x47e18c
xor eax, eax
jmp 0x47e1b7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47e1f9
movzx ecx, word [esi]
movzx eax, word [esi + 2]
shl ecx, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x170]
jge 0x47e1e2
mov edx, dword [esp + 0x174]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x47e21f
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x14]
jl 0x47e185
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
mov ebx, dword [esp + 0x174]
shl eax, 8
or eax, edx
mov edi, ecx
xor edx, edx
add edi, eax
jmp 0x47e420
mov edi, dword [esp + 0x164]
mov ebx, edx
xor edx, edx
mov eax, 3
mov dword [esp + 0x24], 1
add edi, eax
jmp 0x47e420
cmp dword [ebx + 0x98], edx
jne 0x47e25a
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
jmp 0x47e42a
movzx eax, byte [edi + 4]
movzx edx, byte [edi + 5]
shl eax, 8
or eax, edx
cmp eax, 0xffff
je 0x47e2d1
mov edx, dword [ebx + 0x98]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x30], edx
cmp eax, edx
je 0x47e2d1
mov dword [esp + 0x24], 0
cmp ecx, 0x89
jne 0x47e3f5
mov edx, dword [ebx + 0x20]
mov edi, dword [ebx + 0x28]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
test edx, edx
jle 0x47e2eb
jmp 0x47e2b0
movzx edx, word [edi]
movzx esi, word [edi + 2]
shl edx, 8
or edx, esi
cmp edx, eax
je 0x47e2e3
mov edx, dword [ebx + 0x24]
lea edi, [edi + edx*2]
mov edx, dword [esp + 0x14]
inc ecx
cmp ecx, edx
jl 0x47e2b0
jmp 0x47e2e7
mov dword [esp + 0x24], 1
mov eax, 3
jmp 0x47e409
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
cmp ecx, edx
jge 0x47e3f5
mov ebx, dword [ebx + 0x28]
mov esi, edi
mov dword [esp + 0x34], ebx
cmp edi, ebx
jbe 0x47e36c
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x24]
add ebx, ebx
lea esp, [esp]
sub esi, ebx
lea ecx, [esi + 4]
lea eax, [edi + 4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47e33e
test dx, dx
je 0x47e33a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47e33e
add eax, 4
add ecx, 4
test dx, dx
jne 0x47e318
xor eax, eax
jmp 0x47e343
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47e36c
movzx ecx, word [esi]
movzx edx, word [esi + 2]
shl ecx, 8
or ecx, edx
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x24], eax
test eax, eax
jne 0x47e2d9
cmp esi, dword [esp + 0x34]
ja 0x47e310
mov eax, dword [esp + 0x18]
inc eax
mov esi, edi
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x14]
jge 0x47e3f5
mov eax, dword [esp + 0x174]
mov ebx, dword [eax + 0x24]
add ebx, ebx
lea esp, [esp]
add esi, ebx
lea ecx, [esi + 4]
lea eax, [edi + 4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47e3be
test dx, dx
je 0x47e3ba
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47e3be
add eax, 4
add ecx, 4
test dx, dx
jne 0x47e398
xor eax, eax
jmp 0x47e3c3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47e3f5
movzx ecx, word [esi]
movzx edx, word [esi + 2]
shl ecx, 8
or ecx, edx
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x24], eax
test eax, eax
jne 0x47e2d9
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x14]
jl 0x47e390
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl eax, 8
or eax, ecx
add dword [esp + 0x164], eax
mov ebx, dword [esp + 0x174]
mov edi, dword [esp + 0x164]
xor edx, edx
cmp dword [esp + 0x24], edx
jne 0x483a72
cmp byte [edi], 0x71
je 0x483a72
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
movzx eax, byte [edi + 1]
movzx edx, byte [edi + 2]
mov ecx, dword [esp + 0x174]
shl eax, 8
or eax, edx
lea edx, [eax + eax]
mov dword [ecx + 0x84], eax
cmp edx, dword [ecx + 0x14]
jl 0x47e47a
add edi, 3
mov dword [ecx + 0x38], 1
mov dword [esp + 0x164], edi
jmp 0x47de50
mov ebx, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
sub ebx, eax
mov eax, dword [esi + ebx*4]
mov dword [esi + edx*4], eax
mov eax, ebp
sub eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0xc]
sar eax, 1
mov dword [ecx + edx*4 + 4], eax
cmp dword [esp + 0x170], edx
jg 0x47e4a9
add edx, 2
mov dword [esp + 0x170], edx
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
mov esi, dword [esp + 0x174]
mov eax, 1
cmp dword [esi + 0x8c], eax
jne 0x47e4d8
mov dword [esp + 0x24], eax
mov dword [esi + 0x8c], edx
jmp 0x47e4dc
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x17c]
mov edi, dword [esp + 0x16c]
inc ebx
jmp 0x47e4f0
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
push ebx
push 0
push esi
push edx
push edi
push eax
add ecx, 3
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
cmp eax, 1
je 0x47e56a
cmp eax, 0xfffffc19
je 0x47e56a
test eax, eax
je 0x47e546
cmp eax, 0xfffffc20
jne 0x486591
mov ecx, dword [esp + 0x164]
cmp dword [esi + 0x70], ecx
jne 0x486591
jmp 0x47e54d
mov ecx, dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x71
mov dword [esp + 0x164], ecx
je 0x47e4f0
jmp 0x47e588
mov ecx, dword [esi + 0x70]
mov edi, dword [esi + 0xa0]
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x16c], edi
cmp byte [ecx], 0x72
je 0x484264
cmp dword [esp + 0x24], 0
jne 0x484480
lea esp, [esp]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x71
je 0x47e5a0
add ecx, 3
mov dword [esp + 0x164], ecx
mov ecx, dword [esi + 0x80]
mov dword [esp + 0x170], ecx
jmp 0x47de50
mov esi, dword [esp + 0x174]
mov eax, 1
cmp dword [esi + 0x8c], eax
jne 0x47e5f0
mov dword [esp + 0x24], eax
mov dword [esi + 0x8c], edx
jmp 0x47e5f4
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x16c]
inc edi
jmp 0x47e610
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
push edi
push 0
push esi
push edx
push ebx
push eax
add ecx, 3
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
cmp eax, 1
je 0x484277
cmp eax, 0xfffffc19
je 0x484277
cmp eax, 0xfffffc1e
je 0x47e6ab
cmp eax, 0xfffffc1d
je 0x47e6ab
cmp eax, 0xfffffc1a
je 0x47e6ab
test eax, eax
je 0x47e683
cmp eax, 0xfffffc20
jne 0x486591
mov ecx, dword [esp + 0x164]
cmp dword [esi + 0x70], ecx
jne 0x486591
jmp 0x47e68a
mov ecx, dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x71
mov dword [esp + 0x164], ecx
je 0x47e610
jmp 0x47e6c6
mov ecx, dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
add ecx, edx
cmp byte [ecx], 0x71
je 0x47e6b2
cmp dword [esp + 0x24], 0
jne 0x484480
add ecx, 3
mov dword [esp + 0x164], ecx
jmp 0x47de50
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
mov esi, dword [esp + 0x174]
shl ecx, 8
or ecx, edx
jle 0x47e757
mov edx, dword [esi + 0x68]
lea esp, [esp]
sub ebp, 2
dec ecx
cmp ebp, edx
jb 0x47f84b
movzx eax, word [ebp]
mov ebx, 0xdc00
cmp ax, bx
jb 0x47e753
lea ebx, [ebx]
mov ebx, 0xdfff
cmp ax, bx
ja 0x47e753
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x47e753
mov ebx, 0xdbff
cmp ax, bx
ja 0x47e753
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ebx, 0xdc00
cmp ax, bx
jae 0x47e720
test ecx, ecx
jg 0x47e700
cmp ebp, dword [esi + 0x78]
jae 0x47e75f
mov dword [esi + 0x78], ebp
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
mov ecx, dword [0x4c3fb8]
mov ebx, dword [esp + 0x164]
cmp ecx, edx
je 0x47e851
mov esi, dword [esp + 0x174]
mov dword [esp + 0x60], 2
movzx eax, byte [ebx + 1]
mov dword [esp + 0x64], eax
mov edx, dword [esi + 0xc]
mov dword [esp + 0x68], edx
mov eax, dword [esi + 0x68]
mov dword [esp + 0x6c], eax
mov edx, dword [esi + 0x6c]
sub edx, dword [esi + 0x68]
mov eax, dword [esp + 0x168]
sar edx, 1
mov dword [esp + 0x70], edx
sub eax, dword [esi + 0x68]
mov edx, ebp
sar eax, 1
mov dword [esp + 0x74], eax
sub edx, dword [esi + 0x68]
mov edi, dword [esp + 0x16c]
sar edx, 1
mov dword [esp + 0x78], edx
movzx eax, byte [ebx + 6]
movzx edx, byte [ebx + 7]
shl eax, 8
or eax, edx
mov dword [esp + 0x88], eax
movzx eax, byte [ebx + 8]
movzx edx, byte [ebx + 9]
shl eax, 8
or eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [esi + 0x84]
mov dword [esp + 0x80], eax
mov edx, dword [esi + 0x9c]
mov dword [esp + 0x84], edx
mov dword [esp + 0x90], edi
mov eax, dword [ebx + 2]
lea edx, [esp + 0x60]
push edx
mov dword [esp + 0x98], eax
call ecx
add esp, 4
test eax, eax
jg 0x484264
js 0x486591
add ebx, 0xa
mov dword [esp + 0x164], ebx
jmp 0x47de50
mov edx, dword [esp + 0x164]
movzx esi, byte [edx + 1]
movzx eax, byte [edx + 2]
mov edi, dword [esp + 0x174]
shl esi, 8
or esi, eax
add esi, dword [edi + 0x64]
cmp esi, dword [edi + 0x64]
jne 0x47e887
xor ecx, ecx
jmp 0x47e894
movzx ecx, byte [esi + 3]
movzx eax, byte [esi + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [edi + 0x98]
test eax, eax
je 0x47e8b4
mov edi, edi
cmp ecx, dword [eax + 0xc]
jne 0x47e8ae
cmp ebp, dword [eax + 0x10]
je 0x48428a
mov eax, dword [eax]
test eax, eax
jne 0x47e8a0
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ebp
mov ecx, dword [edi + 0x98]
mov dword [esp + 0x44], ecx
lea eax, [esp + 0x44]
mov dword [edi + 0x98], eax
mov ecx, dword [edi + 0x10]
add edx, 3
mov dword [esp + 0x164], edx
mov dword [esp + 0x4c], ecx
cmp ecx, 0x1e
jg 0x47e8f3
lea eax, [esp + 0xe0]
mov dword [esp + 0x48], eax
jmp 0x47e911
add ecx, ecx
add ecx, ecx
push ecx
call dword [0x4be358]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x48429a
mov ecx, dword [esp + 0x4c]
lea edx, [ecx*4]
mov ecx, dword [edi + 0xc]
push edx
push ecx
push eax
call fcn.004903a0
mov edx, dword [esp + 0x188]
add esp, 0xc
cmp byte [esi], 0x81
sbb eax, eax
inc eax
inc edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
lea esp, [esp]
test eax, eax
je 0x47e94e
mov dword [edi + 0x8c], 2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edi
push edx
movzx edx, byte [esi]
push eax
movzx eax, byte [edx + 0x4b4588]
push ecx
add eax, esi
push eax
push ebp
call fcn.0047dde0
mov ecx, dword [esp + 0x6c]
lea edx, [ecx*4]
mov ecx, dword [edi + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x68]
push edx
push eax
push ecx
call fcn.004903a0
add esp, 0x2c
cmp ebx, 1
je 0x47e9fe
cmp ebx, 0xfffffc19
je 0x47e9fe
test ebx, ebx
je 0x47e9d3
cmp ebx, 0xfffffc20
jne 0x4842aa
mov edx, dword [esp + 0x164]
cmp dword [edi + 0x70], edx
jne 0x4842aa
lea eax, [esp + 0x44]
mov dword [edi + 0x98], eax
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
add esi, ecx
cmp byte [esi], 0x71
jne 0x4842d0
mov eax, dword [esp + 0x24]
jmp 0x47e940
mov eax, dword [esp + 0x44]
mov dword [edi + 0x98], eax
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xe0]
cmp eax, ecx
je 0x47ea21
push eax
call dword [0x4be35c]
add esp, 4
mov edx, dword [edi + 0x70]
mov ebp, dword [edi + 0x74]
mov dword [esp + 0x168], edx
jmp 0x47de50
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
add edi, eax
cmp byte [edi], 0x71
je case.0x47de7d.113
mov dword [esp + 0x164], edi
jmp 0x47de50
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
inc edx
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
lea esi, [edi + 1]
push esi
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
lea esp, [esp]
movzx edx, byte [esi + 1]
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
add esi, edx
cmp byte [esi], 0x71
je 0x47eaa0
add esi, 3
mov dword [esp + 0x164], esi
jmp 0x47de50
lea esi, [edi + 1]
mov eax, esi
jmp 0x47ead0
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x71
je 0x47ead0
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
inc ecx
push ecx
mov ecx, dword [esp + 0x178]
push edx
mov edx, dword [esp + 0x178]
push ecx
mov ecx, dword [esp + 0x178]
push edx
mov edx, dword [esp + 0x178]
push ecx
push edx
add eax, 3
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov dword [esp + 0x164], esi
jmp 0x47de50
lea eax, [edi + 1]
lea esp, [esp]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x71
je 0x47eb40
add eax, 3
mov dword [esp + 0x164], eax
jmp 0x47de50
movzx eax, byte [edi + 1]
inc edi
mov dword [esp + 0x164], edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], 1
cmp eax, 0x7f
je 0x47eb8b
cmp eax, 0x84
jne 0x47ed55
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
mov esi, dword [esp + 0x174]
shl ecx, 8
or ecx, eax
lea edx, [ecx + ecx]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x3c], edx
cmp edx, dword [esi + 0x14]
jge 0x47ed4d
mov eax, dword [esi + 0xc]
mov edi, dword [eax + edx*4]
mov edx, dword [eax + edx*4 + 4]
mov ebx, dword [esp + 0x164]
sub ebx, dword [esi + 0x64]
mov dword [esp + 0x34], edx
mov edx, dword [esi + 0x10]
sub edx, ecx
mov eax, dword [eax + edx*4]
mov edx, dword [esp + 0x17c]
mov ecx, dword [esi + 0x84]
inc edx
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x164]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [esp + 0x24]
mov edx, dword [esi + 0xc]
mov eax, ebp
sub eax, dword [esi + 0x68]
sar eax, 1
cmp dword [esp + 0x28], 0x81
mov dword [edx + ecx*4], eax
jl 0x47ec28
mov dword [esi + 0x8c], 2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push esi
push edx
movzx edx, byte [edi]
push eax
movzx eax, byte [edx + 0x4b4588]
push ecx
add eax, edi
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
cmp eax, 0xfffffc1b
jne 0x47ec97
mov ecx, dword [esi + 0x80]
mov edi, dword [esi + 0x64]
mov edx, dword [esi + 0x84]
mov ebp, dword [esi + 0x74]
mov dword [esp + 0x170], ecx
add edi, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 1
jmp 0x47ec00
test eax, eax
je 0x47ecaf
cmp eax, 0xfffffc20
jne 0x486591
cmp dword [esi + 0x70], edi
jne 0x486591
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x84], ecx
movzx edx, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl edx, 8
or edx, ecx
add edi, edx
cmp byte [edi], 0x71
je 0x47ec00
cmp dword [esp + 0x14], 0
jne 0x47ed02
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
mov dword [edx + ecx*4], ebx
mov edx, dword [esi + 0xc]
mov ebx, dword [esp + 0x34]
mov dword [edx + ecx*4 + 4], ebx
mov ecx, dword [esi + 0x10]
sub ecx, dword [esp + 0x24]
mov edx, dword [esi + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [edx + ecx*4], ebx
cmp eax, 0xfffffc20
je 0x47ed1f
cmp dword [esi + 0xa0], 0
jne 0x47ed1f
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
cmp dword [esp + 0x18], 0
jne 0x47ed31
cmp dword [esp + 0x14], 0
je 0x480177
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
mov esi, dword [esp + 0x174]
mov dword [esp + 0x18], edx
jmp 0x47ed5c
xor edx, edx
mov dword [esp + 0x18], edx
jmp 0x47ed5c
mov esi, dword [esp + 0x174]
sub edi, dword [esi + 0x64]
mov ecx, dword [esp + 0x17c]
mov ebx, dword [esp + 0x170]
inc ecx
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x164]
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
cmp dword [esp + 0x28], 0x81
jl 0x47ed95
mov dword [esi + 0x8c], 2
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x16c]
push edx
mov edx, dword [esp + 0x16c]
push eax
movzx eax, byte [edi]
push esi
push ebx
push ecx
movzx ecx, byte [eax + 0x4b4588]
push edx
add ecx, edi
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
cmp eax, 0xfffffc1b
jne 0x47edf2
mov ebx, dword [esi + 0x80]
mov edi, dword [esi + 0x64]
mov ebp, dword [esi + 0x74]
add edi, dword [esp + 0x3c]
mov dword [esp + 0x170], ebx
mov dword [esp + 0x14], 1
jmp 0x47ed81
test eax, eax
je 0x47ee0a
cmp eax, 0xfffffc20
jne 0x486591
cmp dword [esi + 0x70], edi
jne 0x486591
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
add edi, edx
cmp byte [edi], 0x71
je 0x47ed81
cmp dword [esp + 0x14], 0
jne 0x47ee34
cmp dword [esp + 0x18], 0
je 0x480177
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
mov eax, edi
sub eax, ecx
mov dword [esp + 0x14], eax
mov al, byte [eax]
cmp al, 0x81
jae 0x47ee62
cmp al, 0x7b
jne 0x47ee75
mov ecx, dword [esp + 0x178]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x30], edx
cmp al, 0x77
je 0x484452
cmp al, 0x78
je 0x484452
cmp al, 0x79
je 0x484452
cmp al, 0x7a
je 0x484452
cmp al, 0x7e
je 0x47eead
cmp al, 0x83
je 0x47eead
cmp al, 0x7f
je 0x47eead
cmp al, 0x84
jne 0x47ef4d
mov eax, dword [esp + 0x14]
movzx ebx, byte [eax + 3]
movzx edx, byte [eax + 4]
mov esi, dword [esp + 0x174]
shl ebx, 8
or ebx, edx
cmp dword [esi + 0x98], 0
lea edx, [ebx + ebx]
je 0x47eee0
mov eax, dword [esi + 0x98]
cmp dword [eax + 0xc], ebx
je 0x48430d
mov dword [esi + 0x84], ebx
cmp edx, dword [esi + 0x14]
jl 0x47eef4
mov dword [esi + 0x38], 1
jmp 0x47ef54
mov ecx, dword [esp + 0x170]
cmp edx, ecx
jle 0x47ef21
mov eax, dword [esi + 0xc]
lea edi, [eax + ecx*4]
lea eax, [eax + edx*4]
cmp edi, eax
jae 0x47ef21
mov ecx, eax
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x170]
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub edi, ebx
mov edi, dword [eax + edi*4]
mov dword [eax + edx*4], edi
mov edi, dword [esi + 0xc]
mov eax, ebp
sub eax, dword [esi + 0x68]
sar eax, 1
mov dword [edi + edx*4 + 4], eax
cmp ecx, edx
jg 0x47ef54
add edx, 2
mov dword [esp + 0x170], edx
jmp 0x47ef54
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x164]
cmp byte [eax], 0x72
je 0x47ef6a
cmp ebp, dword [esp + 0x30]
jne 0x483913
mov edi, dword [esp + 0x14]
add eax, 3
cmp byte [edi], 0x7b
je 0x484400
mov dword [esp + 0x164], eax
jmp 0x47de50
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x3c], edx
je 0x47efa4
cmp ebp, dword [eax + 0x68]
je 0x48420c
jmp 0x47efa4
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x68]
jne 0x484490
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov ebx, dword [esp + 0x174]
cmp dword [ebx + 0x3c], edx
je 0x47efcf
cmp ebp, dword [ebx + 0x68]
je 0x4844aa
mov ecx, dword [ebx + 0x68]
cmp ebp, ecx
je 0x47f03f
cmp ebp, dword [ebx + 0x6c]
je 0x47effa
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x47f014
cmp ebp, ecx
jbe 0x47effa
push eax
lea edi, [ebx + 0x1c]
mov esi, ecx
mov eax, ebp
call fcn.00487970
add esp, 4
test eax, eax
jne 0x47f03f
mov ecx, dword [esp + 0x16c]
mov dword [ebx + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x68]
lea ecx, [edx + edx]
add eax, ecx
cmp ebp, eax
jb 0x47effa
mov eax, ebp
sub eax, ecx
movzx ecx, byte [ebx + 0x2c]
cmp word [eax], cx
jne 0x47effa
cmp edx, 1
je 0x47f03f
movzx edx, byte [ebx + 0x2d]
cmp word [eax + 2], dx
jne 0x47effa
inc dword [esp + 0x164]
jmp 0x47de50
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x88]
mov edx, dword [eax + 0x68]
lea ecx, [edx + ecx*2]
cmp ebp, ecx
jne 0x484490
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
inc edi
mov dword [esp + 0x168], ebp
mov dword [esp + 0x164], edi
jmp 0x47de50
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x47f10a
mov eax, dword [esi + 0x18]
cmp eax, edx
je 0x47f0c9
push 1
push eax
mov eax, dword [esi + 0x6c]
lea edi, [esi + 0x1c]
mov ecx, ebp
call fcn.004878a0
add esp, 8
test eax, eax
je 0x48415c
mov edi, dword [esp + 0x164]
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x6c]
lea edx, [eax + eax]
sub ecx, edx
cmp ebp, ecx
ja 0x48415c
movzx edx, byte [esi + 0x2c]
cmp word [ebp], dx
jne 0x48415c
cmp eax, 1
je 0x47f12a
movzx eax, byte [esi + 0x2d]
cmp word [ebp + 2], ax
jne 0x48415c
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
cmp dword [esi + 0x40], edx
jne 0x47f15a
cmp dword [esi + 0x7c], edx
je 0x47f12a
cmp ebp, dword [esi + 0x78]
jbe 0x47f12a
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jg 0x4844e7
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov esi, dword [esp + 0x174]
cmp dword [esi + 0x40], edx
jne 0x48415c
cmp dword [esi + 0x50], edx
je 0x47f17b
jmp 0x47f155
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x47f10f
mov ecx, dword [esp + 0x16c]
mov dword [esi + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x47f1e8
mov eax, dword [esi + 0x18]
lea edi, [esi + 0x1c]
cmp eax, edx
je 0x47f1a4
push 1
push eax
mov eax, dword [esi + 0x6c]
mov ecx, ebp
call fcn.004878a0
add esp, 8
test eax, eax
je 0x48415c
jmp 0x47f1d7
mov eax, dword [edi]
mov edx, dword [esi + 0x6c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x48415c
movzx ecx, byte [esi + 0x2c]
cmp word [ebp], cx
jne 0x48415c
cmp eax, 1
je 0x47f1d7
movzx edx, byte [esi + 0x2d]
cmp word [ebp + 2], dx
jne 0x48415c
mov eax, dword [edi]
mov ecx, dword [esi + 0x6c]
add eax, eax
sub ecx, eax
cmp ebp, ecx
jne 0x48415c
cmp dword [esi + 0x7c], 0
je 0x47f210
cmp ebp, dword [esi + 0x78]
jbe 0x47f210
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jg 0x484bff
add dword [esp + 0x164], eax
jmp 0x47de50
mov eax, 1
add dword [esp + 0x164], eax
jmp 0x47de50
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x68]
je 0x47f30e
movzx ecx, word [ebp - 2]
lea eax, [ebp - 2]
mov ebx, 0xdc00
cmp cx, bx
jb 0x47f275
mov ebx, 0xdfff
cmp cx, bx
ja 0x47f275
movzx ecx, word [eax - 2]
mov ebx, 0xd800
cmp cx, bx
jb 0x47f275
mov ebx, 0xdbff
cmp cx, bx
ja 0x47f275
movzx ecx, word [eax - 2]
add eax, 0xfffffffe
mov ebx, 0xdc00
cmp cx, bx
jae 0x47f242
cmp eax, dword [esi + 0x78]
jae 0x47f27d
mov dword [esi + 0x78], eax
movzx ecx, word [eax]
lea ebx, [ecx - 0xd800]
cmp ebx, 0x3ff
ja 0x47f2ab
movzx eax, word [eax + 2]
lea ebx, [eax - 0xdc00]
cmp ebx, 0x3ff
ja 0x47f2ab
add ecx, 0xffff2809
shl ecx, 0xa
add ecx, eax
cmp dword [esi + 0x48], edx
je 0x47f2f6
cmp ecx, 0x5f
jne 0x47f2ba
lea edx, [ecx - 0x5e]
jmp 0x47f310
mov edx, ecx
shr edx, 7
movzx eax, byte [edx + 0x4a6a88]
shl eax, 7
and ecx, 0x7f
add eax, ecx
movzx ecx, word [eax*2 + 0x4a8c88]
movzx edx, byte [ecx*8 + 0x4a59a9]
mov eax, dword [edx*4 + 0x4b46b0]
cmp eax, 1
je 0x47f2ef
cmp eax, 3
jne 0x47f30e
mov edx, 1
jmp 0x47f310
cmp ecx, 0x100
jae 0x47f30e
mov eax, dword [esi + 0x34]
test byte [ecx + eax], 0x10
je 0x47f30e
mov edx, 1
jmp 0x47f310
xor edx, edx
cmp ebp, dword [esi + 0x6c]
jb 0x47f352
cmp dword [esi + 0x7c], 0
je 0x47f331
cmp ebp, dword [esi + 0x78]
jbe 0x47f331
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jg 0x4844e7
xor eax, eax
mov cl, byte [edi]
inc edi
mov dword [esp + 0x164], edi
cmp cl, 5
jne 0x47f3f7
xor ecx, ecx
cmp eax, edx
sete cl
jmp 0x47f3fe
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x47f380
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x47f380
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
cmp dword [esi + 0x48], 0
je 0x47f3d5
cmp eax, 0x5f
jne 0x47f392
mov eax, 1
jmp 0x47f333
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov eax, dword [ecx*4 + 0x4b46b0]
cmp eax, 1
je 0x47f3cb
cmp eax, 3
jne 0x47f331
mov eax, 1
jmp 0x47f333
cmp eax, 0x100
jae 0x47f331
mov ecx, dword [esi + 0x34]
test byte [eax + ecx], 0x10
je 0x47f331
mov eax, 1
jmp 0x47f333
xor ecx, ecx
cmp eax, edx
setne cl
mov eax, ecx
test eax, eax
je 0x47de50
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x18]
cmp eax, edx
je 0x47f45f
cmp ebp, dword [esi + 0x6c]
jae 0x4844c4
push 1
push eax
mov eax, dword [esi + 0x6c]
lea edi, [esi + 0x1c]
mov ecx, ebp
call fcn.004878a0
add esp, 8
test eax, eax
jne 0x47f15a
mov edi, dword [esp + 0x164]
xor edx, edx
jmp 0x47f498
mov eax, dword [esi + 0x1c]
mov ebx, dword [esi + 0x6c]
lea ecx, [eax + eax]
sub ebx, ecx
cmp ebp, ebx
ja 0x47f498
movzx ecx, byte [esi + 0x2c]
cmp word [ebp], cx
jne 0x47f498
cmp eax, 1
je 0x47f15a
movzx eax, byte [esi + 0x2d]
cmp word [ebp + 2], ax
je 0x47f15a
jmp 0x47f498
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x4844c4
movzx eax, word [ebp + 2]
add ebp, 2
mov ecx, 0xdc00
cmp ax, cx
jb 0x47f12a
mov edx, 0xdfff
cmp ax, dx
ja 0x47f12a
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x47f12a
mov edx, 0xdbff
cmp ax, dx
ja 0x47f12a
add ebp, 2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x484504
add ebp, 2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48453c
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f558
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f558
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47f12a
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 4
je 0x47f12a
mov eax, dword [esp + 0x16c]
mov dword [edx + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48457d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f5ce
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f5ce
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47f5e2
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 4
jne 0x47f12a
mov ecx, dword [esp + 0x16c]
mov dword [edx + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48453c
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f640
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f640
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47f12a
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 1
jne 0x47f570
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48457d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f6a9
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f6a9
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47f5e2
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 1
je 0x47f5e2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48453c
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f712
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f712
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47f12a
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 0x10
jne 0x47f570
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48457d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f77b
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f77b
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x100
jae 0x47f5e2
mov ecx, dword [edx + 0x34]
test byte [eax + ecx], 0x10
je 0x47f5e2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
cmp ebp, edx
jae 0x4845be
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f7e6
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x47f7e6
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xd
ja 0x47f824
je 0x47f801
cmp eax, 0xa
je 0x47f12a
jbe 0x47f15a
cmp eax, 0xc
jmp 0x47f83b
cmp ebp, edx
jae 0x47f12a
cmp word [ebp], 0xa
jne 0x47f12a
add ebp, 2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
cmp eax, 0x85
je 0x47f841
cmp eax, 0x2027
jbe 0x47f15a
cmp eax, 0x2029
ja 0x47f15a
cmp dword [esi + 0x60], 0
je 0x47f12a
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48453c
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f8a9
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f8a9
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x180e
ja 0x47f8d8
je 0x47f570
cmp eax, 0xa0
ja 0x47f8d1
je 0x47f570
cmp eax, 9
je 0x47f570
cmp eax, 0x20
jmp 0x47f907
cmp eax, 0x1680
jmp 0x47f907
cmp eax, 0x205f
ja 0x47f902
je 0x47f570
cmp eax, 0x2000
jb 0x47f12a
cmp eax, 0x200a
jbe 0x47f570
cmp eax, 0x202f
jmp 0x47f907
cmp eax, 0x3000
je 0x47f570
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48457d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47f95e
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47f95e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x180e
ja 0x47f98d
je 0x47f12a
cmp eax, 0xa0
ja 0x47f986
je 0x47f12a
cmp eax, 9
je 0x47f12a
cmp eax, 0x20
jmp 0x47f9bc
cmp eax, 0x1680
jmp 0x47f9bc
cmp eax, 0x205f
ja 0x47f9b7
je 0x47f12a
cmp eax, 0x2000
jb 0x47f5e2
cmp eax, 0x200a
jbe 0x47f12a
cmp eax, 0x202f
jmp 0x47f9bc
cmp eax, 0x3000
jne 0x47f5e2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48453c
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47fa13
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47fa13
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x85
ja 0x47fa2e
je 0x47f570
cmp eax, 0xa
jb 0x47f12a
cmp eax, 0xd
jmp 0x47fa3e
cmp eax, 0x2028
jb 0x47f12a
cmp eax, 0x2029
jbe 0x47f570
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48457d
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x47fa95
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x47fa95
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x85
ja 0x47fab0
je 0x47f12a
cmp eax, 0xa
jb 0x47f5e2
cmp eax, 0xd
jmp 0x47fac0
cmp eax, 0x2028
jb 0x47f5e2
cmp eax, 0x2029
ja 0x47f5e2
inc edi
mov dword [esp + 0x164], edi
jmp 0x47de50
mov esi, dword [esp + 0x174]
cmp ebp, dword [esi + 0x6c]
jae 0x4844c4
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x47fb17
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x47fb17
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx ecx, word [edx*2 + 0x4a8c88]
movzx edx, byte [edi + 1]
lea ecx, [ecx*8 + 0x4a59a8]
cmp edx, 8
ja case.default.0x47fb49
jmp dword [edx*4 + 0x48677c]
cmp ebx, 0xf
je 0x47f15a
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x47fb7e
cmp cl, 5
je 0x47fb7e
cmp cl, 8
je 0x47fb7e
xor eax, eax
jmp 0x47fb83
mov eax, 1
xor edx, edx
cmp ebx, 0xf
sete dl
cmp eax, edx
je 0x47f84b
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
movzx eax, byte [ecx + 1]
movzx ecx, byte [edi + 2]
xor edx, edx
cmp ecx, dword [eax*4 + 0x4b46b0]
setne dl
xor eax, eax
cmp ebx, 0x10
sete al
cmp edx, eax
jmp 0x47fd10
mov dl, byte [edi + 2]
xor eax, eax
cmp dl, byte [ecx + 1]
setne al
xor ecx, ecx
cmp ebx, 0x10
sete cl
cmp eax, ecx
je 0x47f15a
mov edi, dword [esp + 0x164]
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
mov dl, byte [edi + 2]
xor eax, eax
cmp dl, byte [ecx]
setne al
xor ecx, ecx
cmp ebx, 0x10
sete cl
cmp eax, ecx
je 0x47f84b
mov edi, dword [esp + 0x164]
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
movzx edx, byte [ecx + 1]
mov eax, dword [edx*4 + 0x4b46b0]
cmp eax, 1
je 0x47fd01
cmp eax, 3
je 0x47fd01
xor eax, eax
jmp 0x47fd06
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4b46b0], 6
je 0x47fc70
cmp eax, 9
je 0x47fc70
cmp eax, 0xa
je 0x47fc70
cmp eax, 0xc
je 0x47fc70
cmp eax, 0xd
je 0x47fc70
xor eax, eax
jmp 0x47fc75
mov eax, 1
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
je 0x47f15a
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4b46b0], 6
je 0x47fcbf
cmp eax, 9
je 0x47fcbf
cmp eax, 0xa
je 0x47fcbf
cmp eax, 0xb
je 0x47fcbf
cmp eax, 0xc
je 0x47fcbf
cmp eax, 0xd
je 0x47fcbf
xor eax, eax
jmp 0x47fcc4
mov eax, 1
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
je 0x47f84b
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4b46b0]
cmp ecx, 1
je 0x47fd01
cmp ecx, 3
je 0x47fd01
cmp eax, 0x5f
je 0x47fd01
xor eax, eax
jmp 0x47fd06
mov eax, 1
xor ecx, ecx
cmp ebx, 0xf
sete cl
cmp eax, ecx
je 0x48415c
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x47de50
mov edx, dword [esp + 0x174]
mov esi, dword [edx + 0x6c]
cmp ebp, esi
jae 0x48457d
movzx eax, word [ebp]
mov ebx, 2
lea ecx, [eax - 0xd800]
add ebp, ebx
cmp ecx, 0x3ff
ja 0x47fd6e
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x47fd6e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, ebx
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], ebx
je 0x47f5e2
cmp ebp, esi
jae 0x47fe1a
jmp 0x47fdb0
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
mov edx, 1
cmp ecx, 0x3ff
ja 0x47fde5
movzx ecx, word [ebp + 2]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x47fde5
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, ebx
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], ebx
jne 0x47fe1a
lea ebp, [ebp + edx*2]
cmp ebp, esi
jb 0x47fdb0
inc dword [esp + 0x164]
jmp 0x47de50
movzx esi, byte [edi + 1]
movzx eax, byte [edi + 2]
xor edx, edx
cmp ebx, 0x6e
mov ebx, dword [esp + 0x174]
sete dl
shl esi, 8
or esi, eax
add esi, esi
add edi, 3
mov dword [esp + 0x164], edi
mov dword [esp + 0x28], edx
cmp esi, dword [esp + 0x170]
jge 0x47fe6e
mov ecx, dword [ebx + 0xc]
lea eax, [ecx + esi*4]
mov ecx, dword [eax]
test ecx, ecx
js 0x47fe6e
mov eax, dword [eax + 4]
sub eax, ecx
jmp 0x47fe78
mov eax, dword [ebx + 0x4c]
neg eax
sbb eax, eax
neg eax
dec eax
mov ecx, dword [esp + 0x164]
mov dl, byte [ecx]
mov dword [esp + 0x14], eax
movzx eax, dl
lea edi, [eax - 0x62]
cmp edi, 7
ja case.default.0x47fe9b
movzx edi, byte [edi + 0x4867a8]
jmp dword [edi*4 + 0x4867a0]
movsx edi, byte [eax + 0x4b55d6]
inc ecx
mov dword [esp + 0x164], ecx
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x4b55de]
and ecx, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x47ff12
mov dword [esp + 0x10], SysStringLen
jmp 0x47ff12
movzx edi, byte [ecx + 1]
xor eax, eax
cmp dl, 0x69
movzx edx, byte [ecx + 2]
sete al
shl edi, 8
or edi, edx
movzx edx, byte [ecx + 4]
mov dword [esp + 0x20], eax
movzx eax, byte [ecx + 3]
shl eax, 8
or eax, edx
mov dword [esp + 0x10], eax
jne 0x47ff08
mov dword [esp + 0x10], SysStringLen
add ecx, 5
mov dword [esp + 0x164], ecx
cmp dword [esp + 0x14], 0
je 0x47de50
mov dword [esp + 0x18], 1
cmp edi, 1
jl 0x47ff5f
lea ebx, [ebx]
mov eax, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x18]
push esi
mov edx, ebx
mov ecx, ebp
call fcn.0047dc50
add esp, 8
test eax, eax
js 0x4846ef
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, edi
jle 0x47ff30
mov eax, dword [esp + 0x10]
cmp edi, eax
je 0x47de50
cmp dword [esp + 0x20], 0
je 0x48460f
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x17c]
inc edi
push edi
push ecx
mov ecx, dword [esp + 0x170]
push ebx
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
jge 0x47effa
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push ecx
push esi
mov edx, ebx
mov ecx, ebp
call fcn.0047dc50
add esp, 8
test eax, eax
js 0x4846ef
mov edx, dword [esp + 0x178]
mov ecx, dword [esp + 0x16c]
inc dword [esp + 0x18]
push edi
push edx
mov edx, dword [esp + 0x170]
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x178]
push ebx
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x47ffbd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push ecx
push esi
mov edx, ebx
mov ecx, ebp
call fcn.0047dc50
add esp, 8
test eax, eax
js 0x4846ef
lea ebp, [ebp + eax*2]
jmp 0x47de50
mov cl, byte [edi + 0x21]
lea edx, [edi + 1]
add edi, 0x21
movzx eax, cl
mov dword [esp + 0x14], edx
lea edx, [eax - 0x62]
mov dword [esp + 0x164], edi
cmp edx, 7
ja case.default.0x480080
movzx edx, byte [edx + 0x4867b8]
jmp dword [edx*4 + 0x4867b0]
movsx esi, byte [eax + 0x4b55de]
inc dword [esp + 0x164]
movsx edi, byte [eax + 0x4b55d6]
add eax, 0xffffff9e
mov ecx, eax
and ecx, 1
mov dword [esp + 0x20], ecx
test esi, esi
jne 0x4800fa
mov esi, SysReAllocString
jmp 0x4800fa
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x164]
movzx edi, byte [eax + 1]
movzx esi, byte [eax + 3]
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 4]
shl edi, 8
shl esi, 8
or edi, ecx
or esi, edx
jne 0x4800e7
mov esi, SysReAllocString
add eax, 5
mov dword [esp + 0x164], eax
jmp 0x4800fa
mov esi, 1
mov edi, esi
mov edx, 1
cmp edi, edx
jl 0x4801af
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
cmp ebp, dword [esp + 0x18]
jae 0x484739
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x480157
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
mov ebx, dword [esp + 0x28]
ja 0x480157
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xff
jbe 0x480184
cmp ebx, 0x6a
jne 0x4801a6
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x14]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x484781
mov ebx, dword [esp + 0x28]
inc edx
cmp edx, edi
jle 0x480115
cmp edi, esi
je 0x47de50
cmp dword [esp + 0x20], 0
je 0x48487a
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, edi
mov edi, dword [esp + 0x17c]
inc edi
push edi
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov edi, edi
cmp ebx, esi
jge 0x48480a
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x48482b
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x480263
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48025c
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x174]
cmp eax, 0xff
jbe 0x4847a2
cmp dword [esp + 0x28], 0x6a
jne 0x4847bc
mov eax, dword [esp + 0x16c]
mov dword [ecx + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
movzx edx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl edx, 8
or edx, eax
lea ecx, [edi + 3]
add edi, edx
mov dword [esp + 0x14], ecx
mov cl, byte [edi]
movzx eax, cl
lea edx, [eax - 0x62]
mov dword [esp + 0x164], edi
cmp edx, 7
ja case.default.0x4802c4
movzx edx, byte [edx + 0x4867c8]
jmp dword [edx*4 + 0x4867c0]
movsx esi, byte [eax + 0x4b55de]
inc dword [esp + 0x164]
movsx edi, byte [eax + 0x4b55d6]
add eax, 0xffffff9e
mov ecx, eax
and ecx, 1
mov dword [esp + 0x20], ecx
test esi, esi
jne 0x48033e
mov esi, SysReAllocString
jmp 0x48033e
xor eax, eax
cmp cl, 0x69
sete al
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x164]
movzx edi, byte [eax + 1]
movzx esi, byte [eax + 3]
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 4]
shl edi, 8
shl esi, 8
or edi, ecx
or esi, edx
jne 0x48032b
mov esi, SysReAllocString
add eax, 5
mov dword [esp + 0x164], eax
jmp 0x48033e
mov esi, 1
mov edi, esi
mov ebx, 1
cmp edi, ebx
jl 0x4803ad
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
cmp ebp, dword [esp + 0x18]
jae 0x484a02
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x480393
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x480393
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
push eax
mov eax, dword [esp + 0x18]
call fcn.00487b10
add esp, 4
test eax, eax
je case.0x47de7d.150
inc ebx
cmp ebx, edi
jle 0x480355
cmp edi, esi
je 0x47de50
cmp dword [esp + 0x20], 0
mov ebx, edi
je 0x484a4a
mov edi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
inc edi
push edi
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
lea esp, [esp]
cmp ebx, esi
jge case.0x47de7d.150
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x48537b
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x48045c
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48045c
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
push eax
mov eax, dword [esp + 0x18]
call fcn.00487b10
add esp, 4
test eax, eax
je 0x484781
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push edi
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
inc ebx
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x480410
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x6c]
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 2
jl 0x484bdc
movzx eax, byte [edi + 1]
add edi, 2
mov dword [esp + 0x164], edi
cmp eax, 0xc0
jb 0x4805c6
test al, 0x20
jne 0x480508
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
inc edi
jmp 0x4805bf
test al, 0x10
jne 0x48052e
movzx edx, byte [edi]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add edi, 2
jmp 0x4805bf
movzx ecx, byte [edi]
movzx edx, byte [edi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 8
jne 0x48055d
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add edi, 3
jmp 0x4805bf
test al, 4
jne 0x48058b
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add edi, 4
jmp 0x4805bf
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [edi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add edi, 5
mov dword [esp + 0x164], edi
movzx ecx, word [ebp]
lea edx, [ecx - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x4805fb
movzx edx, word [ebp]
lea edi, [edx - 0xdc00]
cmp edi, 0x3ff
ja 0x4805fb
add ecx, 0xffff2809
shl ecx, 0xa
add ecx, edx
add ebp, 2
cmp eax, ecx
je 0x47de50
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x6c]
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 2
jl 0x484bdc
movzx eax, byte [edi + 1]
add edi, 2
mov dword [esp + 0x164], edi
cmp eax, 0xc0
jb 0x480724
test al, 0x20
jne 0x480666
movzx ecx, byte [edi]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or eax, ecx
inc edi
jmp 0x48071d
test al, 0x10
jne 0x48068c
movzx edx, byte [edi]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [edi + 1]
shl edx, 6
and eax, 0x3f
or eax, edx
add edi, 2
jmp 0x48071d
movzx ecx, byte [edi]
movzx edx, byte [edi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 8
jne 0x4806bb
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add edi, 3
jmp 0x48071d
test al, 4
jne 0x4806e9
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [edi + 3]
and eax, 0x3f
shl ecx, 6
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add edi, 4
jmp 0x48071d
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [edi + 2]
shl ecx, 6
or ecx, edx
movzx edx, byte [edi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [edi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
add edi, 5
mov dword [esp + 0x164], edi
movzx ecx, word [ebp]
lea edx, [ecx - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x480759
movzx edx, word [ebp]
lea edi, [edx - 0xdc00]
cmp edi, 0x3ff
ja 0x480759
add ecx, 0xffff2809
shl ecx, 0xa
add ecx, edx
add ebp, 2
cmp eax, 0x80
jae 0x480791
cmp ecx, 0x80
jae 0x480791
mov edx, dword [esi + 0x30]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
je 0x47de50
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp eax, ecx
je 0x47de50
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a6a88]
shl edx, 7
mov edi, eax
and edi, 0x7f
add edx, edi
movzx edx, word [edx*2 + 0x4a8c88]
mov edx, dword [edx*8 + 0x4a59ac]
add edx, eax
cmp ecx, edx
je 0x47de50
jmp 0x47f15a
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov esi, eax
add edi, 3
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x164], edi
jmp 0x4808c9
mov dword [esp + 0x24], 1
movzx ecx, byte [edi + 1]
movzx ebx, byte [edi + 2]
shl ecx, 8
xor esi, esi
or ecx, ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], ecx
cmp al, 0x28
je 0x48081e
mov dword [esp + 0x20], edx
cmp al, 0x35
jne 0x480826
mov dword [esp + 0x20], 1
add edi, 3
mov dword [esp + 0x164], edi
jmp 0x4808c9
xor esi, esi
inc edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], esi
mov dword [esp + 0x164], edi
jmp 0x4808c1
mov esi, 1
add edi, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x164], edi
jmp 0x4808c1
mov eax, 1
xor esi, esi
add edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x164], edi
jmp 0x4808c9
xor ecx, ecx
cmp ebx, 0x2e
setge cl
mov eax, ebx
inc edi
mov dword [esp + 0x164], edi
dec ecx
and ecx, 0xfffffff3
add ecx, 0x2e
sub eax, ecx
movsx esi, byte [eax + 0x4b5638]
mov ecx, eax
movsx eax, byte [eax + 0x4b5640]
and ecx, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], eax
cmp eax, edx
jne 0x4808c9
mov dword [esp + 0x10], SysStringLen
mov eax, dword [esp + 0x164]
movzx ebx, byte [eax]
inc eax
mov dword [esp + 0x164], eax
cmp ebx, 0xc0
jb 0x4809b4
test bl, 0x20
jne 0x480900
movzx edx, byte [eax]
and ebx, 0x1f
and edx, 0x3f
shl ebx, 6
or ebx, edx
inc eax
jmp 0x4809ad
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
and ecx, 0x3f
and edx, 0x3f
test bl, 0x10
jne 0x480927
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
add eax, 2
jmp 0x4809ad
test bl, 8
jne 0x48094a
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
movzx edx, byte [eax + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add eax, 3
jmp 0x4809ad
test bl, 4
jne 0x480979
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
movzx edx, byte [eax + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [eax + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add eax, 4
jmp 0x4809ad
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, edx
movzx edx, byte [eax + 2]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [eax + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
movzx edx, byte [eax + 4]
shl ebx, 6
and edx, 0x3f
or ebx, edx
add eax, 5
mov dword [esp + 0x164], eax
lea ecx, [esp + 0x40]
mov eax, ebx
call fcn.00487ad0
mov edi, eax
mov dword [esp + 0x14], edi
cmp ebx, 0x7f
jbe 0x480d52
cmp dword [esp + 0x28], 0x2e
jl 0x480a12
mov eax, ebx
shr eax, 7
movzx ecx, byte [eax + 0x4a6a88]
mov edx, ebx
shl ecx, 7
and edx, 0x7f
add ecx, edx
movzx eax, word [ecx*2 + 0x4a8c88]
mov eax, dword [eax*8 + 0x4a59ac]
add eax, ebx
cmp eax, ebx
je 0x480a12
lea ecx, [esp + 0x98]
call fcn.00487ad0
mov dword [esp + 0x28], eax
jmp 0x480a1a
mov dword [esp + 0x28], 0
mov dword [esp + 0x18], 1
cmp esi, 1
jl 0x480b33
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x6c]
add edi, edi
mov eax, edx
sub eax, edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
jmp 0x480a49
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x480aa1
mov eax, dword [esp + 0x14]
add eax, eax
lea ecx, [esp + 0x40]
mov edi, ebp
cmp eax, 4
jb 0x480a74
mov edi, edi
mov ebx, dword [edi]
cmp ebx, dword [ecx]
jne 0x480aa1
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x480a60
test eax, eax
je 0x480a98
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x480aa1
cmp eax, 1
jbe 0x480a98
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x480aa1
cmp eax, 2
jbe 0x480a98
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x480aa1
add ebp, dword [esp + 0x30]
jmp 0x480b1e
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x484c1c
lea esi, [eax + eax]
mov ecx, edx
sub ecx, esi
cmp ebp, ecx
ja 0x484c1c
add eax, eax
lea ecx, [esp + 0x98]
mov edi, ebp
cmp eax, 4
jb 0x480ae8
lea esp, [esp]
mov ebx, dword [edi]
cmp ebx, dword [ecx]
jne 0x484c1c
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x480ad0
test eax, eax
je 0x480b18
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x484c1c
cmp eax, 1
jbe 0x480b18
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x484c1c
cmp eax, 2
jbe 0x480b18
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x484c1c
add ebp, esi
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, esi
jle 0x480a45
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
cmp esi, eax
je 0x47de50
cmp dword [esp + 0x20], 0
mov dword [esp + 0x18], esi
jne 0x484c6d
mov dword [esp + 0x20], ebp
cmp esi, eax
jge 0x480c68
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x6c]
add edi, edi
mov eax, edx
sub eax, edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], eax
jmp 0x480b78
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x480bce
mov eax, dword [esp + 0x14]
add eax, eax
lea ecx, [esp + 0x40]
mov edi, ebp
cmp eax, 4
jb 0x480ba4
lea ecx, [ecx]
mov esi, dword [edi]
cmp esi, dword [ecx]
jne 0x480bce
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x480b90
test eax, eax
je 0x480bc8
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x480bce
cmp eax, 1
jbe 0x480bc8
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x480bce
cmp eax, 2
jbe 0x480bc8
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x480bce
add ebp, dword [esp + 0x30]
jmp 0x480c2b
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x480c40
lea esi, [eax + eax]
mov ecx, edx
sub ecx, esi
cmp ebp, ecx
ja 0x480c40
add eax, eax
lea ecx, [esp + 0x98]
mov edi, ebp
cmp eax, 4
jb 0x480c05
mov ebx, dword [edi]
cmp ebx, dword [ecx]
jne 0x480c40
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x480bf1
test eax, eax
je 0x480c29
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x480c40
cmp eax, 1
jbe 0x480c29
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x480c40
cmp eax, 2
jbe 0x480c29
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x480c40
add ebp, esi
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x10]
jl 0x480b74
jmp 0x480c68
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x480c68
cmp ebp, dword [eax + 0x6c]
jb 0x480c68
cmp ebp, dword [eax + 0x78]
jbe 0x480c68
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x48451f
cmp dword [esp + 0x24], 0
jne 0x47de50
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push edi
push edx
push ebx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
cmp ebp, dword [esp + 0x20]
je 0x480f0d
movzx eax, word [ebp - 2]
sub ebp, 2
mov ecx, 0xdc00
cmp ax, cx
jb 0x480d13
jmp 0x480ce0
mov edx, 0xdfff
cmp ax, dx
ja 0x480d13
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x480d13
mov edx, 0xdbff
cmp ax, dx
ja 0x480d13
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x480ce0
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push edi
push edx
push ebx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x480cbd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esp + 0x28], 0x2e
jl 0x480f27
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x30]
movzx ecx, byte [ebx + edi]
mov edx, 1
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], ecx
cmp esi, edx
jl 0x480de8
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
jmp 0x480d8c
mov eax, dword [esp + 0x174]
cmp ebp, dword [esp + 0x18]
jae 0x484a09
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x480dca
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x480dca
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xff
ja case.0x47de7d.150
movzx eax, byte [eax + edi]
cmp dword [esp + 0x14], eax
jne case.0x47de7d.150
inc edx
cmp edx, esi
jle 0x480d85
mov ebx, dword [esp + 0x10]
cmp esi, ebx
je 0x47de50
cmp dword [esp + 0x20], 0
jne 0x484e0e
mov dword [esp + 0x20], ebp
mov edi, esi
cmp esi, ebx
jge 0x480ea1
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
jmp 0x480e27
mov eax, dword [esp + 0x174]
cmp ebp, dword [esp + 0x18]
jae 0x480e85
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
mov ecx, 1
cmp edx, 0x3ff
ja 0x480e65
movzx edx, word [ebp + 2]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x480e65
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov ecx, 2
cmp eax, 0xff
ja 0x480ea1
mov edx, dword [esp + 0x28]
movzx eax, byte [eax + edx]
cmp dword [esp + 0x14], eax
jne 0x480ea1
inc edi
lea ebp, [ebp + ecx*2]
cmp edi, ebx
jl 0x480e20
jmp 0x480ea1
cmp dword [eax + 0x7c], 0
je 0x480ea1
cmp ebp, dword [eax + 0x78]
jbe 0x480ea1
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x48451f
cmp dword [esp + 0x24], 0
jne 0x47de50
mov edi, dword [esp + 0x16c]
cmp ebp, dword [esp + 0x20]
jb 0x480f0d
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x164]
inc esi
jmp 0x480ed0
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push edi
push edx
push ebx
push ebp
call fcn.0047dde0
add esp, 0x20
sub ebp, 2
test eax, eax
jne 0x486591
cmp ebp, dword [esp + 0x20]
jae 0x480ed0
mov eax, dword [esp + 0x174]
mov dword [eax + 0xa0], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 1
cmp esi, eax
jl 0x480f5c
mov edx, dword [esp + 0x174]
mov ecx, dword [edx + 0x6c]
lea ebx, [ebx]
cmp ebp, ecx
jae 0x484f55
movzx edi, word [ebp]
add ebp, 2
cmp ebx, edi
jne 0x47f5e2
inc eax
cmp eax, esi
jle 0x480f40
mov ecx, dword [esp + 0x10]
cmp esi, ecx
je 0x47de50
cmp dword [esp + 0x20], 0
jne 0x484f96
mov edx, dword [esp + 0x174]
mov dword [esp + 0x20], ebp
mov eax, esi
cmp esi, ecx
jge 0x480fb9
mov esi, dword [edx + 0x6c]
cmp ebp, esi
jae 0x480f9d
movzx edi, word [ebp]
cmp ebx, edi
jne 0x480fb9
inc eax
add ebp, 2
cmp eax, ecx
jl 0x480f87
jmp 0x480fb9
cmp dword [edx + 0x7c], 0
je 0x480fb9
cmp ebp, dword [edx + 0x78]
jbe 0x480fb9
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x4845a1
cmp dword [esp + 0x24], 0
jne 0x47de50
mov ebx, dword [esp + 0x16c]
cmp ebp, dword [esp + 0x20]
jb 0x481024
mov esi, dword [esp + 0x17c]
mov edi, dword [esp + 0x164]
inc esi
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push ebx
push edx
push edi
push ebp
call fcn.0047dde0
add esp, 0x20
sub ebp, 2
test eax, eax
jne 0x486591
cmp ebp, dword [esp + 0x20]
jae 0x480fe0
mov edx, dword [esp + 0x174]
mov dword [edx + 0xa0], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x174]
cmp ebp, dword [edx + 0x6c]
jae 0x48453c
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x48107b
movzx ecx, word [ebp]
lea esi, [ecx - 0xdc00]
cmp esi, 0x3ff
ja 0x48107b
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp ebx, 0x20
jne 0x4810b0
cmp eax, 0x100
jae 0x48108e
mov ecx, dword [edx + 0x30]
movzx eax, byte [ecx + eax]
movzx ecx, byte [edi + 1]
mov esi, dword [edx + 0x30]
movzx ecx, byte [esi + ecx]
add edi, 2
mov dword [esp + 0x164], edi
cmp ecx, eax
jne 0x47de50
jmp 0x47f570
movzx ecx, byte [edi + 1]
add edi, 2
mov dword [esp + 0x164], edi
cmp ecx, eax
jne 0x47de50
jmp 0x47f5e2
mov eax, dword [esp + 0x164]
movzx edi, byte [eax + 1]
movzx edx, byte [eax + 2]
shl edi, 8
or edi, edx
add eax, 3
mov ecx, edi
mov dword [esp + 0x164], eax
jmp 0x4811d1
mov edx, dword [esp + 0x164]
movzx edi, byte [edx + 1]
movzx esi, byte [edx + 2]
shl edi, 8
xor ecx, ecx
or edi, esi
cmp al, 0x42
je 0x481112
mov dword [esp + 0x20], ecx
cmp al, 0x4f
jne 0x48111a
mov dword [esp + 0x20], 1
mov ebx, dword [esp + 0x28]
add edx, 3
mov dword [esp + 0x164], edx
jmp 0x4811d1
mov eax, 1
xor ecx, ecx
add dword [esp + 0x164], eax
mov dword [esp + 0x24], eax
jmp 0x4811cc
mov ecx, 1
add dword [esp + 0x164], ecx
mov dword [esp + 0x24], ecx
jmp 0x4811cc
mov edi, 1
xor ecx, ecx
add dword [esp + 0x164], edi
mov dword [esp + 0x24], edi
jmp 0x4811d1
mov eax, dword [esp + 0x164]
movzx edi, byte [eax + 1]
movzx edx, byte [eax + 2]
shl edi, 8
xor ecx, ecx
or edi, edx
add eax, 3
mov dword [esp + 0x24], 1
mov dword [esp + 0x164], eax
jmp 0x4811d1
xor ecx, ecx
cmp ebx, 0x48
setl cl
inc dword [esp + 0x164]
mov eax, ebx
dec ecx
and ecx, 0xd
add ecx, 0x3b
sub eax, ecx
movsx edi, byte [eax + 0x4b5640]
mov ecx, eax
and ecx, 1
mov dword [esp + 0x20], ecx
movsx ecx, byte [eax + 0x4b5638]
test edi, edi
jne 0x4811d1
mov edi, SysReAllocString
mov eax, dword [esp + 0x164]
movzx edx, byte [eax]
inc eax
cmp ebx, 0x48
mov dword [esp + 0x14], edx
mov dword [esp + 0x164], eax
mov ebx, 1
jl 0x481412
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x30]
movzx edx, byte [edx + eax]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
cmp ecx, ebx
jl 0x481279
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x485091
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x481254
movzx edx, word [ebp]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x481254
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ebp, 2
cmp eax, 0x100
jae 0x481263
mov edx, dword [esp + 0x28]
movzx eax, byte [eax + edx]
cmp dword [esp + 0x14], eax
je 0x48480a
mov esi, dword [esp + 0x174]
inc ebx
cmp ebx, ecx
jle 0x481216
cmp ecx, edi
je 0x47de50
cmp dword [esp + 0x20], 0
mov ebx, ecx
jne 0x4850d2
mov dword [esp + 0x20], ebp
cmp ecx, edi
jge 0x48132c
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x18], eax
jmp 0x4812b7
mov esi, dword [esp + 0x174]
mov ecx, 1
cmp ebp, dword [esp + 0x18]
jae 0x481315
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
cmp edx, 0x3ff
ja 0x4812f5
movzx edx, word [ebp + 2]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x4812f5
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov ecx, 2
cmp eax, 0x100
jae 0x481304
mov edx, dword [esp + 0x28]
movzx eax, byte [eax + edx]
cmp dword [esp + 0x14], eax
je 0x48132c
inc ebx
lea ebp, [ebp + ecx*2]
cmp ebx, edi
jl 0x4812b0
jmp 0x48132c
cmp dword [esi + 0x7c], 0
je 0x48132c
cmp ebp, dword [esi + 0x78]
jbe 0x48132c
mov dword [esi + 0x5c], ecx
cmp dword [esi + 0x7c], ecx
jg 0x485357
cmp dword [esp + 0x24], 0
jne 0x47de50
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edi
push edx
push eax
push ecx
push ebx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov edx, ebp
sub ebp, 2
cmp edx, dword [esp + 0x20]
je 0x484bc2
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x4813d3
mov edi, edi
mov edx, 0xdfff
cmp ax, dx
ja 0x4813d3
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x4813d3
mov edx, 0xdbff
cmp ax, dx
ja 0x4813d3
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x4813a0
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push edx
mov edx, dword [esp + 0x170]
push edi
push eax
push ecx
push edx
push ebx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x481381
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp ecx, 1
jl 0x481472
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x6c]
mov dword [esp + 0x18], edx
cmp ebp, dword [esp + 0x18]
jae 0x484a02
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x481463
movzx edx, word [ebp]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x481463
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
add ebp, 2
cmp dword [esp + 0x14], eax
je case.0x47de7d.150
inc ebx
cmp ebx, ecx
jle 0x481425
cmp ecx, edi
je 0x47de50
cmp dword [esp + 0x20], 0
jne 0x4851d9
mov dword [esp + 0x20], ebp
mov ebx, ecx
cmp ecx, edi
jge 0x48150e
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
mov ecx, 1
cmp ebp, dword [esp + 0x18]
jae 0x4814f0
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
cmp edx, 0x3ff
ja 0x4814df
movzx edx, word [ebp + 2]
lea esi, [edx - 0xdc00]
cmp esi, 0x3ff
ja 0x4814df
add eax, 0xffff2809
shl eax, 0xa
add eax, edx
mov ecx, 2
cmp dword [esp + 0x14], eax
je 0x48150e
inc ebx
lea ebp, [ebp + ecx*2]
cmp ebx, edi
jl 0x4814a1
jmp 0x48150e
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x48150e
cmp ebp, dword [eax + 0x78]
jbe 0x48150e
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x48451f
cmp dword [esp + 0x24], 0
jne 0x47de50
mov edi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
inc edi
push edi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push esi
push edx
push ebx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x20]
je 0x485319
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x4815b3
mov edx, 0xdfff
cmp ax, dx
ja 0x4815b3
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x4815b3
mov edx, 0xdbff
cmp ax, dx
ja 0x4815b3
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x481580
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push edi
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push esi
push edx
push ebx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x481563
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, 3
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x164], ecx
mov edi, eax
jmp 0x481728
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x164]
movzx ecx, byte [edx + 1]
movzx esi, byte [edx + 2]
mov edi, dword [esp + 0x1c]
shl ecx, 8
or ecx, esi
mov dword [esp + 0x10], ecx
xor ecx, ecx
cmp al, 0x5c
sete cl
add edx, 3
mov dword [esp + 0x164], edx
mov dword [esp + 0x20], ecx
jmp 0x481728
mov eax, 1
add dword [esp + 0x164], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
mov edi, edx
jmp 0x481720
mov eax, 1
add dword [esp + 0x164], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], eax
mov edi, eax
jmp 0x481720
mov eax, 1
add dword [esp + 0x164], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], eax
mov edi, edx
jmp 0x481728
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 1]
mov dword [esp + 0x1c], edx
movzx edx, byte [ecx + 2]
mov edi, dword [esp + 0x1c]
shl eax, 8
or eax, edx
add ecx, 3
mov dword [esp + 0x24], 1
mov dword [esp + 0x10], eax
mov dword [esp + 0x164], ecx
jmp 0x481728
movsx eax, byte [ebx + 0x4b55eb]
movsx edi, byte [ebx + 0x4b55e3]
inc dword [esp + 0x164]
lea ecx, [ebx - 0x55]
and ecx, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], eax
test eax, eax
jne 0x481728
mov dword [esp + 0x10], SysStringLen
mov edx, dword [esp + 0x164]
movzx eax, byte [edx]
inc edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x164], edx
cmp eax, 0x10
je 0x481751
cmp eax, 0xf
je 0x481751
mov ebx, dword [esp + 0x38]
or ecx, 0xffffffff
jmp 0x481773
movzx ebx, byte [edx + 1]
xor ecx, ecx
cmp eax, 0xf
sete cl
add edx, 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x164], edx
mov dword [esp + 0x2c], ecx
movzx ecx, byte [edx - 2]
mov dword [esp + 0x30], ecx
test edi, edi
jle 0x482533
test ecx, ecx
js 0x481d42
cmp ecx, 8
ja case.default.0x47fb49
jmp dword [ecx*4 + 0x4867d0]
cmp dword [esp + 0x2c], 0
jne 0x48480a
mov ecx, 1
cmp edi, ecx
jl 0x482533
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea esp, [esp]
cmp ebp, edx
jae 0x485333
movzx eax, word [ebp]
add eax, 0xffff2800
add ebp, 2
cmp eax, 0x3ff
ja 0x4817ee
movzx eax, word [ebp]
add eax, 0xffff2400
cmp eax, 0x3ff
ja 0x4817ee
add ebp, 2
inc ecx
cmp ecx, edi
jle 0x4817c0
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x485374
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x48184b
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x48184b
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx eax, byte [eax*8 + 0x4a59a9]
cmp eax, 9
je 0x481882
cmp eax, 5
je 0x481882
cmp eax, 8
je 0x481882
xor eax, eax
jmp 0x481887
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x484781
inc edx
cmp edx, edi
jle 0x48180f
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
cmp ebp, esi
jae 0x484739
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4818f6
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
mov edi, dword [esp + 0x1c]
ja 0x4818f6
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
xor eax, eax
cmp dword [ecx*4 + 0x4b46b0], ebx
sete al
cmp eax, dword [esp + 0x2c]
je case.0x47de7d.150
inc edx
cmp edx, edi
jle 0x4818b6
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
cmp ebp, esi
jae 0x485374
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481991
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
mov edi, dword [esp + 0x1c]
ja 0x481991
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
xor eax, eax
cmp ecx, ebx
sete al
cmp eax, dword [esp + 0x2c]
je 0x484781
inc edx
cmp edx, edi
jle 0x481951
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
cmp ebp, esi
jae 0x484739
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481a27
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
mov edi, dword [esp + 0x1c]
ja 0x481a27
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a8]
xor eax, eax
cmp ecx, ebx
sete al
cmp eax, dword [esp + 0x2c]
je case.0x47de7d.150
inc edx
cmp edx, edi
jle 0x4819e7
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
cmp ebp, esi
jae 0x485374
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481ab9
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x481ab9
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov eax, dword [ecx*4 + 0x4b46b0]
cmp eax, 1
je 0x481af2
cmp eax, 3
je 0x481af2
xor eax, eax
jmp 0x481af7
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x484781
inc edx
cmp edx, edi
jle 0x481a7d
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
lea edi, [edx + 5]
cmp ebp, esi
jae 0x4853bc
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481b65
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x481b65
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], edi
je 0x481bac
cmp eax, 9
je 0x481bac
cmp eax, 0xa
je 0x481bac
cmp eax, 0xc
je 0x481bac
cmp eax, 0xd
je 0x481bac
xor eax, eax
jmp 0x481bb1
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48480a
inc edx
cmp edx, dword [esp + 0x1c]
jle 0x481b29
mov edi, dword [esp + 0x1c]
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
lea ebx, [edx + 5]
cmp ebp, esi
jae 0x485404
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481c25
movzx ecx, word [ebp]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x481c25
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov edi, eax
and edi, 0x7f
add ecx, edi
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], ebx
je 0x481c71
cmp eax, 9
je 0x481c71
cmp eax, 0xa
je 0x481c71
cmp eax, 0xb
je 0x481c71
cmp eax, 0xc
je 0x481c71
cmp eax, 0xd
je 0x481c71
xor eax, eax
jmp 0x481c76
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47de7d.150
mov edi, dword [esp + 0x1c]
inc edx
cmp edx, edi
jle 0x481be9
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x485374
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481ce5
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x481ce5
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
mov ecx, dword [ecx*4 + 0x4b46b0]
cmp ecx, 1
je 0x481d25
cmp ecx, 3
je 0x481d25
cmp eax, 0x5f
je 0x481d25
xor eax, eax
jmp 0x481d2a
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x484781
inc edx
cmp edx, edi
jle 0x481ca9
jmp 0x482533
cmp eax, 0x16
jne 0x481e60
lea ebx, [eax - 0x15]
cmp edi, ebx
jl 0x482533
mov edx, dword [esp + 0x174]
mov esi, dword [edx + 0x6c]
cmp ebp, esi
jae 0x484739
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x481d9c
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x481d9c
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
je case.0x47de7d.150
cmp ebp, esi
jae 0x481e52
jmp 0x481de0
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
mov edx, 1
cmp ecx, 0x3ff
ja 0x481e1c
movzx ecx, word [ebp + 2]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
mov edi, dword [esp + 0x1c]
ja 0x481e1c
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
jne 0x481e52
lea ebp, [ebp + edx*2]
cmp ebp, esi
jb 0x481de0
inc ebx
cmp ebx, edi
jle 0x481d60
jmp 0x482533
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x47fb49
jmp dword [eax*4 + 0x4867f4]
mov esi, 1
cmp edi, esi
jl 0x482533
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x4853c3
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x481ec6
mov ecx, dword [esp + 0x174]
push 1
push eax
mov eax, dword [ecx + 0x6c]
lea edi, [ecx + 0x1c]
mov ecx, ebp
call fcn.004878a0
add esp, 8
test eax, eax
jne 0x48480a
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x174]
jmp 0x481eff
mov eax, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x6c]
lea edx, [eax + eax]
sub ebx, edx
cmp ebp, ebx
ja 0x481eff
movzx edx, byte [ecx + 0x2c]
cmp word [ebp], dx
jne 0x481eff
cmp eax, 1
je 0x48480a
mov eax, dword [esp + 0x174]
movzx ecx, byte [eax + 0x2d]
cmp word [ebp + 2], cx
je 0x48480a
mov ecx, eax
movzx eax, word [ebp + 2]
add ebp, 2
mov edx, 0xdc00
cmp ax, dx
jb 0x481f35
mov edx, 0xdfff
cmp ax, dx
ja 0x481f35
movzx eax, word [ebp - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x481f35
mov edx, 0xdbff
cmp ax, dx
ja 0x481f35
add ebp, 2
inc esi
cmp esi, edi
jle 0x481e87
jmp 0x482533
mov ecx, 1
cmp edi, ecx
jl 0x482533
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea ebx, [ebx]
cmp ebp, edx
jae 0x485333
movzx eax, word [ebp + 2]
add ebp, 2
mov ebx, 0xdc00
cmp ax, bx
jb 0x481f9e
mov ebx, 0xdfff
cmp ax, bx
ja 0x481f9e
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x481f9e
mov ebx, 0xdbff
cmp ax, bx
ja 0x481f9e
add ebp, 2
inc ecx
cmp ecx, edi
jle 0x481f60
jmp 0x482533
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x6c]
lea eax, [edi + edi]
sub edx, eax
cmp ebp, edx
ja 0x484860
add ebp, eax
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x484739
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x482019
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482019
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xd
ja 0x48203a
je 0x48202a
cmp eax, 0xa
je 0x482060
add eax, 0xfffffff5
jmp 0x482046
cmp ebp, esi
jae 0x482060
cmp word [ebp], 0xa
jne 0x482060
add ebp, 2
jmp 0x482060
cmp eax, 0x85
je 0x48204f
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x47de7d.150
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x60], 0
jne 0x484490
inc edx
cmp edx, edi
jle 0x481fdd
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x484739
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4820c1
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4820c1
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x180e
ja 0x4820f0
je case.0x47de7d.150
cmp eax, 0xa0
ja 0x4820e9
je case.0x47de7d.150
cmp eax, 9
je case.0x47de7d.150
cmp eax, 0x20
jmp 0x48211b
cmp eax, 0x1680
jmp 0x48211b
cmp eax, 0x205f
ja 0x482116
je case.0x47de7d.150
cmp eax, 0x2000
jb 0x482121
cmp eax, 0x200a
jbe case.0x47de7d.150
cmp eax, 0x202f
jmp 0x48211b
cmp eax, 0x3000
je case.0x47de7d.150
inc edx
cmp edx, edi
jle 0x482085
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x485374
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x482182
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482182
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x180e
ja 0x4821a5
je 0x4821d2
cmp eax, 0xa0
ja 0x48219e
je 0x4821d2
cmp eax, 9
je 0x4821d2
cmp eax, 0x20
jmp 0x4821cc
cmp eax, 0x1680
jmp 0x4821cc
cmp eax, 0x205f
ja 0x4821c7
je 0x4821d2
cmp eax, 0x2000
jb 0x484781
cmp eax, 0x200a
jbe 0x4821d2
cmp eax, 0x202f
jmp 0x4821cc
cmp eax, 0x3000
jne 0x484781
inc edx
cmp edx, edi
jle 0x482146
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x484739
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x482233
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482233
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x85
ja 0x48224a
je case.0x47de7d.150
cmp eax, 0xa
jb 0x48225c
cmp eax, 0xd
jmp 0x482256
cmp eax, 0x2028
jb 0x48225c
cmp eax, 0x2029
jbe case.0x47de7d.150
inc edx
cmp edx, edi
jle 0x4821f7
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x485374
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4822b9
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4822b9
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x85
ja 0x4822ca
je 0x4822d8
add eax, 0xfffffff6
cmp eax, 3
jmp 0x4822d2
add eax, 0xffffdfd8
cmp eax, 1
ja 0x484781
inc edx
cmp edx, edi
jle 0x48227d
jmp 0x482533
mov edx, 1
cmp edi, edx
jl 0x482533
mov eax, dword [esp + 0x174]
mov esi, dword [eax + 0x6c]
cmp ebp, esi
jae 0x484739
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x482335
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482335
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0x80
jae 0x482350
mov ecx, dword [esp + 0x174]
mov ebx, dword [ecx + 0x34]
test byte [eax + ebx], 4
jne 0x480279
inc edx
cmp edx, edi
jle 0x4822f9
jmp 0x482533
mov ecx, 1
cmp edi, ecx
jl 0x482533
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
cmp ebp, edx
jae 0x485410
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x48415c
mov ebx, dword [esi + 0x34]
mov al, byte [eax + ebx]
add ebp, 2
and al, 4
je 0x48415c
inc ecx
cmp ecx, edi
jle 0x482371
jmp 0x482533
mov ecx, 1
cmp edi, ecx
jl 0x482533
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea ecx, [ecx]
cmp ebp, edx
jae 0x485410
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x4823e3
mov ebx, dword [esi + 0x34]
test byte [eax + ebx], 1
jne 0x48415c
movzx eax, word [ebp + 2]
add ebp, 2
mov ebx, 0xdc00
cmp ax, bx
jb 0x482419
mov ebx, 0xdfff
cmp ax, bx
ja 0x482419
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x482419
mov ebx, 0xdbff
cmp ax, bx
ja 0x482419
add ebp, 2
inc ecx
cmp ecx, edi
jle 0x4823c0
jmp 0x482533
mov ecx, 1
cmp edi, ecx
jl 0x482533
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea ebx, [ebx]
cmp ebp, edx
jae 0x485410
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x48415c
mov ebx, dword [esi + 0x34]
mov al, byte [eax + ebx]
add ebp, 2
and al, 1
je 0x48415c
inc ecx
cmp ecx, edi
jle 0x482440
jmp 0x482533
mov ecx, 1
cmp edi, ecx
jl 0x482533
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
lea esp, [esp]
cmp ebp, edx
jae 0x485410
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x4824b3
mov ebx, dword [esi + 0x34]
test byte [eax + ebx], 0x10
jne 0x48415c
movzx eax, word [ebp + 2]
add ebp, 2
mov ebx, 0xdc00
cmp ax, bx
jb 0x4824e9
mov ebx, 0xdfff
cmp ax, bx
ja 0x4824e9
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x4824e9
mov ebx, 0xdbff
cmp ax, bx
ja 0x4824e9
add ebp, 2
inc ecx
cmp ecx, edi
jle 0x482490
jmp 0x482533
mov ecx, 1
cmp edi, ecx
jl 0x482533
mov esi, dword [esp + 0x174]
mov edx, dword [esi + 0x6c]
cmp ebp, edx
jae 0x485410
movzx eax, word [ebp]
mov ebx, 0x80
cmp ax, bx
jae 0x48415c
mov ebx, dword [esi + 0x34]
mov al, byte [eax + ebx]
add ebp, 2
and al, 0x10
je 0x48415c
inc ecx
cmp ecx, edi
jle 0x482503
cmp edi, dword [esp + 0x10]
je 0x47de50
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x30]
jne 0x485451
mov dword [esp + 0x20], ebp
test eax, eax
js 0x482d22
cmp eax, 8
ja case.default.0x47fb49
jmp dword [eax*4 + 0x486834]
mov edx, edi
cmp edi, dword [esp + 0x10]
jge 0x482c3b
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov edi, dword [esp + 0x10]
mov ebx, 1
jmp 0x482597
mov ecx, dword [esp + 0x174]
mov eax, ebx
cmp ebp, esi
jae 0x4825e0
movzx ecx, word [ebp]
add ecx, 0xffff2800
cmp ecx, 0x3ff
ja 0x4825c6
movzx ecx, word [ebp + 2]
add ecx, 0xffff2400
cmp ecx, 0x3ff
ja 0x4825c6
mov eax, 2
cmp dword [esp + 0x2c], 0
jne 0x482c3b
add edx, ebx
lea ebp, [ebp + eax*2]
cmp edx, edi
jl 0x482590
jmp 0x482c3b
cmp dword [ecx + 0x7c], 0
je 0x482c3b
cmp ebp, dword [ecx + 0x78]
jbe 0x482c3b
mov dword [ecx + 0x5c], ebx
cmp dword [ecx + 0x7c], ebx
jg 0x484c50
jmp 0x482c3b
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482c3b
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x6c]
jmp 0x482627
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x4826c1
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482667
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482667
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx eax, byte [eax*8 + 0x4a59a9]
cmp eax, 9
je 0x48269e
cmp eax, 5
je 0x48269e
cmp eax, 8
je 0x48269e
xor eax, eax
jmp 0x4826a3
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482c3b
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x482620
jmp 0x482c3b
cmp dword [eax + 0x7c], 0
je 0x482c3b
cmp ebp, dword [eax + 0x78]
jbe 0x482c3b
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jg 0x48451f
jmp 0x482c3b
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x482c3b
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov eax, ecx
jmp 0x482708
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, esi
jae 0x482c24
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482748
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482748
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov ecx, dword [ecx*4 + 0x4b46b0]
xor eax, eax
cmp ecx, dword [esp + 0x38]
sete al
cmp eax, dword [esp + 0x2c]
je 0x482c3b
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x482701
jmp 0x482c3b
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x482c3b
mov edx, dword [esp + 0x174]
mov esi, dword [edx + 0x6c]
mov eax, edx
jmp 0x4827c7
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, esi
jae 0x4826c1
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482807
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482807
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
xor eax, eax
cmp ecx, dword [esp + 0x38]
sete al
cmp eax, dword [esp + 0x2c]
je 0x482c3b
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x4827c0
jmp 0x482c3b
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x482c3b
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov eax, ecx
jmp 0x482877
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, esi
jae 0x482c24
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4828b7
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4828b7
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a8]
xor eax, eax
cmp ecx, dword [esp + 0x38]
sete al
cmp eax, dword [esp + 0x2c]
je 0x482c3b
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x482870
jmp 0x482c3b
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482c3b
mov eax, dword [esp + 0x174]
mov edi, dword [eax + 0x6c]
jmp 0x482927
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x4826c1
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482967
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482967
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov eax, dword [ecx*4 + 0x4b46b0]
cmp eax, 1
je 0x4829a0
cmp eax, 3
je 0x4829a0
xor eax, eax
jmp 0x4829a5
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482c3b
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x482920
jmp 0x482c3b
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482c3b
mov edx, dword [esp + 0x174]
mov edi, dword [edx + 0x6c]
mov eax, edx
jmp 0x4829e7
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x482c24
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482a27
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482a27
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 6
je 0x482a6f
cmp eax, 9
je 0x482a6f
cmp eax, 0xa
je 0x482a6f
cmp eax, 0xc
je 0x482a6f
cmp eax, 0xd
je 0x482a6f
xor eax, eax
jmp 0x482a74
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482c3b
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x4829e0
jmp 0x482c3b
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482c3b
mov edx, dword [esp + 0x174]
mov edi, dword [edx + 0x6c]
mov eax, edx
jmp 0x482ab7
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x4826c1
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482af7
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482af7
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 6
je 0x482b44
cmp eax, 9
je 0x482b44
cmp eax, 0xa
je 0x482b44
cmp eax, 0xb
je 0x482b44
cmp eax, 0xc
je 0x482b44
cmp eax, 0xd
je 0x482b44
xor eax, eax
jmp 0x482b49
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482c3b
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x482ab0
jmp 0x482c3b
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x482c3b
mov edx, dword [esp + 0x174]
mov edi, dword [edx + 0x6c]
mov eax, edx
jmp 0x482b88
mov eax, dword [esp + 0x174]
mov edx, 1
cmp ebp, edi
jae 0x482c24
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482bc8
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x482bc8
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [ecx*8 + 0x4a59a9]
mov ecx, dword [ecx*4 + 0x4b46b0]
cmp ecx, 1
je 0x482c08
cmp ecx, 3
je 0x482c08
cmp eax, 0x5f
je 0x482c08
xor eax, eax
jmp 0x482c0d
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x482c3b
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x482b81
jmp 0x482c3b
cmp dword [eax + 0x7c], 0
je 0x482c3b
cmp ebp, dword [eax + 0x78]
jbe 0x482c3b
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jg 0x48539f
cmp dword [esp + 0x24], 0
jne 0x47de50
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edi, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
inc esi
push esi
push eax
mov eax, dword [esp + 0x16c]
push ecx
push edi
push edx
push ebx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x20]
je 0x48480a
movzx eax, word [ebp]
mov edx, 0xdc00
cmp ax, dx
jb 0x482ce3
lea ecx, [ecx]
mov ecx, 0xdfff
cmp ax, cx
ja 0x482ce3
movzx eax, word [ebp - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x482ce3
mov ecx, 0xdbff
cmp ax, cx
ja 0x482ce3
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov edx, 0xdc00
cmp ax, dx
jae 0x482cb0
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x16c]
push esi
push eax
mov eax, dword [esp + 0x16c]
push ecx
push edi
push edx
push ebx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x482c90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x14]
cmp eax, 0x16
jne 0x482f7b
mov ebx, edi
cmp edi, dword [esp + 0x10]
jge 0x482e69
mov edx, dword [esp + 0x174]
mov esi, dword [edx + 0x6c]
jmp 0x482d50
mov edx, 1
cmp ebp, esi
jae 0x482e4b
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x482d90
movzx ecx, word [ebp + 2]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x482d90
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
je 0x482e69
lea ebp, [ebp + edx*2]
cmp ebp, esi
jae 0x482e3e
mov edi, edi
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
mov edx, 1
cmp ecx, 0x3ff
ja 0x482e08
movzx ecx, word [ebp + 2]
lea edi, [ecx - 0xdc00]
cmp edi, 0x3ff
ja 0x482e08
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
jne 0x482e3e
lea ebp, [ebp + edx*2]
cmp ebp, esi
jb 0x482dd0
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x482d50
jmp 0x482e69
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x482e69
cmp ebp, dword [eax + 0x78]
jbe 0x482e69
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jg 0x48451f
cmp dword [esp + 0x24], 0
jne 0x47de50
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ebx, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov edi, dword [esp + 0x168]
inc esi
push esi
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push ecx
push edi
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x20]
je 0x48480a
lea ecx, [ecx]
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x482f13
mov edi, edi
mov edx, 0xdfff
cmp ax, dx
ja 0x482f13
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x482f13
mov edx, 0xdbff
cmp ax, dx
ja 0x482f13
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x482ee0
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
cmp edx, 0x3ff
ja 0x482f41
movzx ecx, word [ebp + 2]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x482f41
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
jne 0x48654d
sub ebp, 2
jmp 0x482ed0
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x47fb49
jmp dword [eax*4 + 0x486858]
cmp dword [esp + 0x10], 0x7fffffff
mov esi, edi
jge 0x483061
cmp edi, dword [esp + 0x10]
jge 0x483811
jmp 0x482fb0
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x48321a
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x482fe4
push 1
push eax
mov eax, dword [ecx + 0x6c]
lea edi, [ecx + 0x1c]
mov ecx, ebp
call fcn.004878a0
add esp, 8
test eax, eax
jne 0x483811
jmp 0x48301b
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x6c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x48301b
movzx ecx, byte [ecx + 0x2c]
cmp word [ebp], cx
jne 0x48301b
cmp eax, 1
je 0x483811
mov edx, dword [esp + 0x174]
movzx eax, byte [edx + 0x2d]
cmp word [ebp + 2], ax
je 0x483811
movzx eax, word [ebp + 2]
add ebp, 2
mov ecx, 0xdc00
cmp ax, cx
jb 0x483051
mov edx, 0xdfff
cmp ax, dx
ja 0x483051
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x483051
mov edx, 0xdbff
cmp ax, dx
ja 0x483051
add ebp, 2
inc esi
cmp esi, dword [esp + 0x10]
jl 0x482fb0
jmp 0x483811
cmp edi, dword [esp + 0x10]
jge 0x483811
jmp 0x483070
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x483121
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4830a4
push 1
push eax
mov eax, dword [ecx + 0x6c]
lea edi, [ecx + 0x1c]
mov ecx, ebp
call fcn.004878a0
add esp, 8
test eax, eax
jne 0x483811
jmp 0x4830db
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x6c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x4830db
movzx ecx, byte [ecx + 0x2c]
cmp word [ebp], cx
jne 0x4830db
cmp eax, 1
je 0x483811
mov edx, dword [esp + 0x174]
movzx eax, byte [edx + 0x2d]
cmp word [ebp + 2], ax
je 0x483811
movzx eax, word [ebp + 2]
add ebp, 2
mov ecx, 0xdc00
cmp ax, cx
jb 0x483111
mov edx, 0xdfff
cmp ax, dx
ja 0x483111
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x483111
mov edx, 0xdbff
cmp ax, dx
ja 0x483111
add ebp, 2
inc esi
cmp esi, dword [esp + 0x10]
jl 0x483070
jmp 0x483811
cmp dword [ecx + 0x7c], 0
je 0x483811
mov eax, ecx
cmp ebp, dword [eax + 0x78]
jbe 0x483811
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jmp 0x48380b
mov eax, dword [esp + 0x10]
cmp eax, 0x7fffffff
jge 0x4831e1
mov ecx, edi
cmp edi, eax
jge 0x483811
mov edi, dword [esp + 0x174]
mov edx, dword [edi + 0x6c]
mov esi, eax
jmp 0x483170
cmp ebp, edx
jae 0x4831b4
movzx eax, word [ebp + 2]
add ebp, 2
mov ebx, 0xdc00
cmp ax, bx
jb 0x4831aa
mov ebx, 0xdfff
cmp ax, bx
ja 0x4831aa
movzx eax, word [ebp - 2]
mov ebx, 0xd800
cmp ax, bx
jb 0x4831aa
mov ebx, 0xdbff
cmp ax, bx
ja 0x4831aa
add ebp, 2
inc ecx
cmp ecx, esi
jl 0x483170
jmp 0x483811
cmp dword [edi + 0x7c], 0
je 0x483811
mov ecx, edi
cmp ebp, dword [ecx + 0x78]
jbe 0x483811
mov ecx, 1
mov eax, edi
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x48451f
jmp 0x483811
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
mov ebp, dword [eax + 0x6c]
je 0x483811
mov edx, eax
cmp ebp, dword [edx + 0x78]
jmp 0x483130
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 0x6c]
mov eax, dword [esp + 0x10]
sub edx, ebp
sub eax, edi
sar edx, 1
cmp eax, edx
jbe 0x483245
mov ebp, dword [ecx + 0x6c]
cmp dword [ecx + 0x7c], 0
je 0x483811
mov eax, ecx
cmp ebp, dword [eax + 0x78]
jbe 0x483811
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x48451f
jmp 0x483811
lea ebp, [ebp + eax*2]
jmp 0x483811
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x483811
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
jmp 0x483270
mov edx, 1
cmp ebp, esi
jae 0x483319
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4832b0
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4832b0
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0xd
jne 0x4832cc
add ebp, 2
cmp ebp, esi
jae 0x483811
cmp word [ebp], 0xa
jne 0x483309
add ebp, 2
jmp 0x483309
cmp eax, 0xa
je 0x483305
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x60], 0
jne 0x483811
cmp eax, 0xb
je 0x483305
cmp eax, 0xc
je 0x483305
cmp eax, 0x85
je 0x483305
cmp eax, 0x2028
je 0x483305
cmp eax, 0x2029
jne 0x483811
lea ebp, [ebp + edx*2]
inc edi
cmp edi, dword [esp + 0x10]
jl 0x483270
jmp 0x483811
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x7c], 0
je 0x483811
mov eax, edx
jmp 0x48312d
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x483811
mov ecx, dword [esp + 0x174]
mov edi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, edi
jae 0x4833fe
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483387
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483387
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x180e
ja 0x4833aa
je 0x4833d3
cmp eax, 0xa0
ja 0x4833a3
je 0x4833d3
cmp eax, 9
je 0x4833d3
cmp eax, 0x20
jmp 0x4833cd
cmp eax, 0x1680
jmp 0x4833cd
cmp eax, 0x205f
ja 0x4833c8
je 0x4833d3
cmp eax, 0x2000
jb 0x4833cf
cmp eax, 0x200a
jbe 0x4833d3
cmp eax, 0x202f
jmp 0x4833cd
cmp eax, 0x3000
je 0x4833d3
xor eax, eax
jmp 0x4833d8
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x14], 0x12
sete cl
cmp eax, ecx
je 0x483811
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x483347
jmp 0x483811
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x7c], 0
je 0x483811
mov eax, edx
cmp ebp, dword [eax + 0x78]
jbe 0x483811
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x48451f
jmp 0x483811
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x483811
mov ecx, dword [esp + 0x174]
mov edi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, edi
jae 0x483319
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483486
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483486
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x85
ja 0x4834bd
je 0x4834c7
cmp eax, 0xa
jb 0x483499
cmp eax, 0xd
jbe 0x4834c7
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x14], 0x14
sete cl
cmp eax, ecx
je 0x483811
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x10]
jl 0x483446
jmp 0x483811
add eax, 0xffffdfd8
cmp eax, 1
ja 0x483499
mov eax, 1
jmp 0x48349b
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x483811
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
jmp 0x4834f0
mov edx, 1
cmp ebp, esi
jae 0x4833fe
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483530
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483530
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x48354b
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 4
jne 0x483811
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x4834f0
jmp 0x483811
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x483811
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, esi
jae 0x483319
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4835b3
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4835b3
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x483811
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 4
je 0x483811
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x483573
jmp 0x483811
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x483811
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
lea ebx, [ebx]
mov edx, 1
cmp ebp, esi
jae 0x4833fe
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483640
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483640
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x48365b
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 1
jne 0x483811
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x483600
jmp 0x483811
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x483811
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, esi
jae 0x483319
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4836c3
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4836c3
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x483811
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 1
je 0x483811
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x483683
jmp 0x483811
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x483811
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
lea ebx, [ebx]
mov edx, 1
cmp ebp, esi
jae 0x4833fe
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x483750
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x483750
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x48376b
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 0x10
jne 0x483811
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x483710
jmp 0x483811
mov edi, dword [esp + 0x1c]
cmp edi, dword [esp + 0x10]
jge 0x483811
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x6c]
mov edx, 1
cmp ebp, esi
jae 0x4837f3
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4837cf
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x4837cf
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
cmp eax, 0x100
jae 0x483811
mov ecx, dword [esp + 0x174]
mov ecx, dword [ecx + 0x34]
test byte [eax + ecx], 0x10
je 0x483811
inc edi
lea ebp, [ebp + edx*2]
cmp edi, dword [esp + 0x10]
jl 0x483793
jmp 0x483811
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x483811
cmp ebp, dword [eax + 0x78]
jbe 0x483811
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jg 0x48539f
cmp dword [esp + 0x24], 0
jne 0x47de50
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov ebx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov edi, dword [esp + 0x164]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push edi
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x20]
je 0x48480a
movzx eax, word [ebp]
mov edx, 0xdc00
cmp ax, dx
jb 0x4838b6
mov ecx, 0xdfff
cmp ax, cx
ja 0x4838b6
movzx eax, word [ebp - 2]
mov edx, 0xd800
cmp ax, dx
jb 0x4838b6
mov ecx, 0xdbff
cmp ax, cx
ja 0x4838b6
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov edx, 0xdc00
cmp ax, dx
jae 0x483883
cmp dword [esp + 0x14], 0x11
jne 0x4838d4
cmp ebp, dword [esp + 0x20]
jbe 0x4838d4
cmp word [ebp], 0xa
jne 0x4838d4
cmp word [ebp - 2], 0xd
jne 0x4838d4
add ebp, 0xfffffffe
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x16c]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push edi
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x483866
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov al, byte [eax]
cmp al, 0x75
je 0x48432a
cmp al, 0x74
jne 0x48398b
mov edi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ebx, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
lea edx, [edi + 1]
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push esi
push ebx
push ecx
push edx
add eax, 3
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov ecx, dword [esp + 0x14]
mov al, byte [ecx]
cmp al, 0x7b
je 0x48434a
cmp al, 0x81
jae 0x484396
mov dword [esp + 0x164], ecx
jmp 0x483a08
mov ecx, dword [esp + 0x14]
cmp byte [ecx], 0x81
jb 0x48399e
mov dword [esi + 0x8c], 2
mov edi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
mov ebx, dword [esp + 0x168]
lea edx, [edi + 1]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x1c]
push esi
push ecx
push edx
push ebx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
cmp eax, 0xfffffc1c
jne 0x4839eb
mov ecx, dword [esi + 0xa4]
cmp ecx, dword [esp + 0x14]
jmp 0x4839ed
test eax, eax
jne 0x486591
mov edx, dword [esp + 0x14]
cmp byte [edx], 0x7b
je 0x4843d5
add dword [esp + 0x164], 3
mov ecx, dword [esi]
cmp ecx, dword [esi + 4]
jae 0x483ade
xor eax, eax
jmp 0x47de14
mov eax, dword [ebx + 0x80]
cmp eax, dword [esp + 0x170]
jle 0x483a30
mov dword [esp + 0x170], eax
movzx eax, byte [edi + 4]
movzx ecx, byte [edi + 5]
shl eax, 8
or eax, ecx
cmp byte [edi + eax + 3], 0x71
lea eax, [edi + eax + 3]
mov dword [esp + 0x164], eax
jne 0x483a6b
nop
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x71
je 0x483a50
mov dword [esp + 0x164], eax
mov edi, dword [esp + 0x164]
cmp dword [esp + 0x28], 0x85
jne 0x483a86
mov dword [ebx + 0x8c], 2
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
inc ecx
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push ebx
push eax
push ecx
push edx
lea eax, [edi + 3]
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
cmp eax, 0xfffffc20
jne 0x486591
cmp dword [ebx + 0x70], edi
jne 0x486591
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
inc dword [esi]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x174]
inc edx
push edx
mov edx, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edi
push edx
movzx edx, byte [eax]
lea esi, [eax + 2]
push esi
push ecx
movzx ecx, byte [edx + 0x4b4588]
movzx edx, byte [eax + 1]
add ecx, eax
add edx, ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
cmp eax, 0xfffffc1f
jne 0x483b98
mov edx, dword [edi + 0x70]
mov ecx, esi
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x483b7c
test bl, bl
je 0x483b78
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x483b7c
add ecx, 2
add edx, 2
test bl, bl
jne 0x483b5c
xor ecx, ecx
jmp 0x483b81
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x483b98
mov dword [edi + 0x70], ebp
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edi + 0xa0], 0
jne 0x486591
mov dword [edi + 0xa0], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
inc edx
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push edi
push ecx
movzx ecx, byte [eax]
push esi
push edx
movzx edx, byte [ecx + 0x4b4588]
add edx, eax
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x483c28
cmp eax, 0xfffffc1d
je 0x483c28
cmp eax, 0xfffffc1e
je 0x483c28
cmp eax, 0xfffffc1f
je 0x483c28
cmp eax, 0xfffffc20
jne 0x486591
mov dword [edi + 0xa0], esi
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
inc eax
push eax
mov eax, dword [esp + 0x16c]
push ecx
push edi
push edx
push esi
push eax
mov eax, dword [esp + 0x17c]
movzx ecx, byte [eax]
movzx edx, byte [ecx + 0x4b4588]
add edx, eax
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x483c9b
cmp eax, 0xfffffc20
jne 0x486591
mov dword [edi + 0xa0], esi
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
inc eax
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push esi
push edx
movzx edx, byte [edi]
push eax
movzx eax, byte [edx + 0x4b4588]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x483d0d
cmp eax, 0xfffffc20
jne 0x486591
add edi, 2
mov dword [esi + 0xa0], edi
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edi, dword [esp + 0x16c]
inc edx
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push esi
push ecx
movzx ecx, byte [eax]
push edi
push edx
movzx edx, byte [ecx + 0x4b4588]
add edx, eax
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x483d8a
cmp eax, 0xfffffc1d
je 0x483d8a
cmp eax, 0xfffffc20
jne 0x486591
mov dword [esi + 0x70], ebp
mov dword [esi + 0xa0], edi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
inc eax
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push esi
push edx
movzx edx, byte [edi]
push eax
movzx eax, byte [edx + 0x4b4588]
push ecx
movzx ecx, byte [edi + 1]
add eax, edi
add ecx, eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x483e06
cmp eax, 0xfffffc1d
je 0x483e06
cmp eax, 0xfffffc20
jne 0x486591
add edi, 2
mov dword [esi + 0x70], edi
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ebx, dword [esp + 0x164]
mov esi, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edi, dword [esp + 0x16c]
inc edx
push edx
mov edx, dword [esp + 0x16c]
push eax
movzx eax, byte [ebx]
push esi
push ecx
movzx ecx, byte [eax + 0x4b4588]
push edi
push edx
add ecx, ebx
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
sub ebx, edx
mov dword [esi + 0x70], ebx
mov dword [esi + 0xa0], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
inc ecx
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push esi
push eax
movzx eax, byte [edi]
push ecx
movzx ecx, byte [eax + 0x4b4588]
push edx
movzx edx, byte [edi + 3]
add ecx, edi
add edx, ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
movzx eax, byte [edi + 1]
movzx ecx, byte [edi + 2]
shl eax, 8
or eax, ecx
mov edx, edi
sub edx, eax
add edi, 4
mov dword [esi + 0x70], edx
mov dword [esi + 0xa0], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x164]
movzx eax, byte [ecx + 3]
movzx ecx, byte [ecx + 4]
mov esi, dword [esp + 0x174]
shl eax, 8
or eax, ecx
lea edi, [eax + eax]
mov dword [esp + 0x24], eax
cmp edi, dword [esi + 0x14]
jge 0x48409e
mov eax, dword [esi + 0xc]
mov edx, dword [eax + edi*4]
mov ecx, dword [eax + edi*4 + 4]
mov ebx, dword [esp + 0x17c]
mov dword [esp + 0x30], edx
mov edx, dword [esi + 0x10]
sub edx, dword [esp + 0x24]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [esi + 0x84]
mov dword [esp + 0x10], ecx
mov ecx, ebp
sub ecx, dword [esi + 0x68]
mov dword [esp + 0x1c], edx
sar ecx, 1
mov dword [eax], ecx
inc ebx
cmp dword [esp + 0x28], 0x81
jl 0x483f99
mov dword [esi + 0x8c], 2
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push ebx
push edx
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x174]
push ecx
movzx ecx, byte [eax]
push edx
movzx edx, byte [ecx + 0x4b4588]
add edx, eax
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
cmp eax, 0xfffffc1c
je 0x484037
test eax, eax
je 0x484000
cmp eax, 0xfffffc20
jne 0x486591
mov ecx, dword [esp + 0x164]
cmp dword [esi + 0x70], ecx
jne 0x486591
jmp 0x484007
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x84], edx
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x164]
add ecx, edx
cmp byte [ecx], 0x71
mov dword [esp + 0x164], ecx
je 0x483f85
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x30]
mov dword [edx + edi*4], ecx
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x34]
mov dword [edx + edi*4 + 4], ecx
mov edx, dword [esi + 0x10]
sub edx, dword [esp + 0x24]
mov ecx, dword [esi + 0xc]
mov edi, dword [esp + 0x10]
mov dword [ecx + edx*4], edi
cmp eax, 0xfffffc20
je 0x48407a
cmp dword [esi + 0xa0], 0
jne 0x48407a
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
xor ecx, ecx
cmp eax, 0xfffffc1c
setne cl
lea eax, [ecx - 1]
and eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x174]
mov edi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x170]
inc edi
lea ecx, [ecx]
mov eax, dword [esp + 0x28]
cmp eax, 0x81
jge 0x4840c0
cmp eax, 0x7b
jne 0x4840ca
mov dword [esi + 0x8c], 2
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
push edi
push edx
push esi
push ebx
push eax
mov eax, dword [esp + 0x178]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x4b4588]
add ecx, eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x48411f
cmp eax, 0xfffffc20
jne 0x484176
mov ecx, dword [esp + 0x164]
cmp dword [esi + 0x70], ecx
jne 0x486591
jmp 0x484126
mov ecx, dword [esp + 0x164]
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x164]
add ecx, edx
cmp byte [ecx], 0x71
mov dword [esp + 0x164], ecx
je 0x4840b0
cmp eax, 0xfffffc20
je 0x484169
cmp dword [esi + 0xa0], 0
jne 0x484169
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp eax, 0xfffffc1c
jne 0x486591
mov ecx, dword [esp + 0x164]
mov dl, byte [ecx]
cmp dl, 0x7b
je 0x4841b7
cmp dl, 0x71
jne 0x4841a8
movzx edx, byte [ecx + 1]
movzx edi, byte [ecx + 2]
shl edx, 8
or edx, edi
add ecx, edx
cmp byte [ecx], 0x71
je 0x484194
movzx edx, byte [ecx + 1]
movzx edi, byte [ecx + 2]
shl edx, 8
or edx, edi
sub ecx, edx
cmp dword [esi + 0xa4], ecx
jne 0x486591
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x168]
cmp ebp, ecx
jne 0x484226
cmp ebx, 0x98
je 0x484226
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x98], edx
jne 0x48422d
cmp dword [eax + 0x54], edx
jne 0x48420c
cmp dword [eax + 0x58], edx
je 0x48422d
mov edx, dword [eax + 0x88]
mov esi, dword [eax + 0x68]
lea edx, [esi + edx*2]
cmp ecx, edx
jne 0x48422d
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov dword [eax + 0x74], ebp
mov dword [eax + 0x80], edx
mov dword [eax + 0x70], ecx
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
mov eax, ebx
neg eax
sbb eax, eax
and eax, 0xfffffc18
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esi + 0xa0], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esi + 0xa0], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xe0]
cmp eax, ecx
je 0x4842c3
push eax
call dword [0x4be35c]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x44]
mov dword [edi + 0x98], edx
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xe0]
cmp eax, ecx
je 0x4842f3
push eax
call dword [0x4be35c]
add esp, 4
mov edx, dword [esp + 0x16c]
mov dword [edi + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x168]
mov dword [esi + 0x74], ebp
mov dword [esi + 0x70], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x170]
mov dword [esi + 0x74], ebp
mov dword [esi + 0x80], ecx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
inc edi
push edi
push edx
mov edx, dword [esp + 0x1c]
push esi
push ebx
push eax
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov eax, dword [esp + 0x14]
mov dword [esi + 0xa4], eax
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
inc edi
push edi
push ecx
mov ecx, dword [esp + 0x1c]
push esi
push ebx
push edx
push eax
push ecx
push ebp
mov dword [esi + 0x8c], 2
call fcn.0047dde0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
inc edi
push edi
push edx
mov edx, dword [esp + 0x16c]
push esi
push eax
push ecx
push ebx
add edx, 3
jmp 0x48436a
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
inc ecx
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push esi
push ecx
mov ecx, dword [esp + 0x178]
push edx
push ecx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov dword [esi + 0xa4], edi
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x168]
mov dword [eax + 0x74], ebp
mov dword [eax + 0x80], edx
mov edx, dword [esp + 0x16c]
mov dword [eax + 0x70], ecx
mov dword [eax + 0xa0], edx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x16c]
mov dword [eax + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x16c]
mov dword [ebx + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], edx
je 0x48415c
cmp ebp, dword [esi + 0x78]
jbe 0x48415c
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x48415c
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [eax + 0x7c], edx
je 0x484490
cmp ebp, dword [eax + 0x78]
jbe 0x484490
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x484490
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edx + 0x7c], 0
je 0x47f5e2
cmp ebp, dword [edx + 0x78]
jbe 0x47f5e2
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jle 0x47f5e2
mov eax, dword [esp + 0x16c]
mov dword [edx + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edx + 0x7c], 0
je 0x47f570
cmp ebp, dword [edx + 0x78]
jbe 0x47f570
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jle 0x47f570
mov ecx, dword [esp + 0x16c]
mov dword [edx + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], 0
je 0x48415c
cmp ebp, dword [esi + 0x78]
jbe 0x48415c
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x48415c
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esp + 0x20], ebp
cmp edi, eax
jge 0x484665
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push ecx
push esi
mov edx, ebx
mov ecx, ebp
call fcn.0047dc50
add esp, 8
test eax, eax
js 0x48463e
inc edi
lea ebp, [ebp + eax*2]
cmp edi, dword [esp + 0x10]
jl 0x484617
jmp 0x48465f
cmp dword [ebx + 0x7c], 0
je 0x48465f
cmp ebp, dword [ebx + 0x6c]
jb 0x48465f
cmp ebp, dword [ebx + 0x78]
jbe 0x48465f
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jg 0x48471c
cmp ebp, dword [esp + 0x20]
jb 0x4846d5
mov esi, dword [esp + 0x17c]
mov edi, dword [esp + 0x16c]
inc esi
jmp 0x484680
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
push esi
push eax
mov eax, dword [esp + 0x16c]
push ebx
push ecx
push edi
push edx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov ecx, dword [esp + 0x14]
neg ecx
lea ebp, [ebp + ecx*2]
cmp ebp, dword [esp + 0x20]
jae 0x484680
mov dword [ebx + 0xa0], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edi, dword [esp + 0x16c]
mov dword [ebx + 0xa0], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [ebx + 0x7c], 0
je 0x4844aa
cmp ebp, dword [ebx + 0x6c]
jb 0x4844aa
cmp ebp, dword [ebx + 0x78]
jbe 0x4844aa
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jle 0x4844aa
mov edx, dword [esp + 0x16c]
mov dword [ebx + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x484490
cmp ebp, dword [eax + 0x78]
jbe 0x484490
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x484490
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x16c]
mov dword [eax + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x14]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x48480a
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
push edi
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
inc ebx
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x480210
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x174]
mov dword [edx + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [ecx + 0x7c], 0
je 0x484860
cmp ebp, dword [ecx + 0x78]
jbe 0x484860
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x484860
mov eax, dword [esp + 0x16c]
mov dword [ecx + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x16c]
mov dword [ecx + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esp + 0x20], ebp
mov edx, edi
cmp edi, esi
jge 0x48492d
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
mov edi, 1
cmp ebp, dword [esp + 0x18]
jae 0x48490f
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
cmp ecx, 0x3ff
ja 0x4848d8
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
mov ebx, dword [esp + 0x28]
ja 0x4848d8
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edi, 2
cmp eax, 0xff
jbe 0x4848e6
cmp ebx, 0x6a
je 0x48492d
jmp 0x484904
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x14]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x48492d
mov ebx, dword [esp + 0x28]
inc edx
lea ebp, [ebp + edi*2]
cmp edx, esi
jl 0x484896
jmp 0x48492d
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x48492d
cmp ebp, dword [eax + 0x78]
jbe 0x48492d
mov dword [eax + 0x5c], edi
cmp dword [eax + 0x7c], edi
jg 0x48451f
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ebx, dword [esp + 0x170]
mov edi, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
inc esi
push esi
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push edi
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x20]
je 0x480f0d
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x4849c7
mov edx, 0xdfff
cmp ax, dx
ja 0x4849c7
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x4849c7
mov edx, 0xdbff
cmp ax, dx
ja 0x4849c7
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x484994
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x168]
push esi
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push edi
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x484977
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x484490
cmp ebp, dword [eax + 0x78]
jbe 0x484490
mov dword [eax + 0x5c], 1
cmp dword [eax + 0x7c], 1
jle 0x484490
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov dword [esp + 0x20], ebp
cmp edi, esi
jge 0x484ae8
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x18], ecx
jmp 0x484a77
mov eax, dword [esp + 0x174]
mov edi, 1
cmp ebp, dword [esp + 0x18]
jae 0x484ad1
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
cmp edx, 0x3ff
ja 0x484ab5
movzx ecx, word [ebp + 2]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x484ab5
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edi, 2
push eax
mov eax, dword [esp + 0x18]
call fcn.00487b10
add esp, 4
test eax, eax
je 0x484ae8
inc ebx
lea ebp, [ebp + edi*2]
cmp ebx, esi
jl 0x484a70
jmp 0x484ae8
cmp dword [eax + 0x7c], 0
je 0x484ae8
cmp ebp, dword [eax + 0x78]
jbe 0x484ae8
mov dword [eax + 0x5c], edi
cmp dword [eax + 0x7c], edi
jg 0x48451f
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push edi
push eax
push ecx
push edx
push ebx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x20]
je 0x484bc2
movzx eax, word [ebp]
mov ecx, 0xdc00
cmp ax, cx
jb 0x484b83
nop
mov edx, 0xdfff
cmp ax, dx
ja 0x484b83
movzx eax, word [ebp - 2]
mov ecx, 0xd800
cmp ax, cx
jb 0x484b83
mov edx, 0xdbff
cmp ax, dx
ja 0x484b83
movzx eax, word [ebp - 2]
add ebp, 0xfffffffe
mov ecx, 0xdc00
cmp ax, cx
jae 0x484b50
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push edx
mov edx, dword [esp + 0x170]
push edi
push eax
push ecx
push edx
push ebx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x484b32
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x16c]
mov dword [edi + 0xa0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], edx
je 0x47f84b
cmp ebp, dword [esi + 0x78]
jbe 0x47f84b
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47f84b
mov ecx, dword [esp + 0x16c]
mov dword [esi + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x7c], 0
je 0x480279
cmp ebp, dword [ecx + 0x6c]
jb 0x480279
cmp ebp, dword [ecx + 0x78]
jbe 0x480279
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x480279
mov edx, dword [esp + 0x16c]
mov dword [ecx + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov ebx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
inc eax
push eax
push ecx
mov ecx, dword [esp + 0x170]
push ebx
push edx
mov edx, dword [esp + 0x174]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x17c]
push eax
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x18], eax
jge 0x47effa
mov edx, dword [esp + 0x14]
mov esi, dword [ebx + 0x6c]
add edx, edx
mov ecx, esi
sub ecx, edx
cmp ebp, ecx
ja 0x484d44
mov eax, dword [esp + 0x14]
add eax, eax
lea ecx, [esp + 0x40]
mov edi, ebp
cmp eax, 4
jb 0x484d0b
jmp 0x484cf0
mov ebx, dword [edi]
cmp ebx, dword [ecx]
jne 0x484d3d
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x484cf0
mov ebx, dword [esp + 0x174]
test eax, eax
je 0x484d36
mov bl, byte [ecx]
cmp bl, byte [edi]
jne 0x484d3d
cmp eax, 1
jbe 0x484d2f
mov bl, byte [ecx + 1]
cmp bl, byte [edi + 1]
jne 0x484d3d
cmp eax, 2
jbe 0x484d2f
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x484d3d
mov ebx, dword [esp + 0x174]
add ebp, edx
jmp 0x484dc0
mov ebx, dword [esp + 0x174]
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x4846ef
lea eax, [ecx + ecx]
sub esi, eax
cmp ebp, esi
ja 0x4846ef
lea eax, [ecx + ecx]
lea ecx, [esp + 0x98]
mov edi, ebp
cmp eax, 4
jb 0x484d88
mov edi, edi
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x4846ef
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x484d70
test eax, eax
je 0x484db8
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x4846ef
cmp eax, 1
jbe 0x484db8
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x4846ef
cmp eax, 2
jbe 0x484db8
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x4846ef
mov eax, dword [esp + 0x28]
lea ebp, [ebp + eax*2]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x170]
inc dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push ebx
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x484cbb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x1c]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push edi
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
cmp ebx, dword [esp + 0x10]
jge 0x4842f3
cmp ebp, dword [edi + 0x6c]
jae 0x484f06
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x484ea3
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x484ea3
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
cmp eax, 0xff
ja 0x4842f3
mov ecx, dword [edi + 0x30]
movzx edx, byte [eax + ecx]
cmp dword [esp + 0x14], edx
jne 0x4842f3
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
push esi
push eax
mov eax, dword [esp + 0x170]
push edi
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
inc ebx
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x484e5c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edi + 0x7c], 0
je 0x484f3b
cmp ebp, dword [edi + 0x78]
jbe 0x484f3b
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x484f3b
mov eax, dword [esp + 0x16c]
mov dword [edi + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x16c]
mov dword [edi + 0xa0], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edx + 0x7c], 0
je 0x47f570
cmp ebp, dword [edx + 0x78]
jbe 0x47f570
mov dword [edx + 0x5c], 1
cmp dword [edx + 0x7c], 1
jle 0x47f570
mov ecx, dword [esp + 0x16c]
mov dword [edx + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push edi
push ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x17c]
push edx
push eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x18], edx
jge 0x484bc2
cmp ebp, dword [edi + 0x6c]
jae 0x485050
movzx eax, word [ebp]
add ebp, 2
cmp ebx, eax
mov eax, dword [esp + 0x16c]
jne 0x484bc9
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
inc dword [esp + 0x18]
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edi
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x484fe8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edi + 0x7c], 0
je 0x4842f3
cmp ebp, dword [edi + 0x78]
jbe 0x4842f3
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x4842f3
mov ecx, dword [esp + 0x16c]
mov dword [edi + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], 0
je 0x48415c
cmp ebp, dword [esi + 0x78]
jbe 0x48415c
mov dword [esi + 0x5c], 1
cmp dword [esi + 0x7c], 1
jle 0x48415c
mov edx, dword [esp + 0x16c]
mov dword [esi + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
inc esi
push esi
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
lea esp, [esp]
mov ecx, dword [esp + 0x174]
cmp ebx, edi
jge 0x480279
cmp ebp, dword [ecx + 0x6c]
jae 0x4853c3
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485173
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48516c
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x174]
cmp eax, 0x100
jae 0x485181
mov edx, dword [ecx + 0x30]
movzx eax, byte [eax + edx]
cmp dword [esp + 0x14], eax
je 0x484860
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push ebp
inc ebx
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x485120
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov ebx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push ebx
push eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x17c]
push ecx
push edx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
cmp dword [esp + 0x18], edi
jge 0x4852be
cmp ebp, dword [ebx + 0x6c]
jae 0x4852d8
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x48526e
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48526e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov edx, dword [esp + 0x16c]
cmp dword [esp + 0x14], eax
je 0x4852c5
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
inc dword [esp + 0x18]
push esi
push eax
mov eax, dword [esp + 0x170]
push ebx
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x485227
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x16c]
mov dword [ebx + 0xa0], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [ebx + 0x7c], 0
je 0x47effa
cmp ebp, dword [ebx + 0x78]
jbe 0x47effa
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jle 0x47effa
mov eax, dword [esp + 0x16c]
mov dword [ebx + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov dword [eax + 0xa0], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esi + 0x7c], 0
je 0x47f15a
cmp ebp, dword [esi + 0x78]
jbe 0x47f15a
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47f15a
mov eax, dword [esp + 0x16c]
mov dword [esi + 0xa0], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
cmp dword [eax + 0x7c], 0
je 0x48420c
cmp ebp, dword [eax + 0x78]
jbe 0x48420c
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x48420c
mov edx, dword [esp + 0x16c]
mov dword [eax + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
cmp dword [ecx + 0x7c], 0
je 0x480279
cmp ebp, dword [ecx + 0x78]
jbe 0x480279
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x480279
mov edx, dword [esp + 0x16c]
mov dword [ecx + 0xa0], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
jmp 0x48482b
cmp dword [esi + 0x7c], 0
je 0x47f84b
cmp ebp, dword [esi + 0x78]
jbe 0x47f84b
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47f84b
mov ecx, dword [esp + 0x16c]
mov dword [esi + 0xa0], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
test eax, eax
js 0x485f64
cmp eax, 8
ja case.default.0x47fb49
jmp dword [eax*4 + 0x486898]
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
jmp 0x4854c0
cmp edi, dword [esp + 0x10]
jge 0x48101d
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x485543
movzx eax, word [ebp]
add eax, 0xffff2800
add ebp, 2
cmp eax, 0x3ff
ja 0x4854fc
movzx eax, word [ebp]
add eax, 0xffff2400
cmp eax, 0x3ff
ja 0x4854fc
add ebp, 2
cmp dword [esp + 0x2c], 0
jne 0x48582e
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x4854c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [ecx + 0x7c], 0
je 0x48582e
cmp ebp, dword [ecx + 0x78]
jbe 0x48582e
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x48582e
mov dword [ecx + 0xa0], ebx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
jmp 0x4855d0
cmp edi, dword [esp + 0x10]
jge 0x4856b2
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x485543
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485625
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48561e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x174]
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a6a88]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx eax, byte [eax*8 + 0x4a59a9]
cmp eax, 9
je 0x48565c
cmp eax, 5
je 0x48565c
cmp eax, 8
je 0x48565c
xor eax, eax
jmp 0x485661
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48582e
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x4855d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, dword [esp + 0x174]
mov dword [eax + 0xa0], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
lea ebx, [ebx]
mov eax, dword [esp + 0x174]
cmp edi, dword [esp + 0x10]
jge 0x4856b9
cmp ebp, dword [eax + 0x6c]
jae 0x4857ef
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x48576a
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48576a
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
mov eax, dword [esp + 0x38]
xor edx, edx
cmp dword [ecx*4 + 0x4b46b0], eax
sete dl
cmp edx, dword [esp + 0x2c]
je 0x485827
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x485720
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [eax + 0x7c], 0
je 0x4856b9
cmp ebp, dword [eax + 0x78]
jbe 0x4856b9
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x4856b9
mov dword [eax + 0xa0], ebx
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0xa0], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
nop
cmp edi, dword [esp + 0x10]
jge 0x48101d
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x4857ef
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4858de
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x4858de
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je 0x4856b2
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x485890
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
lea ebx, [ebx]
cmp edi, dword [esp + 0x10]
jge 0x48101d
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x4857ef
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x4859fe
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x4859fe
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a8]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je 0x4856b2
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x4859b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
lea ebx, [ebx]
cmp edi, dword [esp + 0x10]
jge 0x48101d
mov ecx, dword [esp + 0x174]
cmp ebp, dword [ecx + 0x6c]
jae 0x485543
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485b25
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x485b1e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x174]
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a6a88]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a8c88]
movzx edx, byte [eax*8 + 0x4a59a9]
mov eax, dword [edx*4 + 0x4b46b0]
cmp eax, 1
je 0x485b5e
cmp eax, 3
je 0x485b5e
xor eax, eax
jmp 0x485b63
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48582e
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x485ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
cmp edi, dword [esp + 0x10]
jge 0x485827
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x4857ef
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485c50
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x485c50
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4a8c88]
movzx ecx, byte [edx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 6
je 0x485c98
cmp eax, 9
je 0x485c98
cmp eax, 0xa
je 0x485c98
cmp eax, 0xc
je 0x485c98
cmp eax, 0xd
je 0x485c98
xor eax, eax
jmp 0x485c9d
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48101d
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x485c02
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
lea esp, [esp]
cmp edi, dword [esp + 0x10]
jge 0x485827
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x4857ef
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485d8e
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x485d8e
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4a8c88]
movzx ecx, byte [edx*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 6
je 0x485ddb
cmp eax, 9
je 0x485ddb
cmp eax, 0xa
je 0x485ddb
cmp eax, 0xb
je 0x485ddb
cmp eax, 0xc
je 0x485ddb
cmp eax, 0xd
je 0x485ddb
xor eax, eax
jmp 0x485de0
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48101d
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x485d40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
nop
cmp edi, dword [esp + 0x10]
jge 0x485827
mov eax, dword [esp + 0x174]
cmp ebp, dword [eax + 0x6c]
jae 0x4857ef
movzx eax, word [ebp]
lea edx, [eax - 0xd800]
add ebp, 2
cmp edx, 0x3ff
ja 0x485ece
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x485ece
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6a88]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4a8c88]
movzx ecx, byte [edx*8 + 0x4a59a9]
mov ecx, dword [ecx*4 + 0x4b46b0]
cmp ecx, 1
je 0x485f0e
cmp ecx, 3
je 0x485f0e
cmp eax, 0x5f
je 0x485f0e
xor eax, eax
jmp 0x485f13
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48101d
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x485e80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [esp + 0x14], 0x16
jne 0x486148
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
mov edi, dword [esp + 0x1c]
inc esi
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
cmp edi, dword [esp + 0x10]
jge 0x485827
mov edx, dword [esp + 0x174]
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x18], eax
cmp ebp, eax
jae 0x48610e
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x486011
movzx ecx, word [ebp]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x486011
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
je 0x47f570
cmp ebp, dword [esp + 0x18]
jae 0x4860c0
lea ecx, [ecx]
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
mov edx, 1
cmp ecx, 0x3ff
ja 0x486088
movzx ecx, word [ebp + 2]
lea ebx, [ecx - 0xdc00]
cmp ebx, 0x3ff
ja 0x486088
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6a88]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4a8c88]
movzx ecx, byte [eax*8 + 0x4a59a9]
cmp dword [ecx*4 + 0x4b46b0], 2
jne 0x4860c0
lea ebp, [ebp + edx*2]
cmp ebp, dword [esp + 0x18]
jb 0x486050
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov ebx, dword [esp + 0x16c]
push esi
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
inc edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x485fbd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edx + 0x7c], 0
je 0x481024
cmp ebp, dword [edx + 0x78]
jbe 0x481024
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jle 0x481024
mov dword [edx + 0xa0], ebx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ebx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov esi, dword [esp + 0x16c]
inc ebx
push ebx
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push esi
push ecx
push edx
push ebp
mov dword [esp + 0x38], edi
call fcn.0047dde0
add esp, 0x20
test eax, eax
jne 0x486591
mov edi, dword [esp + 0x174]
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x10]
jge 0x4862c3
cmp ebp, dword [edi + 0x6c]
jae 0x4864f9
cmp dword [esp + 0x14], 0xc
jne 0x486226
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4861ed
mov ecx, dword [esp + 0x174]
push 1
push eax
mov eax, dword [ecx + 0x6c]
lea edi, [ecx + 0x1c]
mov ecx, ebp
call fcn.004878a0
add esp, 8
test eax, eax
jne 0x486533
mov edi, dword [esp + 0x174]
jmp 0x486226
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x6c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x486226
movzx ecx, byte [edi + 0x2c]
cmp word [ebp], cx
jne 0x486226
cmp eax, 1
je 0x486533
mov edx, dword [esp + 0x174]
movzx eax, byte [edx + 0x2d]
cmp word [ebp + 2], ax
je 0x486533
mov edi, edx
movzx eax, word [ebp]
lea ecx, [eax - 0xd800]
add ebp, 2
cmp ecx, 0x3ff
ja 0x48625a
movzx ecx, word [ebp]
lea edx, [ecx - 0xdc00]
cmp edx, 0x3ff
ja 0x48625a
add eax, 0xffff2809
shl eax, 0xa
add eax, ecx
add ebp, 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x47fb49
jmp dword [ecx*4 + 0x4868bc]
cmp eax, 0xd
ja 0x4862a4
je 0x486288
cmp eax, 0xa
je case.0x48626a.12
jbe 0x4862c3
cmp eax, 0xc
jmp 0x4862b7
cmp ebp, dword [edi + 0x6c]
jae case.0x48626a.12
cmp word [ebp], 0xa
jne case.0x48626a.12
add ebp, 2
jmp case.0x48626a.12
cmp eax, 0x85
je 0x4862b9
cmp eax, 0x2027
jbe 0x4862c3
cmp eax, 0x2029
ja 0x4862c3
cmp dword [edi + 0x60], 0
je case.0x48626a.12
mov dword [edi + 0xa0], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp eax, 0x180e
ja 0x4862ff
je 0x4862c3
cmp eax, 0xa0
ja 0x4862f5
je 0x4862c3
cmp eax, 9
je 0x4862c3
cmp eax, 0x20
jmp 0x4864b0
cmp eax, 0x1680
jmp 0x4864b0
cmp eax, 0x205f
ja 0x486324
je 0x4862c3
cmp eax, 0x2000
jb case.0x48626a.12
cmp eax, 0x200a
jbe 0x4862c3
cmp eax, 0x202f
jmp 0x4864b0
cmp eax, 0x3000
jmp 0x4864b0
cmp eax, 0x180e
ja 0x48636f
je case.0x48626a.12
cmp eax, 0xa0
ja 0x48635f
je case.0x48626a.12
cmp eax, 9
je case.0x48626a.12
cmp eax, 0x20
jne 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x1680
jne 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x205f
ja 0x4863a2
je case.0x48626a.12
cmp eax, 0x2000
jb 0x4862c3
cmp eax, 0x200a
jbe case.0x48626a.12
cmp eax, 0x202f
jne 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x3000
jne 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x85
ja 0x4863d6
je 0x4862c3
cmp eax, 0xa
jb case.0x48626a.12
cmp eax, 0xd
jbe 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x2028
jb case.0x48626a.12
cmp eax, 0x2029
jbe 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x85
ja 0x486415
je case.0x48626a.12
cmp eax, 0xa
jb 0x4862c3
cmp eax, 0xd
ja 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x2028
jb 0x4862c3
cmp eax, 0x2029
ja 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x100
jae case.0x48626a.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x100
jae 0x4862c3
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
jmp 0x4864b0
cmp eax, 0x100
jae case.0x48626a.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x100
jae 0x4862c3
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
jmp 0x4864b0
cmp eax, 0x100
jae case.0x48626a.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x4862c3
jmp case.0x48626a.12
cmp eax, 0x100
jae 0x4862c3
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x4862c3
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
inc dword [esp + 0x18]
push ebx
push eax
mov eax, dword [esp + 0x16c]
push edi
push ecx
push esi
push edx
push eax
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x48619d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
cmp dword [edi + 0x7c], 0
je 0x4862c3
cmp ebp, dword [edi + 0x78]
jbe 0x4862c3
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x4862c3
mov dword [edi + 0xa0], esi
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0xa0], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x16c]
push esi
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push ecx
push edi
push edx
push ebp
call fcn.0047dde0
add esp, 0x20
test eax, eax
je 0x482ebe
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14c
ret