Function at 0x479b40
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x144
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x44]
push ebx
push ebp
mov dword [esp + 0x1c], ecx
mov ecx, dword [eax]
push esi
push edi
cmp ecx, dword [eax + 4]
jae 0x4803ac
mov edi, dword [esp + 0x158]
mov edx, dword [esp + 0x17c]
inc ecx
mov dword [eax], ecx
cmp edx, dword [eax + 8]
jae 0x4803be
test byte [esp + 0x178], 2
mov eax, dword [esp + 0x170]
mov dword [esp + 0x3c], eax
je 0x479bb6
mov ecx, dword [esp + 0x174]
lea edx, [esp + 0x68]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x174], edx
mov ebx, dword [esp + 0x15c]
mov cl, byte [ebx]
movzx eax, cl
xor ebp, ebp
mov edx, eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], edx
cmp edx, 0x76
ja case.0x479be2.70
movzx esi, byte [edx + 0x4837f4]
jmp dword [esi*4 + 0x4836bc]
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl esi, 8
or esi, eax
cmp byte [ebx + 3], 0x53
jne 0x479ce5
mov ecx, dword [0x4c3104]
cmp ecx, ebp
mov ebp, dword [esp + 0x16c]
je 0x479cd9
mov dword [esp + 0xa4], 1
movzx edx, byte [ebx + 4]
mov dword [esp + 0xa8], edx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xac], eax
mov edx, dword [ebp + 0x68]
mov dword [esp + 0xb0], edx
mov eax, dword [ebp + 0x6c]
sub eax, dword [ebp + 0x68]
mov edx, dword [esp + 0x160]
mov dword [esp + 0xb4], eax
sub edx, dword [ebp + 0x68]
mov eax, edi
mov dword [esp + 0xb8], edx
sub eax, dword [ebp + 0x68]
mov dword [esp + 0xbc], eax
movzx edx, byte [ebx + 5]
movzx eax, byte [ebx + 6]
shl edx, 8
or edx, eax
mov dword [esp + 0xcc], edx
movzx edx, byte [ebx + 7]
movzx eax, byte [ebx + 8]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0xd0], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xc0], eax
mov edx, dword [ebp + 0x84]
mov dword [esp + 0xc4], edx
mov eax, dword [ebp + 0x98]
lea edx, [esp + 0xa4]
push edx
mov dword [esp + 0xcc], eax
call ecx
add esp, 4
test eax, eax
jg 0x47e1b6
js 0x4836b0
add ebx, 0xa
mov dword [esp + 0x15c], ebx
jmp 0x479cec
mov ebp, dword [esp + 0x16c]
movzx ecx, byte [ebx + 3]
lea eax, [ebx + 3]
cmp ecx, 0x66
je 0x479f2c
cmp ecx, 0x67
je 0x479f2c
cmp ecx, 0x64
je 0x479d7f
cmp ecx, 0x65
je 0x479d7f
cmp ecx, 0x68
jne 0x479d28
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
jmp 0x47a0e7
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x170]
inc edx
push edx
mov edx, dword [esp + 0x16c]
push 1
push 0
push ecx
mov ecx, dword [esp + 0x174]
push ebp
push edx
mov edx, dword [esp + 0x178]
push ecx
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
cmp eax, 1
je 0x47ff16
test eax, eax
je 0x479d78
cmp eax, 0xfffffc1e
jne 0x4836b0
add ebx, esi
jmp 0x47a0e7
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [esp + 0x168]
jge 0x479da4
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jge 0x479f18
mov dword [esp + 0x2c], 0
cmp ecx, 0x65
jne 0x479eef
mov esi, dword [ebp + 0x28]
xor ecx, ecx
sar eax, 1
mov dword [esp + 0x20], ecx
cmp ecx, dword [ebp + 0x20]
jge 0x479eef
lea esp, [esp]
movzx edx, byte [esi]
movzx ebx, byte [esi + 1]
shl edx, 8
or edx, ebx
cmp edx, eax
je 0x479de9
add esi, dword [ebp + 0x24]
inc ecx
cmp ecx, dword [ebp + 0x20]
jl 0x479dd0
mov dword [esp + 0x20], ecx
cmp ecx, dword [ebp + 0x20]
jge 0x479eef
mov ebx, esi
cmp esi, dword [ebp + 0x28]
jbe 0x479e6a
lea ecx, [ecx]
sub ebx, dword [ebp + 0x24]
lea eax, [esi + 2]
lea ecx, [ebx + 2]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x479e30
test dl, dl
je 0x479e2c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x479e30
add eax, 2
add ecx, 2
test dl, dl
jne 0x479e10
xor eax, eax
jmp 0x479e35
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x479e6a
movzx eax, byte [ebx]
movzx ecx, byte [ebx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x168]
jge 0x479e5d
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jge 0x479f11
mov dword [esp + 0x2c], 0
cmp ebx, dword [ebp + 0x28]
ja 0x479e00
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [ebp + 0x20]
jge 0x479eef
mov ebx, dword [ebp + 0x24]
lea eax, [esi + 2]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add esi, ebx
lea ecx, [esi + 2]
jmp 0x479e90
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x479eb0
test dl, dl
je 0x479eac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x479eb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x479e90
xor eax, eax
jmp 0x479eb5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x479eef
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [esp + 0x168]
jge 0x479ed9
mov edx, dword [ebp + 0xc]
cmp dword [edx + eax*4], 0
jge 0x479f11
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], eax
cmp eax, dword [ebp + 0x20]
jl 0x479e82
mov ecx, dword [esp + 0x15c]
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
mov ebx, dword [esp + 0x15c]
shl eax, 8
or eax, ecx
add ebx, eax
jmp 0x47a0dc
mov ebx, dword [esp + 0x15c]
mov eax, 3
mov dword [esp + 0x2c], 1
add ebx, eax
jmp 0x47a0dc
cmp dword [ebp + 0x94], 0
jne 0x479f49
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
jmp 0x47a0e7
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
cmp eax, 0xffff
je 0x47a000
mov edx, dword [ebp + 0x94]
mov edx, dword [edx + 0x14]
mov dword [esp + 0x38], edx
cmp eax, edx
je 0x47a000
mov dword [esp + 0x2c], 0
cmp ecx, 0x67
jne 0x47a0c1
mov ebx, dword [ebp + 0x28]
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp ecx, dword [ebp + 0x20]
jge 0x47a0ba
lea esp, [esp]
movzx esi, byte [ebx]
movzx edx, byte [ebx + 1]
shl esi, 8
or edx, esi
cmp edx, eax
je 0x479fb9
add ebx, dword [ebp + 0x24]
inc ecx
cmp ecx, dword [ebp + 0x20]
jl 0x479fa0
mov dword [esp + 0x20], ecx
cmp ecx, dword [ebp + 0x20]
jge 0x47a0ba
mov esi, ebx
cmp ebx, dword [ebp + 0x28]
jbe 0x47a03f
lea ecx, [ecx]
sub esi, dword [ebp + 0x24]
lea eax, [ebx + 2]
lea ecx, [esi + 2]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47a012
test dl, dl
je 0x479ffc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47a012
add eax, 2
add ecx, 2
test dl, dl
jne 0x479fe0
xor eax, eax
jmp 0x47a017
mov dword [esp + 0x2c], 1
mov eax, 3
jmp 0x47a0ce
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47a03f
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
xor edx, edx
cmp eax, dword [esp + 0x38]
sete dl
mov eax, edx
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x47a008
cmp esi, dword [ebp + 0x28]
ja 0x479fd0
mov eax, dword [esp + 0x20]
inc eax
mov esi, ebx
mov dword [esp + 0x20], eax
cmp eax, dword [ebp + 0x20]
jge 0x47a0ba
nop
add esi, dword [ebp + 0x24]
lea eax, [ebx + 2]
lea ecx, [esi + 2]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x47a080
test dl, dl
je 0x47a07c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x47a080
add eax, 2
add ecx, 2
test dl, dl
jne 0x47a060
xor eax, eax
jmp 0x47a085
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47a0ba
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
xor edx, edx
cmp eax, dword [esp + 0x38]
sete dl
mov eax, edx
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x47a008
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [ebp + 0x20]
jl 0x47a050
mov ebx, dword [esp + 0x15c]
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add dword [esp + 0x15c], eax
mov ebx, dword [esp + 0x15c]
cmp dword [esp + 0x2c], 0
jne 0x47ff57
cmp byte [ebx], 0x54
je 0x47ff57
add ebx, 3
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
mov esi, dword [esp + 0x16c]
shl eax, 8
or eax, edx
lea ecx, [eax + eax]
mov dword [esi + 0x84], eax
cmp ecx, dword [esi + 0x14]
jl 0x47a137
add ebx, 3
mov dword [esi + 0x38], 1
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov ebp, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
sub ebp, eax
mov eax, dword [edx + ebp*4]
mov dword [edx + ecx*4], eax
mov eax, dword [esi + 0xc]
mov edx, edi
sub edx, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
cmp dword [esp + 0x168], ecx
jg 0x47a164
add ecx, 2
mov dword [esp + 0x168], ecx
add ebx, 3
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x94], ebp
je 0x480848
mov esi, dword [eax + 0x94]
cmp dword [esi + 0x14], ebp
jne 0x480848
mov ecx, dword [esi]
mov dword [eax + 0x94], ecx
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
add edx, edx
add edx, edx
push edx
mov edx, dword [eax + 0xc]
push ecx
push edx
call fcn.00486da0
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x48]
mov edx, dword [esi + 4]
add esp, 0xc
mov dword [esp + 0x168], eax
mov dword [esp + 0x170], ecx
mov dword [esp + 0x15c], edx
jmp 0x479bb6
movzx eax, byte [ebx + 1]
add ebx, 2
mov dword [esp + 0x170], eax
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x17c]
mov ebp, dword [esp + 0x16c]
mov ebx, dword [esp + 0x160]
inc esi
lea esp, [esp]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
push esi
push 0
push 0
push ecx
mov ecx, dword [esp + 0x16c]
push ebp
push edx
push eax
push ebx
add ecx, 3
push ecx
push edi
call fcn.00479b40
add esp, 0x28
cmp eax, 1
je 0x47a282
cmp eax, 0xfffffc19
je 0x47a282
test eax, eax
je 0x47a25e
cmp eax, 0xfffffc1e
jne 0x4836b0
mov eax, dword [esp + 0x15c]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x54
mov dword [esp + 0x15c], eax
je 0x47a210
jmp 0x47a293
mov edx, dword [ebp + 0x70]
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x160], edx
cmp byte [eax], 0x55
je 0x4808bb
test byte [esp + 0x178], 1
jne 0x480b0c
lea ebx, [ebx]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x47a2b0
add eax, 3
mov dword [esp + 0x15c], eax
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x168], eax
jmp 0x479bb6
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
inc esi
jmp 0x47a300
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x160]
push esi
push 0
push 0
push ecx
mov ecx, dword [esp + 0x16c]
push ebx
push edx
push ebp
push eax
add ecx, 3
push ecx
push edi
call fcn.00479b40
add esp, 0x28
cmp eax, 1
je 0x47c9bc
cmp eax, 0xfffffc19
je 0x47c9bc
cmp eax, 0xfffffc1c
je 0x47a393
cmp eax, 0xfffffc1b
je 0x47a393
cmp eax, 0xfffffc1a
je 0x47a393
test eax, eax
je 0x47a36b
cmp eax, 0xfffffc1e
jne 0x4836b0
mov eax, dword [esp + 0x15c]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x54
mov dword [esp + 0x15c], eax
je 0x47a300
jmp 0x47a3b4
mov eax, dword [esp + 0x15c]
lea ebx, [ebx]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x54
je 0x47a3a0
test byte [esp + 0x178], 1
jne 0x480b0c
add eax, 3
mov dword [esp + 0x15c], eax
jmp 0x479bb6
movzx eax, byte [ebx + 1]
mov esi, dword [esp + 0x16c]
shl eax, 8
cmp dword [esp + 0x24], ebp
je 0x47a416
movzx edx, byte [ebx + 2]
or eax, edx
jle 0x47a427
mov ecx, dword [esi + 0x68]
dec edi
dec eax
cmp edi, ecx
jb case.0x47e252.14
mov dl, byte [edi]
and dl, 0xc0
cmp dl, 0x80
jne 0x47a410
mov dl, byte [edi - 1]
dec edi
and dl, 0xc0
cmp dl, 0x80
je 0x47a404
test eax, eax
jg 0x47a3f0
jmp 0x47a427
movzx ecx, byte [ebx + 2]
or eax, ecx
sub edi, eax
cmp edi, dword [esi + 0x68]
jb 0x47b692
cmp edi, dword [esi + 0x78]
jae 0x47a42f
mov dword [esi + 0x78], edi
add ebx, 3
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov ecx, dword [0x4c3104]
cmp ecx, ebp
je 0x47a512
mov esi, dword [esp + 0x16c]
mov dword [esp + 0x70], 1
movzx edx, byte [ebx + 1]
mov dword [esp + 0x74], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x78], eax
mov edx, dword [esi + 0x68]
mov dword [esp + 0x7c], edx
mov eax, dword [esi + 0x6c]
sub eax, dword [esi + 0x68]
mov edx, dword [esp + 0x160]
mov dword [esp + 0x80], eax
sub edx, dword [esi + 0x68]
mov eax, edi
mov dword [esp + 0x84], edx
sub eax, dword [esi + 0x68]
mov dword [esp + 0x88], eax
movzx edx, byte [ebx + 6]
movzx eax, byte [ebx + 7]
shl edx, 8
or edx, eax
mov dword [esp + 0x98], edx
movzx edx, byte [ebx + 8]
movzx eax, byte [ebx + 9]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x9c], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x8c], eax
mov edx, dword [esi + 0x84]
mov dword [esp + 0x90], edx
mov eax, dword [esi + 0x98]
mov dword [esp + 0x94], eax
mov edx, dword [ebx + 2]
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0xa4], edx
call ecx
add esp, 4
test eax, eax
jg 0x47aa15
js 0x4836b0
add ebx, 0xa
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x17c]
mov ebp, dword [esp + 0x16c]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x160]
mov dword [esp + 0x34], edi
inc esi
nop
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x168]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x16c]
push ebp
push eax
push ecx
push ebx
add edx, 3
push edx
push edi
call fcn.00479b40
add esp, 0x28
cmp eax, 1
je 0x47a5b1
test eax, eax
je 0x47a58d
cmp eax, 0xfffffc1e
jne 0x4836b0
mov ecx, dword [esp + 0x15c]
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
cmp byte [ecx], 0x54
mov dword [esp + 0x15c], ecx
je 0x47a540
jmp 0x47a5c2
mov ebx, dword [ebp + 0x70]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x160], ebx
mov al, byte [ecx]
cmp al, 0x5d
je 0x47a5d0
cmp al, 0x54
jne 0x47ff09
movzx eax, byte [ecx + 1]
movzx edx, byte [ecx + 2]
shl eax, 8
or eax, edx
add ecx, eax
cmp byte [ecx], 0x54
je 0x47a5d0
cmp byte [ecx], 0x55
mov eax, dword [ebp + 0x80]
mov edi, dword [ebp + 0x74]
mov dword [esp + 0x168], eax
je 0x47a603
cmp edi, dword [esp + 0x34]
jne 0x48020c
add ecx, 3
mov dword [esp + 0x15c], ecx
jmp 0x479bb6
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je case.0x479be2.84
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
inc edx
push edx
mov edx, dword [esp + 0x170]
push 0
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
lea esi, [ebx + 1]
push esi
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
add esi, eax
cmp byte [esi], 0x54
je 0x47a682
add esi, 3
mov dword [esp + 0x15c], esi
jmp 0x479bb6
lea esi, [ebx + 1]
mov eax, esi
lea ebx, [ebx]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x54
je 0x47a6b0
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
inc edx
push edx
mov edx, dword [esp + 0x174]
push 0
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 edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov dword [esp + 0x15c], esi
jmp 0x479bb6
lea eax, [ebx + 1]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x47a723
add eax, 3
mov dword [esp + 0x15c], eax
jmp 0x479bb6
mov ebx, dword [esp + 0x15c]
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
sub ebx, eax
mov al, byte [ebx]
cmp al, 0x61
jb 0x47a77b
mov ecx, dword [esp + 0x174]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x34], edx
mov dword [esp + 0x174], ecx
jmp 0x47a77f
mov dword [esp + 0x34], ebp
cmp al, 0x58
je 0x480b61
cmp al, 0x59
je 0x480b61
cmp al, 0x5a
je 0x480b61
cmp al, 0x5b
je 0x480b61
cmp al, 0x5d
je 0x480b61
cmp al, 0x5f
je 0x47a7b3
cmp al, 0x62
jne 0x47a863
movzx eax, byte [ebx + 3]
movzx edx, byte [ebx + 4]
mov ebp, dword [esp + 0x16c]
shl eax, 8
or eax, edx
lea ecx, [eax + eax]
mov dword [ebp + 0x84], eax
cmp ecx, dword [ebp + 0x14]
jl 0x47a7de
mov dword [ebp + 0x38], 1
jmp 0x47a80b
mov esi, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
sub esi, eax
mov esi, dword [edx + esi*4]
mov dword [edx + ecx*4], esi
mov esi, dword [ebp + 0xc]
mov edx, edi
sub edx, dword [ebp + 0x68]
mov dword [esi + ecx*4 + 4], edx
cmp dword [esp + 0x168], ecx
jg 0x47a80b
add ecx, 2
mov dword [esp + 0x168], ecx
cmp dword [ebp + 0x94], 0
je 0x47a86a
mov esi, dword [ebp + 0x94]
cmp dword [esi + 0x14], eax
jne 0x47a86a
mov eax, dword [esi]
mov dword [ebp + 0x94], eax
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
mov eax, dword [ebp + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00489760
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x48]
add esp, 0xc
mov dword [esp + 0x168], ecx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x170], eax
jmp 0x479bb6
mov ebp, dword [esp + 0x16c]
mov edx, dword [esp + 0x15c]
cmp byte [edx], 0x55
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x170], ecx
je 0x47a88b
cmp edi, dword [esp + 0x34]
jne 0x4802ba
add dword [esp + 0x15c], 3
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp dword [esi + 0x3c], ebp
je 0x47a8ad
cmp edi, dword [esi + 0x68]
je case.0x47e252.14
test byte [esp + 0x170], 2
je 0x47a955
mov ecx, dword [esi + 0x68]
cmp edi, ecx
je 0x47a941
cmp edi, dword [esi + 0x6c]
je 0x47b692
mov eax, dword [esi + 0x18]
cmp eax, ebp
je 0x47a911
cmp edi, ecx
jbe 0x47b692
mov edx, dword [esi + 0x68]
mov ebx, dword [esp + 0x24]
lea ecx, [esi + 0x1c]
push ecx
push edx
push eax
mov eax, edi
call fcn.00484c90
add esp, 0xc
test eax, eax
je 0x47b692
mov ebx, dword [esp + 0x15c]
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov eax, ecx
add eax, dword [esi + 0x1c]
cmp edi, eax
jb 0x47b692
mov ecx, dword [esi + 0x1c]
mov eax, edi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [esi + 0x2c]
jne 0x47b692
cmp ecx, 1
je 0x47a941
mov al, byte [eax + 1]
cmp al, byte [esi + 0x2d]
jne 0x47b692
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x68]
jne 0x47aa15
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0x88]
add ecx, dword [eax + 0x68]
cmp edi, ecx
jne 0x48086a
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
inc ebx
mov dword [esp + 0x160], edi
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
test byte [esp + 0x170], 2
je 0x47aa45
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x47aa2f
mov eax, dword [esi + 0x18]
cmp eax, ebp
je 0x47a9f6
mov ecx, dword [esi + 0x6c]
mov ebx, dword [esp + 0x24]
lea edx, [esi + 0x1c]
push edx
push ecx
push eax
call fcn.00484b80
add esp, 0xc
test eax, eax
je 0x47aa15
mov ebx, dword [esp + 0x15c]
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov edx, dword [esi + 0x6c]
sub edx, dword [esi + 0x1c]
cmp edi, edx
ja 0x47aa15
mov al, byte [edi]
cmp al, byte [esi + 0x2c]
jne 0x47aa15
cmp dword [esi + 0x1c], 1
je 0x47aa38
mov cl, byte [edi + 1]
cmp cl, byte [esi + 0x2d]
je 0x47aa38
mov edx, dword [esp + 0x164]
mov dword [esi + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esi + 0x40], ebp
jne case.0x47e252.14
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov ebp, dword [esp + 0x16c]
cmp dword [ebp + 0x40], 0
jne 0x480b9f
cmp dword [ebp + 0x50], 0
jne 0x47aae5
mov ecx, dword [ebp + 0x6c]
cmp edi, ecx
je 0x47aad1
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47aa99
cmp edi, ecx
jae 0x4808bb
mov ebx, dword [esp + 0x24]
lea esi, [ebp + 0x1c]
push esi
push ecx
push eax
call fcn.00484b80
add esp, 0xc
test eax, eax
je 0x4808bb
mov ebx, dword [esp + 0x15c]
jmp 0x47aac4
lea esi, [ebp + 0x1c]
mov eax, ecx
sub eax, dword [esi]
cmp edi, eax
ja 0x4808bb
mov cl, byte [edi]
cmp cl, byte [ebp + 0x2c]
jne 0x4808bb
cmp dword [esi], 1
je 0x47aac4
mov dl, byte [edi + 1]
cmp dl, byte [ebp + 0x2d]
jne 0x4808bb
mov eax, dword [ebp + 0x6c]
sub eax, dword [esi]
cmp edi, eax
jne 0x4808bb
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov ebp, dword [esp + 0x16c]
cmp edi, dword [ebp + 0x6c]
jb 0x47e1b6
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov ebp, dword [esp + 0x16c]
mov ecx, dword [ebp + 0x6c]
cmp edi, ecx
je 0x47ab73
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47ab3b
cmp edi, ecx
jae 0x480b9f
mov ebx, dword [esp + 0x24]
lea esi, [ebp + 0x1c]
push esi
push ecx
push eax
call fcn.00484b80
add esp, 0xc
test eax, eax
je 0x480b9f
mov ebx, dword [esp + 0x15c]
jmp 0x47ab66
lea esi, [ebp + 0x1c]
mov edx, ecx
sub edx, dword [esi]
cmp edi, edx
ja 0x480b9f
mov al, byte [edi]
cmp al, byte [ebp + 0x2c]
jne 0x480b9f
cmp dword [esi], 1
je 0x47ab66
mov cl, byte [edi + 1]
cmp cl, byte [ebp + 0x2d]
jne 0x480b9f
mov edx, dword [ebp + 0x6c]
sub edx, dword [esi]
cmp edi, edx
jne 0x480b9f
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov ecx, dword [esp + 0x16c]
cmp dword [esp + 0x24], ebp
je 0x47ad9b
cmp edi, dword [ecx + 0x68]
je 0x47ac66
mov al, byte [edi - 1]
lea ebx, [edi - 1]
and al, 0xc0
cmp al, 0x80
jne 0x47abb2
mov dl, byte [ebx - 1]
dec ebx
and dl, 0xc0
cmp dl, 0x80
je 0x47aba6
cmp ebx, dword [ecx + 0x78]
jae 0x47abba
mov dword [ecx + 0x78], ebx
movzx eax, byte [ebx]
cmp eax, 0xc0
jb 0x47ac01
mov ecx, eax
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x47abfa
movzx ebp, byte [edx + ebx]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc edx
or eax, ebp
cmp edx, esi
jle 0x47abe7
mov ecx, dword [esp + 0x16c]
cmp dword [ecx + 0x48], 0
je 0x47ac4d
cmp eax, 0x5f
jne 0x47ac11
lea ebp, [eax - 0x5e]
jmp 0x47ac66
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a6e38]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a9038]
movzx edx, byte [eax*8 + 0x4a5e09]
mov eax, dword [edx*4 + 0x4b3d40]
cmp eax, 1
je 0x47ac46
cmp eax, 3
jne 0x47ac64
mov ebp, 1
jmp 0x47ac66
cmp eax, 0x100
jae 0x47ac64
mov edx, dword [ecx + 0x34]
test byte [eax + edx], 0x10
je 0x47ac64
mov ebp, 1
jmp 0x47ac66
xor ebp, ebp
cmp edi, dword [ecx + 0x6c]
jb 0x47aca0
cmp dword [ecx + 0x7c], 0
je 0x47ac8b
cmp edi, dword [esp + 0x160]
jbe 0x47ac8b
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x4813ad
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x15c]
xor eax, eax
jmp 0x47ae8f
movzx eax, byte [edi]
cmp eax, 0xc0
jb 0x47ace3
mov ecx, eax
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x47ace3
lea ecx, [ecx]
movzx ebx, byte [edx + edi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
inc edx
or eax, ebx
cmp edx, esi
jle 0x47acd0
mov ecx, dword [esp + 0x16c]
cmp dword [ecx + 0x48], 0
je 0x47ad6c
cmp eax, 0x5f
jne 0x47ad0a
mov ebx, dword [esp + 0x15c]
mov eax, 1
jmp 0x47ae8f
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6e38]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
mov eax, dword [ecx*4 + 0x4b3d40]
cmp eax, 1
je 0x47ad54
cmp eax, 3
je 0x47ad54
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x15c]
xor eax, eax
jmp 0x47ae8f
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x15c]
mov eax, 1
jmp 0x47ae8f
cmp eax, 0x100
jae 0x47ad8d
mov edx, dword [ecx + 0x34]
test byte [eax + edx], 0x10
je 0x47ad8d
mov ebx, dword [esp + 0x15c]
mov eax, 1
jmp 0x47ae8f
mov ebx, dword [esp + 0x15c]
xor eax, eax
jmp 0x47ae8f
cmp edi, dword [ecx + 0x68]
je 0x47ae0b
cmp edi, dword [ecx + 0x78]
ja 0x47adaf
lea eax, [edi - 1]
mov dword [ecx + 0x78], eax
movzx eax, byte [edi - 1]
cmp dword [ecx + 0x48], ebp
je 0x47adfe
cmp eax, 0x5f
jne 0x47adc2
lea ebp, [eax - 0x5e]
jmp 0x47ae0b
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a6e38]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a9038]
movzx edx, byte [eax*8 + 0x4a5e09]
mov eax, dword [edx*4 + 0x4b3d40]
cmp eax, 1
je 0x47adf7
cmp eax, 3
jne 0x47ae0b
mov ebp, 1
jmp 0x47ae0b
mov edx, dword [ecx + 0x34]
movzx ebp, byte [eax + edx]
shr ebp, 4
and ebp, 1
cmp edi, dword [ecx + 0x6c]
jb 0x47ae34
cmp dword [ecx + 0x7c], 0
je 0x47ae30
cmp edi, dword [esp + 0x160]
jbe 0x47ae30
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x47faa8
xor eax, eax
jmp 0x47ae8f
cmp dword [ecx + 0x48], 0
movzx eax, byte [edi]
je 0x47ae82
cmp eax, 0x5f
jne 0x47ae49
mov eax, 1
jmp 0x47ae8f
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a6e38]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a9038]
movzx edx, byte [eax*8 + 0x4a5e09]
mov eax, dword [edx*4 + 0x4b3d40]
cmp eax, 1
je 0x47ae42
cmp eax, 3
je 0x47ae42
xor eax, eax
jmp 0x47ae8f
mov edx, dword [ecx + 0x34]
movzx eax, byte [edx + eax]
shr eax, 4
and eax, 1
mov dl, byte [ebx]
inc ebx
mov dword [esp + 0x15c], ebx
cmp dl, 5
jne 0x47aea7
xor edx, edx
cmp eax, ebp
sete dl
jmp 0x47aeae
xor edx, edx
cmp eax, ebp
setne dl
mov eax, edx
test eax, eax
je 0x479bb6
mov edx, dword [esp + 0x164]
mov dword [ecx + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x16c]
mov eax, dword [esi + 0x18]
cmp eax, ebp
je 0x47af0d
cmp edi, dword [esi + 0x6c]
jae 0x47af4d
mov edx, dword [esi + 0x6c]
mov ebx, dword [esp + 0x24]
lea ecx, [esi + 0x1c]
push ecx
push edx
push eax
call fcn.00484b80
add esp, 0xc
test eax, eax
jne case.0x47e252.14
mov ebx, dword [esp + 0x15c]
xor ebp, ebp
jmp 0x47af4d
mov eax, dword [esi + 0x6c]
sub eax, dword [esi + 0x1c]
cmp edi, eax
ja 0x47af4d
mov cl, byte [edi]
cmp cl, byte [esi + 0x2c]
jne 0x47af4d
cmp dword [esi + 0x1c], 1
je case.0x47e252.14
mov dl, byte [edi + 1]
cmp dl, byte [esi + 0x2d]
jne 0x47af4d
mov eax, dword [esp + 0x164]
mov dword [esi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x16c]
mov eax, dword [esi + 0x6c]
mov ecx, edi
inc edi
cmp ecx, eax
jae 0x480bb9
cmp dword [esp + 0x24], ebp
je 0x47af74
cmp edi, eax
jae 0x47af74
mov dl, byte [edi]
and dl, 0xc0
cmp dl, 0x80
jne 0x47af74
inc edi
cmp edi, eax
jb 0x47af65
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov eax, dword [esp + 0x16c]
mov ecx, edi
inc edi
cmp ecx, dword [eax + 0x6c]
jae 0x480bfd
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480c4f
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47aff4
cmp edx, 0xc0
jb 0x47aff4
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47aff4
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47afe1
cmp edx, 0x100
jae 0x47b009
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 4
jne 0x47aa15
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480c4f
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b069
cmp edx, 0xc0
jb 0x47b069
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47b069
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47b056
cmp edx, 0x100
jae 0x47aa15
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 4
je 0x47aa15
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480c4f
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b0e3
cmp edx, 0xc0
jb 0x47b0e3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47b0e3
nop
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47b0d0
cmp edx, 0x100
jae 0x47b0f8
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 1
jne 0x47aa15
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480c4f
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b158
cmp edx, 0xc0
jb 0x47b158
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47b158
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47b145
cmp edx, 0x100
jae 0x47aa15
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 1
je 0x47aa15
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480c4f
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b1d3
cmp edx, 0xc0
jb 0x47b1d3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47b1d3
mov edi, edi
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47b1c0
cmp edx, 0x100
jae 0x47b1e8
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 0x10
jne 0x47aa15
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480c4f
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b248
cmp edx, 0xc0
jb 0x47b248
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47b248
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47b235
cmp edx, 0x100
jae 0x47aa15
mov ecx, dword [esi + 0x34]
test byte [edx + ecx], 0x10
je 0x47aa15
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov ebp, dword [esp + 0x16c]
mov esi, dword [ebp + 0x6c]
cmp edi, esi
jae 0x480c93
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x47b2c4
cmp edx, 0xc0
jb 0x47b2c4
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47b2c4
movzx ebx, byte [edi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc edi
or edx, ebx
test eax, eax
jg 0x47b2b1
cmp edx, 0xd
ja 0x47b2f1
je 0x47b2db
cmp edx, 0xa
je 0x47b31b
jbe 0x4808bb
cmp edx, 0xc
jmp 0x47b30b
cmp edi, esi
jae 0x47b31b
cmp byte [edi], 0xa
jne 0x47b31b
inc edi
inc dword [esp + 0x15c]
jmp 0x479bb6
cmp edx, 0x85
je 0x47b311
cmp edx, 0x2027
jbe 0x4808bb
cmp edx, 0x2029
ja 0x4808bb
cmp dword [ebp + 0x60], 0
jne 0x47e1b6
inc dword [esp + 0x15c]
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480cd8
movzx eax, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b379
cmp eax, 0xc0
jb 0x47b379
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4b3d00]
and eax, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
shl eax, cl
test edx, edx
jle 0x47b379
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec edx
inc edi
or eax, ebp
test edx, edx
jg 0x47b366
cmp eax, 0x180e
ja 0x47b3a8
je case.0x47e252.14
cmp eax, 0xa0
ja 0x47b3a1
je case.0x47e252.14
cmp eax, 9
je case.0x47e252.14
cmp eax, 0x20
jmp 0x47b3d3
cmp eax, 0x1680
jmp 0x47b3d3
cmp eax, 0x205f
ja 0x47b3ce
je case.0x47e252.14
cmp eax, 0x2000
jb 0x47b3d9
cmp eax, 0x200a
jbe case.0x47e252.14
cmp eax, 0x202f
jmp 0x47b3d3
cmp eax, 0x3000
je case.0x47e252.14
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480cd8
movzx eax, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b438
cmp eax, 0xc0
jb 0x47b438
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and eax, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
shl eax, cl
test edx, edx
jle 0x47b438
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec edx
inc edi
or eax, ebp
test edx, edx
jg 0x47b425
cmp eax, 0x180e
ja 0x47b45f
je 0x47b48c
cmp eax, 0xa0
ja 0x47b458
je 0x47b48c
cmp eax, 9
je 0x47b48c
cmp eax, 0x20
jmp 0x47b486
cmp eax, 0x1680
jmp 0x47b486
cmp eax, 0x205f
ja 0x47b481
je 0x47b48c
cmp eax, 0x2000
jb case.0x47e252.14
cmp eax, 0x200a
jbe 0x47b48c
cmp eax, 0x202f
jmp 0x47b486
cmp eax, 0x3000
jne case.0x47e252.14
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480cd8
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b4f3
cmp edx, 0xc0
jb 0x47b4f3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47b4f3
lea esp, [esp]
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47b4e0
cmp edx, 0x85
ja 0x47b50b
je case.0x47e252.14
cmp edx, 0xa
jb 0x47b51f
cmp edx, 0xd
jmp 0x47b519
cmp edx, 0x2028
jb 0x47b51f
cmp edx, 0x2029
jbe case.0x47e252.14
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480cd8
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b583
cmp edx, 0xc0
jb 0x47b583
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47b583
lea esp, [esp]
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47b570
cmp edx, 0x85
ja 0x47b59b
je 0x47b5b3
cmp edx, 0xa
jb case.0x47e252.14
cmp edx, 0xd
jmp 0x47b5ad
cmp edx, 0x2028
jb case.0x47e252.14
cmp edx, 0x2029
ja case.0x47e252.14
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480cd8
movzx eax, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b612
cmp eax, 0xc0
jb 0x47b612
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and eax, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
shl eax, cl
test edx, edx
jle 0x47b612
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec edx
inc edi
or eax, ebp
test edx, edx
jg 0x47b5ff
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6e38]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx ecx, word [edx*2 + 0x4a9038]
movzx edx, byte [ebx + 1]
lea ecx, [ecx*8 + 0x4a5e08]
cmp edx, 8
ja case.default.0x47b644
jmp dword [edx*4 + 0x48386c]
cmp dword [esp + 0x18], 0xf
je case.0x47e252.14
add ebx, 3
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x47b67b
cmp cl, 5
je 0x47b67b
cmp cl, 8
je 0x47b67b
xor eax, eax
jmp 0x47b680
mov eax, 1
xor edx, edx
cmp dword [esp + 0x18], 0xf
sete dl
cmp eax, edx
jne 0x47b81e
mov ecx, dword [esp + 0x164]
mov dword [esi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
movzx eax, byte [ecx + 1]
movzx ecx, byte [ebx + 2]
xor edx, edx
cmp ecx, dword [eax*4 + 0x4b3d40]
setne dl
xor eax, eax
cmp dword [esp + 0x18], 0x10
sete al
cmp edx, eax
jmp 0x47b818
mov dl, byte [ebx + 2]
xor eax, eax
cmp dl, byte [ecx + 1]
setne al
xor ecx, ecx
cmp dword [esp + 0x18], 0x10
sete cl
cmp eax, ecx
je case.0x47e252.14
add ebx, 3
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov dl, byte [ebx + 2]
xor eax, eax
cmp dl, byte [ecx]
setne al
xor ecx, ecx
cmp dword [esp + 0x18], 0x10
sete cl
cmp eax, ecx
je 0x47b692
add ebx, 3
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
movzx edx, byte [ecx + 1]
mov eax, dword [edx*4 + 0x4b3d40]
cmp eax, 1
je 0x47b807
cmp eax, 3
je 0x47b807
xor eax, eax
jmp 0x47b80c
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4b3d40], 6
je 0x47b772
cmp eax, 9
je 0x47b772
cmp eax, 0xa
je 0x47b772
cmp eax, 0xc
je 0x47b772
cmp eax, 0xd
je 0x47b772
xor eax, eax
jmp 0x47b777
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x18], 0xf
sete cl
cmp eax, ecx
je case.0x47e252.14
add ebx, 3
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4b3d40], 6
je 0x47b7c3
cmp eax, 9
je 0x47b7c3
cmp eax, 0xa
je 0x47b7c3
cmp eax, 0xb
je 0x47b7c3
cmp eax, 0xc
je 0x47b7c3
cmp eax, 0xd
je 0x47b7c3
xor eax, eax
jmp 0x47b7c8
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x18], 0xf
sete cl
cmp eax, ecx
je 0x47b692
add ebx, 3
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4b3d40]
cmp ecx, 1
je 0x47b807
cmp ecx, 3
je 0x47b807
cmp eax, 0x5f
je 0x47b807
xor eax, eax
jmp 0x47b80c
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x18], 0xf
sete cl
cmp eax, ecx
je 0x47aa15
add ebx, 3
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
mov esi, dword [esp + 0x16c]
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x1c], eax
cmp edi, eax
jae 0x480c4f
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47b886
cmp edx, 0xc0
jb 0x47b886
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47b886
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47b873
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
and edx, 0x7f
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x4a9038]
movzx edx, byte [ecx*8 + 0x4a5e09]
cmp dword [edx*4 + 0x4b3d40], 2
je 0x47aa15
cmp edi, dword [esp + 0x1c]
jae 0x47b94a
cmp dword [esp + 0x24], 0
movzx edx, byte [edi]
mov esi, 1
je 0x47b910
cmp edx, 0xc0
jb 0x47b910
mov eax, edx
and eax, 0x3f
movzx esi, byte [eax + 0x4b3d00]
and edx, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov eax, 1
shl edx, cl
cmp esi, eax
jl 0x47b90f
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or edx, ebp
cmp eax, esi
jle 0x47b8fc
inc esi
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
and edx, 0x7f
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x4a9038]
movzx edx, byte [ecx*8 + 0x4a5e09]
cmp dword [edx*4 + 0x4b3d40], 2
jne 0x47b94a
add edi, esi
cmp edi, dword [esp + 0x1c]
jb 0x47b8c2
inc ebx
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
mov ebp, dword [esp + 0x16c]
shl ecx, 8
or ecx, eax
add ecx, ecx
add ebx, 3
mov dword [esp + 0x34], ecx
mov dword [esp + 0x15c], ebx
cmp ecx, dword [esp + 0x168]
jge 0x47b997
mov edx, dword [ebp + 0xc]
lea eax, [edx + ecx*4]
mov edx, dword [eax]
test edx, edx
js 0x47b997
mov esi, dword [eax + 4]
sub esi, edx
jmp 0x47b9a7
cmp dword [ebp + 0x4c], 0
je 0x47b9a1
xor esi, esi
jmp 0x47b9a7
mov esi, dword [ebp + 0x6c]
sub esi, edi
inc esi
mov eax, dword [esp + 0x15c]
mov dl, byte [eax]
movzx eax, dl
lea ebx, [eax - 0x46]
cmp ebx, 7
ja case.default.0x47b9c6
movzx ebx, byte [ebx + 0x483898]
jmp dword [ebx*4 + 0x483890]
movsx ebp, byte [eax + 0x4b48c2]
inc dword [esp + 0x15c]
movsx ebx, byte [eax + 0x4b48ba]
lea ecx, [eax - 0x46]
and ecx, 1
mov dword [esp + 0x28], ecx
test ebp, ebp
jne 0x47ba3d
mov ebp, SysReAllocString
jmp 0x47ba3d
mov eax, dword [esp + 0x15c]
movzx ebx, byte [eax + 1]
movzx ebp, byte [eax + 3]
xor ecx, ecx
cmp dl, 0x4d
movzx edx, byte [eax + 2]
sete cl
shl ebx, 8
shl ebp, 8
or ebx, edx
mov dword [esp + 0x28], ecx
movzx ecx, byte [eax + 4]
or ebp, ecx
jne 0x47ba2f
mov ebp, SysReAllocString
mov ecx, dword [esp + 0x28]
add eax, 5
mov dword [esp + 0x15c], eax
test esi, esi
je 0x479bb6
mov dword [esp + 0x20], 1
cmp ebx, 1
jl 0x47ba8d
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x16c]
push edx
push eax
mov eax, esi
mov edx, edi
call fcn.004799d0
add esp, 8
test eax, eax
je 0x480d2c
mov eax, dword [esp + 0x20]
inc eax
add edi, esi
mov dword [esp + 0x20], eax
cmp eax, ebx
jle 0x47ba52
mov ecx, dword [esp + 0x28]
cmp ebx, ebp
je 0x479bb6
test ecx, ecx
je 0x480d84
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
inc eax
push eax
push 0
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x17c]
push eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x17c]
push ebx
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
cmp dword [esp + 0x20], ebp
jge 0x480d63
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x16c]
push ebx
push eax
mov eax, esi
mov edx, edi
call fcn.004799d0
add esp, 8
test eax, eax
mov eax, dword [esp + 0x16c]
je 0x480d33
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x174]
inc dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x16c]
push 0
push edx
mov edx, dword [esp + 0x170]
push ebx
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
add edi, esi
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x47baf9
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov edx, dword [esp + 0x170]
push edx
push ecx
mov ecx, ebp
mov eax, esi
mov edx, edi
call fcn.004799d0
add esp, 8
test eax, eax
je 0x480e70
add edi, esi
jmp 0x479bb6
mov cl, byte [ebx + 0x21]
lea eax, [ebx + 1]
add ebx, 0x21
mov dword [esp + 0x2c], eax
movzx eax, cl
lea edx, [eax - 0x46]
mov dword [esp + 0x15c], ebx
cmp edx, 7
ja case.default.0x47bbca
movzx edx, byte [edx + 0x4838a8]
jmp dword [edx*4 + 0x4838a0]
movsx ebx, byte [eax + 0x4b48c2]
inc dword [esp + 0x15c]
movsx esi, byte [eax + 0x4b48ba]
lea ecx, [eax - 0x46]
and ecx, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x47bc59
mov ebx, SysReAllocString
jmp 0x47bc55
xor eax, eax
cmp cl, 0x4d
sete al
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x15c]
movzx esi, byte [eax + 1]
movzx ebx, byte [eax + 3]
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 4]
shl esi, 8
shl ebx, 8
or esi, ecx
or ebx, edx
mov dword [esp + 0x14], ebx
jne 0x47bc42
mov ebx, SysReAllocString
mov dword [esp + 0x14], ebx
add eax, 5
mov dword [esp + 0x15c], eax
jmp 0x47bc59
mov ebx, 1
mov esi, ebx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x24], ebp
je 0x47bd0f
mov dword [esp + 0x20], 1
cmp esi, 1
jl 0x47bd55
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x1c], ecx
cmp edi, dword [esp + 0x1c]
jae 0x480ebe
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x47bcc9
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47bcc9
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47bcb6
cmp edx, 0xff
jbe 0x47bcde
cmp dword [esp + 0x18], 0x4e
je 0x480e4f
jmp 0x47bcfc
mov ecx, edx
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x2c]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, al
je 0x480d63
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, esi
jle 0x47bc82
jmp 0x47bd55
mov ebp, 1
cmp esi, ebp
jl 0x47bd55
mov eax, dword [esp + 0x16c]
mov edx, dword [eax + 0x6c]
cmp edi, edx
jae 0x480ebe
movzx eax, byte [edi]
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x2c]
shr eax, 3
mov al, byte [eax + ecx]
inc edi
test al, bl
je 0x480e4f
inc ebp
cmp ebp, esi
jle 0x47bd22
mov ebx, dword [esp + 0x14]
cmp esi, ebx
je 0x479bb6
cmp dword [esp + 0x28], 0
je 0x4810cf
cmp dword [esp + 0x24], 0
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x168]
je 0x480f9c
mov ebp, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x17c]
inc esi
push esi
push 0
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push ebp
push ecx
push ebx
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
jmp 0x47bdd0
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x20], ecx
jge 0x480f57
cmp edi, dword [ebp + 0x6c]
jae 0x480f6a
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x47be2b
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47be24
movzx ebx, byte [edi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc edi
or edx, ebx
test eax, eax
jg 0x47be11
mov ebx, dword [esp + 0x164]
cmp edx, 0xff
jbe 0x480eec
cmp dword [esp + 0x18], 0x4e
jmp 0x480f04
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
lea ecx, [ebx + 3]
add ebx, edx
mov dword [esp + 0x2c], ecx
mov cl, byte [ebx]
movzx eax, cl
lea edx, [eax - 0x46]
mov dword [esp + 0x15c], ebx
cmp edx, 7
ja case.default.0x47be76
movzx edx, byte [edx + 0x4838b8]
jmp dword [edx*4 + 0x4838b0]
movsx ebp, byte [eax + 0x4b48c2]
movsx esi, byte [eax + 0x4b48ba]
lea ecx, [eax - 0x46]
inc ebx
and ecx, 1
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], ebp
test ebp, ebp
jne 0x47beff
mov ebp, SysReAllocString
jmp 0x47befb
movzx esi, byte [ebx + 1]
movzx ebp, byte [ebx + 3]
movzx edx, byte [ebx + 4]
xor eax, eax
cmp cl, 0x4d
movzx ecx, byte [ebx + 2]
sete al
shl esi, 8
shl ebp, 8
or esi, ecx
or ebp, edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x28], eax
jne 0x47bee8
mov ebp, SysReAllocString
mov dword [esp + 0x14], ebp
add ebx, 5
mov dword [esp + 0x15c], ebx
jmp 0x47beff
mov ebp, 1
mov esi, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], 1
cmp esi, 1
jl 0x47bf95
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x1c], ecx
cmp edi, dword [esp + 0x1c]
jae 0x48137e
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x47bf73
cmp edx, 0xc0
jb 0x47bf73
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47bf73
lea esp, [esp]
movzx ebx, byte [edi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc edi
or edx, ebx
test eax, eax
jg 0x47bf60
mov eax, dword [esp + 0x2c]
push edx
call fcn.00484e20
add esp, 4
test eax, eax
je case.0x479be2.115
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, esi
jle 0x47bf1e
cmp esi, ebp
je 0x479bb6
cmp dword [esp + 0x28], 0
je 0x481406
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, esi
mov esi, dword [esp + 0x17c]
inc esi
push esi
push 0
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebp
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov edi, edi
cmp ebx, dword [esp + 0x14]
jge 0x481364
mov eax, dword [esp + 0x16c]
cmp edi, dword [eax + 0x6c]
jae 0x4813ca
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x47c06a
cmp edx, 0xc0
jb 0x47c06a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47c063
jmp 0x47c050
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47c050
mov ebp, dword [esp + 0x164]
mov eax, dword [esp + 0x2c]
push edx
call fcn.00484e20
add esp, 4
test eax, eax
je 0x47c8a5
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebp
push edx
push eax
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x47c000
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esp + 0x24], ebp
je 0x47c13f
movzx ecx, byte [ebx + 1]
inc ebx
mov eax, 1
mov dword [esp + 0x15c], ebx
cmp ecx, 0xc0
jb 0x47c0fe
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
inc eax
mov esi, dword [esp + 0x16c]
mov ecx, dword [esi + 0x6c]
sub ecx, edi
cmp eax, ecx
jg 0x4815a9
cmp eax, ebp
jle 0x479bb6
lea ebx, [ebx]
mov dl, byte [ebx]
mov cl, byte [edi]
inc ebx
dec eax
inc edi
mov dword [esp + 0x15c], ebx
cmp dl, cl
jne case.0x47e252.14
test eax, eax
jg 0x47c120
jmp 0x479bb6
mov eax, dword [esp + 0x16c]
mov edx, dword [eax + 0x6c]
sub edx, edi
cmp edx, 1
jl 0x480bfd
mov cl, byte [edi]
inc edi
cmp byte [ebx + 1], cl
jne 0x48086a
add ebx, 2
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
cmp dword [esp + 0x24], ebp
je 0x47c2a5
mov eax, dword [esp + 0x15c]
movzx ebx, byte [eax + 1]
inc eax
mov esi, ebx
mov ebp, 1
mov dword [esp + 0x15c], eax
cmp esi, 0xc0
jb 0x47c1d8
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
shl esi, cl
mov eax, ebp
cmp edx, ebp
jl 0x47c1d5
mov ebp, dword [esp + 0x15c]
movzx ebp, byte [eax + ebp]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47c1bb
lea ebp, [edx + 1]
mov ecx, dword [esp + 0x16c]
mov edx, dword [ecx + 0x6c]
sub edx, edi
cmp ebp, edx
jg 0x4815c0
movzx edx, byte [edi]
inc edi
cmp esi, 0x80
jae 0x47c20d
mov eax, dword [ecx + 0x30]
mov dl, byte [edx + eax]
inc dword [esp + 0x15c]
cmp byte [ebx + eax], dl
jmp 0x47aeb2
cmp edx, 0xc0
jb 0x47c246
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47c246
movzx ebx, byte [edi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc edi
or edx, ebx
test eax, eax
jg 0x47c233
add dword [esp + 0x15c], ebp
cmp esi, edx
je 0x479bb6
mov ecx, esi
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
mov ecx, esi
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x4a9038]
mov ecx, dword [eax*8 + 0x4a5e0c]
add ecx, esi
cmp edx, ecx
je 0x479bb6
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x16c]
mov dword [ecx + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [ecx + 0x6c]
sub edx, edi
cmp edx, 1
jl 0x48160e
movzx esi, byte [edi]
mov eax, dword [ecx + 0x30]
movzx edx, byte [ebx + 1]
mov dword [esp + 0x38], ecx
mov cl, byte [esi + eax]
inc edi
cmp byte [edx + eax], cl
mov ecx, dword [esp + 0x38]
jne 0x47aeb8
add ebx, 2
mov dword [esp + 0x15c], ebx
jmp 0x479bb6
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov ebp, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebp
add ebx, 3
jmp 0x47c397
mov dword [esp + 0x2c], 1
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
xor eax, eax
cmp cl, 0x26
sete al
mov dword [esp + 0x18], ebp
add ebx, 3
mov dword [esp + 0x28], eax
jmp 0x47c38f
mov dword [esp + 0x2c], 1
mov dword [esp + 0x18], ebp
inc ebx
jmp 0x47c38a
mov eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], eax
add ebx, eax
jmp 0x47c38a
mov edx, 1
mov dword [esp + 0x2c], edx
mov dword [esp + 0x18], ebp
add ebx, edx
jmp 0x47c38f
movsx edx, byte [eax + 0x4b48e9]
lea ecx, [eax - 0x1f]
and ecx, 1
mov dword [esp + 0x28], ecx
movsx ecx, byte [eax + 0x4b48e1]
inc ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edx
test edx, edx
jne 0x47c393
mov edx, SysReAllocString
mov dword [esp + 0x14], edx
mov ebp, dword [esp + 0x18]
cmp dword [esp + 0x24], 0
movzx esi, byte [ebx]
je 0x47c777
mov eax, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], ebx
cmp esi, 0xc0
jb 0x47c404
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
shl esi, cl
cmp edx, eax
jl 0x47c3f7
jmp 0x47c3e0
movzx ebp, byte [eax + ebx]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47c3e0
mov ebp, dword [esp + 0x18]
inc edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ebx, eax
mov dword [esp + 0x15c], ebx
cmp eax, 1
jle 0x47c77f
test byte [esp + 0x170], 1
je 0x47c458
mov ecx, esi
shr ecx, 7
movzx edx, byte [ecx + 0x4a6e38]
shl edx, 7
mov eax, esi
and eax, 0x7f
add edx, eax
movzx ecx, word [edx*2 + 0x4a9038]
mov edx, dword [ecx*8 + 0x4a5e0c]
add edx, esi
cmp edx, esi
je 0x47c458
lea eax, [esp + 0x60]
call fcn.00484dd0
mov edx, eax
jmp 0x47c45a
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], 1
cmp ebp, 1
jl 0x47c56b
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0x6c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
sub ecx, eax
mov dword [esp + 0x34], ecx
jmp 0x47c498
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
cmp edi, ecx
ja 0x47c4e5
mov ecx, dword [esp + 0x38]
mov esi, edi
cmp eax, 4
jb 0x47c4bb
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x47c4e5
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x47c4a7
test eax, eax
je 0x47c4df
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x47c4e5
cmp eax, 1
jbe 0x47c4df
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x47c4e5
cmp eax, 2
jbe 0x47c4df
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
jne 0x47c4e5
add edi, dword [esp + 0x1c]
jmp 0x47c55a
test edx, edx
jle 0x480d2c
mov eax, dword [esp + 0x44]
sub eax, edx
cmp edi, eax
ja 0x480d2c
mov eax, edx
lea ecx, [esp + 0x60]
mov esi, edi
cmp edx, 4
jb 0x47c528
jmp 0x47c510
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x480d2c
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x47c510
test eax, eax
je 0x47c558
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x480d2c
cmp eax, 1
jbe 0x47c558
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x480d2c
cmp eax, 2
jbe 0x47c558
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
jne 0x480d2c
add edi, edx
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, ebp
jle 0x47c490
mov eax, dword [esp + 0x14]
cmp ebp, eax
je 0x479bb6
cmp dword [esp + 0x28], 0
jne 0x481652
mov dword [esp + 0x28], edi
cmp ebp, eax
jge 0x47c6ab
mov eax, dword [esp + 0x16c]
mov ebx, dword [eax + 0x6c]
mov eax, ebx
sub eax, dword [esp + 0x1c]
mov dword [esp + 0x34], eax
jmp 0x47c5a8
mov eax, dword [esp + 0x34]
cmp edi, eax
ja 0x47c609
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov esi, edi
cmp eax, 4
jb 0x47c5d4
jmp 0x47c5c0
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x47c605
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x47c5c0
test eax, eax
je 0x47c5f8
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x47c605
cmp eax, 1
jbe 0x47c5f8
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x47c605
cmp eax, 2
jbe 0x47c5f8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x47c605
add edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jmp 0x47c672
mov edx, dword [esp + 0x18]
test edx, edx
jle 0x47c67f
mov ecx, ebx
sub ecx, edx
cmp edi, ecx
ja 0x47c67f
mov eax, edx
lea ecx, [esp + 0x60]
mov esi, edi
cmp edx, 4
jb 0x47c648
lea ebx, [ebx]
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x47c67f
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x47c630
mov edx, dword [esp + 0x18]
test eax, eax
je 0x47c670
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x47c67f
cmp eax, 1
jbe 0x47c66c
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x47c67f
cmp eax, 2
jbe 0x47c66c
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x47c67f
mov edx, dword [esp + 0x18]
add edi, edx
inc ebp
cmp ebp, dword [esp + 0x14]
jl 0x47c5a4
jmp 0x47c6ab
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
je 0x47c6ab
cmp edi, dword [eax + 0x6c]
jb 0x47c6ab
cmp edi, dword [esp + 0x160]
jbe 0x47c6ab
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x480c18
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov ebp, dword [esp + 0x164]
inc esi
push esi
push 0
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push ecx
push ebx
push ebp
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
lea ebx, [ebx]
cmp edi, dword [esp + 0x28]
je 0x47c8a5
mov cl, byte [edi - 1]
dec edi
and cl, 0xc0
cmp cl, 0x80
jne 0x47c732
mov dl, byte [edi - 1]
dec edi
and dl, 0xc0
cmp dl, 0x80
je 0x47c726
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
push esi
push 0
push eax
mov eax, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x16c]
push edx
push ebx
push ebp
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x47c710
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
inc ebx
mov dword [esp + 0x15c], ebx
mov ebx, dword [esp + 0x16c]
mov eax, 1
test byte [esp + 0x170], al
je 0x47c8bf
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x30]
movzx ebp, byte [ecx + esi]
cmp edx, eax
jl 0x47c7cd
mov edx, dword [ebx + 0x6c]
cmp edi, edx
jae 0x481803
movzx esi, byte [edi]
movzx esi, byte [esi + ecx]
inc edi
cmp ebp, esi
jne 0x480a8e
inc eax
cmp eax, dword [esp + 0x18]
jle 0x47c7aa
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x14]
je 0x479bb6
cmp dword [esp + 0x28], 0
jne 0x481848
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], edi
cmp eax, esi
jge 0x47c835
mov edx, ebx
mov edx, dword [edx + 0x6c]
cmp edi, edx
jae 0x47c80e
movzx ebx, byte [edi]
movzx ebx, byte [ebx + ecx]
cmp ebp, ebx
jne 0x47c835
inc eax
inc edi
cmp eax, esi
jl 0x47c7f7
jmp 0x47c835
mov ecx, dword [esp + 0x16c]
cmp dword [ecx + 0x7c], 0
je 0x47c835
cmp edi, dword [esp + 0x160]
jbe 0x47c835
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x4813ad
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov ebp, dword [esp + 0x164]
cmp edi, dword [esp + 0x28]
jb 0x47c8a5
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x15c]
inc esi
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
push esi
push 0
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push eax
push ebp
push ecx
push ebx
push edi
call fcn.00479b40
add esp, 0x28
dec edi
test eax, eax
jne 0x4836b0
cmp edi, dword [esp + 0x28]
jae 0x47c860
mov edx, dword [esp + 0x16c]
mov dword [edx + 0x9c], ebp
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp ebp, 1
jl 0x47c8e4
mov ecx, dword [ebx + 0x6c]
cmp edi, ecx
jae 0x481803
movzx edx, byte [edi]
inc edi
cmp esi, edx
jne 0x480a8e
inc eax
cmp eax, ebp
jle 0x47c8c7
mov edx, dword [esp + 0x14]
cmp ebp, edx
je 0x479bb6
cmp dword [esp + 0x28], 0
jne 0x481921
mov edx, edi
mov dword [esp + 0x28], edx
mov eax, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47c93d
mov ecx, dword [ebx + 0x6c]
cmp edi, ecx
jae 0x47c91d
movzx ebp, byte [edi]
cmp esi, ebp
jne 0x47c93d
inc eax
inc edi
cmp eax, dword [esp + 0x14]
jl 0x47c908
jmp 0x47c93d
cmp dword [ebx + 0x7c], 0
je 0x47c93d
cmp edi, dword [esp + 0x160]
jbe 0x47c93d
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jg 0x48182b
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov ebp, dword [esp + 0x164]
cmp edi, edx
jb 0x47c9bc
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x168]
inc esi
jmp 0x47c970
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x16c]
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push ebp
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
dec edi
test eax, eax
jne 0x4836b0
cmp edi, dword [esp + 0x28]
jae 0x47c970
mov ebx, dword [esp + 0x16c]
mov dword [ebx + 0x9c], ebp
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x480c4f
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], ebp
je 0x47ca23
cmp edx, 0xc0
jb 0x47ca23
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47ca23
nop
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47ca10
test byte [esp + 0x170], 1
je 0x47ca5e
cmp edx, 0x100
jae 0x47ca3c
mov ecx, dword [esi + 0x30]
movzx edx, byte [ecx + edx]
movzx eax, byte [ebx + 1]
mov ecx, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
add ebx, 2
mov dword [esp + 0x15c], ebx
cmp eax, edx
jne 0x479bb6
jmp 0x47aa15
movzx ecx, byte [ebx + 1]
add ebx, 2
mov dword [esp + 0x15c], ebx
cmp ecx, edx
jne 0x479bb6
jmp case.0x47e252.14
movzx esi, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl esi, 8
or esi, edx
mov dword [esp + 0x14], esi
add ebx, 3
jmp 0x47cb35
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
mov dword [esp + 0x14], eax
xor eax, eax
xor esi, esi
cmp cl, 0x33
sete al
add ebx, 3
mov dword [esp + 0x28], eax
jmp 0x47cb35
xor esi, esi
mov dword [esp + 0x2c], 1
inc ebx
jmp 0x47cb2d
mov esi, 1
mov dword [esp + 0x2c], esi
add ebx, esi
jmp 0x47cb2d
mov eax, 1
xor esi, esi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], eax
add ebx, eax
jmp 0x47cb35
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
xor esi, esi
mov dword [esp + 0x2c], 1
mov dword [esp + 0x14], eax
add ebx, 3
jmp 0x47cb35
movsx esi, byte [eax + 0x4b48d4]
lea ecx, [eax - 0x2c]
movsx eax, byte [eax + 0x4b48dc]
and ecx, 1
inc ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
cmp eax, ebp
jne 0x47cb35
mov dword [esp + 0x14], SysStringLen
movzx eax, byte [ebx]
inc ebx
test byte [esp + 0x170], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x15c], ebx
je 0x47ceaf
cmp dword [esp + 0x24], 0
mov edx, dword [esp + 0x16c]
mov ebp, dword [edx + 0x30]
movzx eax, byte [eax + ebp]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x20], eax
je 0x47cbf4
mov ebx, 1
cmp esi, ebx
jl 0x47cc21
mov ecx, edx
mov edx, dword [ecx + 0x6c]
mov dword [esp + 0x1c], edx
cmp edi, dword [esp + 0x1c]
jae 0x4819ef
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x47cbd7
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47cbd3
lea ecx, [ecx]
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47cbc0
mov ebp, dword [esp + 0x34]
cmp edx, 0x100
jae 0x47cbe3
movzx edx, byte [edx + ebp]
cmp dword [esp + 0x20], edx
je 0x480d63
inc ebx
cmp ebx, esi
jle 0x47cb89
jmp 0x47cc21
mov eax, 1
cmp esi, eax
jl 0x47cc21
mov ecx, edx
mov ecx, dword [ecx + 0x6c]
cmp edi, ecx
jae 0x48137e
movzx edx, byte [edi]
movzx edx, byte [edx + ebp]
inc edi
cmp dword [esp + 0x20], edx
je case.0x479be2.115
inc eax
cmp eax, esi
jle 0x47cc02
cmp esi, dword [esp + 0x14]
je 0x479bb6
cmp dword [esp + 0x28], 0
jne 0x481a3d
cmp dword [esp + 0x24], 0
mov ecx, edi
mov dword [esp + 0x28], ecx
je 0x47cdc1
mov ebx, esi
cmp esi, dword [esp + 0x14]
jge 0x47ccf5
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x1c], ecx
mov edx, 1
cmp edi, dword [esp + 0x1c]
jae 0x47ccda
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x47ccbd
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, 1
shl esi, cl
cmp edx, eax
jl 0x47ccb5
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47cc9e
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x16c]
inc edx
cmp esi, 0x100
jae 0x47ccc9
movzx esi, byte [esi + ebp]
cmp dword [esp + 0x20], esi
je 0x47ccf5
inc ebx
add edi, edx
cmp ebx, dword [esp + 0x14]
jl 0x47cc61
jmp 0x47ccf5
cmp dword [eax + 0x7c], 0
je 0x47ccf5
cmp edi, dword [esp + 0x160]
jbe 0x47ccf5
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jg 0x481c28
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov ebp, dword [esp + 0x164]
inc esi
push esi
push 0
push ecx
mov ecx, dword [esp + 0x16c]
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push ebp
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov eax, edi
dec edi
cmp eax, dword [esp + 0x28]
je 0x47ce95
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x47cd7c
jmp 0x47cd70
mov dl, byte [edi - 1]
dec edi
and dl, 0xc0
cmp dl, 0x80
je 0x47cd70
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
push esi
push 0
push eax
mov eax, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x16c]
push edx
push ebx
push ebp
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x47cd54
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp esi, dword [esp + 0x14]
jge 0x47ce20
mov edx, dword [esp + 0x16c]
mov eax, dword [edx + 0x6c]
mov ebx, dword [esp + 0x20]
jmp 0x47cde7
mov edx, dword [esp + 0x16c]
cmp edi, eax
jae 0x47ce00
movzx edx, byte [edi]
movzx edx, byte [edx + ebp]
cmp ebx, edx
je 0x47ce20
inc esi
inc edi
cmp esi, dword [esp + 0x14]
jl 0x47cde0
jmp 0x47ce20
cmp dword [edx + 0x7c], 0
je 0x47ce20
cmp edi, dword [esp + 0x160]
jbe 0x47ce20
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x481c68
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov ebp, dword [esp + 0x164]
cmp edi, ecx
jb 0x47ce95
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x168]
inc esi
lea esp, [esp]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x16c]
push edx
mov edx, dword [esp + 0x16c]
push eax
push ebx
push ebp
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
dec edi
cmp edi, dword [esp + 0x28]
jae 0x47ce50
mov eax, dword [esp + 0x16c]
mov dword [eax + 0x9c], ebp
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esp + 0x24], ebp
je 0x47cf3b
mov ebx, 1
cmp esi, ebx
jl 0x47cf32
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x1c], ecx
cmp edi, dword [esp + 0x1c]
jae 0x481c85
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x47cf23
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47cf23
jmp 0x47cf10
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47cf10
cmp dword [esp + 0x20], edx
je 0x480e4f
inc ebx
cmp ebx, esi
jle 0x47ced4
mov ebp, dword [esp + 0x16c]
jmp 0x47cf6b
mov eax, 1
cmp esi, eax
jl 0x47cf32
mov edx, dword [esp + 0x16c]
mov ecx, dword [edx + 0x6c]
cmp edi, ecx
jae 0x481c95
movzx ebx, byte [edi]
inc edi
cmp dword [esp + 0x20], ebx
je 0x4817e9
inc eax
cmp eax, esi
jle 0x47cf4e
mov ebp, edx
mov eax, dword [esp + 0x14]
cmp esi, eax
je 0x479bb6
cmp dword [esp + 0x28], 0
jne 0x481cb4
cmp dword [esp + 0x24], 0
mov ecx, edi
mov dword [esp + 0x28], ecx
je 0x47d0f1
mov ebx, esi
cmp esi, eax
jge 0x47d028
mov ecx, dword [ebp + 0x6c]
mov dword [esp + 0x1c], ecx
mov edx, 1
cmp edi, dword [esp + 0x1c]
jae 0x47d00d
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x47cffc
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, 1
shl esi, cl
cmp edx, eax
jl 0x47cffb
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47cfe1
mov ebp, dword [esp + 0x16c]
inc edx
cmp dword [esp + 0x20], esi
je 0x47d028
inc ebx
add edi, edx
cmp ebx, dword [esp + 0x14]
jl 0x47cfa4
jmp 0x47d028
cmp dword [ebp + 0x7c], 0
je 0x47d028
cmp edi, dword [esp + 0x160]
jbe 0x47d028
mov dword [ebp + 0x5c], edx
cmp dword [ebp + 0x7c], edx
jg 0x480ea1
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov ebp, dword [esp + 0x164]
inc esi
push esi
push 0
push eax
mov eax, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x16c]
push edx
push ebx
push ebp
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov edx, edi
dec edi
cmp edx, dword [esp + 0x28]
je 0x47d1a5
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x47d0ac
lea esp, [esp]
mov cl, byte [edi - 1]
dec edi
and cl, 0xc0
cmp cl, 0x80
je 0x47d0a0
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push ecx
push ebx
push ebp
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x47d087
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp esi, eax
jge 0x47d12f
mov eax, dword [ebp + 0x6c]
cmp edi, eax
jae 0x47d10f
movzx edx, byte [edi]
cmp dword [esp + 0x20], edx
je 0x47d12f
inc esi
inc edi
cmp esi, dword [esp + 0x14]
jl 0x47d0f8
jmp 0x47d12f
cmp dword [ebp + 0x7c], 0
je 0x47d12f
cmp edi, dword [esp + 0x160]
jbe 0x47d12f
mov eax, 1
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x7c], eax
jg 0x482095
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov ebp, dword [esp + 0x164]
cmp edi, ecx
jb 0x47d1a5
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x168]
inc esi
jmp 0x47d160
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push ecx
push ebx
push ebp
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
dec edi
cmp edi, dword [esp + 0x28]
jae 0x47d160
mov ecx, dword [esp + 0x16c]
mov dword [ecx + 0x9c], ebp
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], 1
add ebx, 3
mov ebp, eax
jmp 0x47d29b
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
mov dword [esp + 0x14], eax
xor eax, eax
cmp cl, 0x40
sete al
mov dword [esp + 0x18], ebp
add ebx, 3
mov dword [esp + 0x28], eax
jmp 0x47d29b
mov dword [esp + 0x2c], 1
mov dword [esp + 0x18], ebp
inc ebx
jmp 0x47d293
mov eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], eax
add ebx, eax
mov ebp, eax
jmp 0x47d293
mov eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], eax
add ebx, eax
jmp 0x47d29b
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], eax
add ebx, 3
jmp 0x47d29b
movsx ebp, byte [eax + 0x4b48c7]
lea ecx, [eax - 0x39]
movsx eax, byte [eax + 0x4b48cf]
and ecx, 1
inc ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], eax
test eax, eax
jne 0x47d29b
mov dword [esp + 0x14], SysStringLen
movzx eax, byte [ebx]
mov edx, 1
add ebx, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x15c], ebx
cmp eax, 0x10
je 0x47d2bf
cmp eax, 0xf
je 0x47d2bf
or ecx, 0xffffffff
jmp 0x47d2e1
movzx esi, byte [ebx + edx]
xor ecx, ecx
cmp eax, 0xf
sete cl
mov dword [esp + 0x40], esi
mov dword [esp + 0x30], ecx
movzx ecx, byte [ebx]
add ebx, edx
add ebx, edx
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x38], ecx
test ebp, ebp
jle 0x47dd94
test ecx, ecx
js 0x47d9c2
cmp ecx, 8
ja case.default.0x47b644
jmp dword [ecx*4 + 0x4838c0]
cmp dword [esp + 0x30], 0
jne 0x480d63
mov ecx, edx
cmp ebp, edx
jl 0x47dd94
mov ebx, dword [esp + 0x16c]
mov esi, dword [ebx + 0x6c]
mov edx, dword [esp + 0x24]
cmp edi, esi
jae 0x481e95
movzx eax, byte [edi]
inc edi
test edx, edx
je 0x47d34f
cmp eax, 0xc0
jb 0x47d34f
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
test eax, eax
jle 0x47d34f
add edi, eax
inc ecx
cmp ecx, ebp
jle 0x47d328
mov edx, ebx
jmp 0x47d41f
mov ebx, edx
cmp ebp, 1
jl 0x47dd94
mov edx, dword [esp + 0x16c]
mov eax, dword [edx + 0x6c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
cmp edi, dword [esp + 0x1c]
jae 0x480ebe
movzx edx, byte [edi]
inc edi
test esi, esi
je 0x47d3c3
cmp edx, 0xc0
jb 0x47d3c3
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47d3c3
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47d3b0
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4a6e38]
and edx, 0x7f
shl ecx, 7
add ecx, edx
movzx edx, word [ecx*2 + 0x4a9038]
movzx eax, byte [edx*8 + 0x4a5e09]
cmp eax, 9
je 0x47d3fa
cmp eax, 5
je 0x47d3fa
cmp eax, 8
je 0x47d3fa
xor eax, eax
jmp 0x47d3ff
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x480e4f
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x47d378
mov edx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x18]
cmp ebp, dword [esp + 0x14]
je 0x479bb6
cmp dword [esp + 0x28], 0
mov eax, dword [esp + 0x38]
jne 0x482119
mov dword [esp + 0x28], edi
test eax, eax
js 0x47ed12
cmp eax, 8
ja case.default.0x47b644
jmp dword [eax*4 + 0x4838e4]
mov ebx, edx
cmp ebp, 1
jl 0x47dd94
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0x6c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
cmp edi, dword [esp + 0x1c]
jae 0x481eda
movzx edx, byte [edi]
inc edi
test esi, esi
je 0x47d4c3
cmp edx, 0xc0
jb 0x47d4c3
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47d4c3
lea esp, [esp]
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47d4b0
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
and edx, 0x7f
add eax, edx
movzx ecx, word [eax*2 + 0x4a9038]
movzx edx, byte [ecx*8 + 0x4a5e09]
mov ecx, dword [esp + 0x40]
xor eax, eax
cmp dword [edx*4 + 0x4b3d40], ecx
sete al
cmp eax, dword [esp + 0x30]
je 0x480d63
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x47d471
jmp 0x47d414
mov ebx, edx
cmp ebp, 1
jl 0x47dd94
mov edx, dword [esp + 0x16c]
mov eax, dword [edx + 0x6c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
cmp edi, dword [esp + 0x1c]
jae 0x480ebe
movzx edx, byte [edi]
inc edi
test esi, esi
je 0x47d579
cmp edx, 0xc0
jb 0x47d579
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47d579
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47d566
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4a6e38]
shl ecx, 7
and edx, 0x7f
add ecx, edx
movzx edx, word [ecx*2 + 0x4a9038]
movzx eax, byte [edx*8 + 0x4a5e09]
xor ecx, ecx
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x480e4f
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x47d52e
jmp 0x47d414
mov ebx, edx
cmp ebp, 1
jl 0x47dd94
mov edx, dword [esp + 0x16c]
mov eax, dword [edx + 0x6c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
cmp edi, dword [esp + 0x1c]
jae 0x481eda
movzx edx, byte [edi]
inc edi
test esi, esi
je 0x47d628
cmp edx, 0xc0
jb 0x47d628
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47d628
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47d615
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4a6e38]
shl ecx, 7
and edx, 0x7f
add ecx, edx
movzx edx, word [ecx*2 + 0x4a9038]
movzx eax, byte [edx*8 + 0x4a5e08]
xor ecx, ecx
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x480d63
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x47d5dd
jmp 0x47d414
mov ebx, edx
cmp ebp, 1
jl 0x47dd94
mov edx, dword [esp + 0x16c]
mov eax, dword [edx + 0x6c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
cmp edi, dword [esp + 0x1c]
jae 0x480ebe
movzx edx, byte [edi]
inc edi
test esi, esi
je 0x47d6d7
cmp edx, 0xc0
jb 0x47d6d7
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47d6d7
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47d6c4
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4a6e38]
and edx, 0x7f
shl ecx, 7
add ecx, edx
movzx edx, word [ecx*2 + 0x4a9038]
movzx eax, byte [edx*8 + 0x4a5e09]
mov eax, dword [eax*4 + 0x4b3d40]
cmp eax, 1
je 0x47d710
cmp eax, 3
je 0x47d710
xor eax, eax
jmp 0x47d715
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x480e4f
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x47d68c
jmp 0x47d414
mov dword [esp + 0x20], edx
cmp ebp, edx
jl 0x47dd94
mov ecx, dword [esp + 0x16c]
mov edx, dword [ecx + 0x6c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov esi, 6
cmp edi, dword [esp + 0x1c]
jae 0x481eda
movzx edx, byte [edi]
inc edi
test ebx, ebx
je 0x47d7a2
cmp edx, 0xc0
jb 0x47d7a2
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47d7a2
lea ebx, [ebx]
movzx ebp, byte [edi]
sub ecx, esi
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47d790
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
mov ecx, edx
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
cmp dword [ecx*4 + 0x4b3d40], esi
je 0x47d7e9
cmp edx, 9
je 0x47d7e9
cmp edx, 0xa
je 0x47d7e9
cmp edx, 0xc
je 0x47d7e9
cmp edx, 0xd
je 0x47d7e9
xor eax, eax
jmp 0x47d7ee
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x480d63
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x18]
jle 0x47d752
jmp 0x47d414
mov dword [esp + 0x20], edx
cmp ebp, edx
jl 0x47dd94
mov edx, dword [esp + 0x16c]
mov eax, dword [edx + 0x6c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov esi, 6
cmp edi, dword [esp + 0x1c]
jae 0x48137e
movzx edx, byte [edi]
inc edi
test ebx, ebx
je 0x47d882
cmp edx, 0xc0
jb 0x47d882
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47d882
jmp 0x47d870
movzx ebp, byte [edi]
sub ecx, esi
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47d870
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4a6e38]
shl ecx, 7
mov eax, edx
and eax, 0x7f
add ecx, eax
movzx ecx, word [ecx*2 + 0x4a9038]
movzx eax, byte [ecx*8 + 0x4a5e09]
cmp dword [eax*4 + 0x4b3d40], esi
je 0x47d8ce
cmp edx, 9
je 0x47d8ce
cmp edx, 0xa
je 0x47d8ce
cmp edx, 0xb
je 0x47d8ce
cmp edx, 0xc
je 0x47d8ce
cmp edx, 0xd
je 0x47d8ce
xor eax, eax
jmp 0x47d8d3
mov eax, 1
cmp eax, dword [esp + 0x30]
je case.0x479be2.115
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x18]
jle 0x47d833
jmp 0x47d414
mov ebx, edx
cmp ebp, 1
jl 0x47dd94
mov ecx, dword [esp + 0x16c]
mov edx, dword [ecx + 0x6c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
cmp edi, dword [esp + 0x1c]
jae 0x480ebe
movzx edx, byte [edi]
inc edi
test esi, esi
je 0x47d963
cmp edx, 0xc0
jb 0x47d963
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47d963
lea ebx, [ebx]
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47d950
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
mov ecx, edx
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
mov eax, dword [ecx*4 + 0x4b3d40]
cmp eax, 1
je 0x47d9a3
cmp eax, 3
je 0x47d9a3
cmp edx, 0x5f
je 0x47d9a3
xor eax, eax
jmp 0x47d9a8
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x480e4f
inc ebx
cmp ebx, dword [esp + 0x18]
jle 0x47d912
jmp 0x47d414
cmp eax, 0x16
jne 0x47db12
mov dword [esp + 0x20], edx
cmp ebp, edx
mov edx, dword [esp + 0x16c]
jl 0x47d41f
mov ebp, dword [edx + 0x6c]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], ebp
lea esp, [esp]
cmp edi, ebp
jae 0x48137e
movzx edx, byte [edi]
inc edi
test ebx, ebx
je 0x47da39
cmp edx, 0xc0
jb 0x47da39
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47da39
movzx esi, byte [edi]
sub ecx, 6
and esi, 0x3f
shl esi, cl
dec eax
inc edi
or edx, esi
test eax, eax
jg 0x47da26
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
and edx, 0x7f
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x4a9038]
movzx edx, byte [ecx*8 + 0x4a5e09]
cmp dword [edx*4 + 0x4b3d40], 2
je case.0x479be2.115
cmp edi, ebp
jae 0x47dafa
movzx edx, byte [edi]
mov esi, 1
test ebx, ebx
je 0x47dac2
cmp edx, 0xc0
jb 0x47dac2
mov eax, edx
and eax, 0x3f
movzx esi, byte [eax + 0x4b3d00]
and edx, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov eax, 1
shl edx, cl
cmp esi, eax
jl 0x47dac1
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or edx, ebp
cmp eax, esi
jle 0x47daaa
mov ebp, dword [esp + 0x1c]
inc esi
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
and edx, 0x7f
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x4a9038]
movzx edx, byte [ecx*8 + 0x4a5e09]
cmp dword [edx*4 + 0x4b3d40], 2
jne 0x47dafa
add edi, esi
cmp edi, ebp
jb 0x47da73
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x18]
jle 0x47d9f0
jmp 0x47d414
add eax, 0xfffffffa
cmp dword [esp + 0x24], 0
je 0x47e16e
cmp eax, 0xf
ja case.default.0x47b644
jmp dword [eax*4 + 0x483908]
mov ebp, edx
cmp dword [esp + 0x18], edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
cmp edi, dword [esi + 0x6c]
jae 0x481f26
mov eax, dword [esi + 0x18]
test eax, eax
je 0x47db72
mov edx, dword [esi + 0x6c]
mov ebx, dword [esp + 0x24]
lea ecx, [esi + 0x1c]
push ecx
push edx
push eax
call fcn.00484b80
add esp, 0xc
test eax, eax
jne 0x47aa15
jmp 0x47db98
mov eax, dword [esi + 0x6c]
sub eax, dword [esi + 0x1c]
cmp edi, eax
ja 0x47db98
mov cl, byte [edi]
cmp cl, byte [esi + 0x2c]
jne 0x47db98
cmp dword [esi + 0x1c], edx
je 0x47aa15
mov dl, byte [edi + 1]
cmp dl, byte [esi + 0x2d]
je 0x47aa15
mov eax, dword [esi + 0x6c]
mov edx, 1
add edi, edx
cmp edi, eax
jae 0x47dbb6
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x47dbb6
add edi, edx
cmp edi, eax
jb 0x47dba6
add ebp, edx
cmp ebp, dword [esp + 0x18]
jle 0x47db43
mov edx, esi
jmp 0x47d41b
mov ecx, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov eax, dword [esi + 0x6c]
cmp edi, eax
jae 0x481f26
add edi, edx
cmp edi, eax
jae 0x47dbf7
mov bl, byte [edi]
and bl, 0xc0
cmp bl, 0x80
jne 0x47dbf7
add edi, edx
cmp edi, eax
jb 0x47dbe7
add ecx, edx
cmp ecx, ebp
jle 0x47dbd9
mov edx, esi
jmp 0x47d41f
mov eax, dword [esp + 0x16c]
mov edx, dword [eax + 0x6c]
sub edx, ebp
cmp edi, edx
ja 0x480c35
add edi, ebp
mov edx, eax
jmp 0x47d41f
mov esi, edx
cmp ebp, edx
jl 0x47d414
mov eax, dword [esp + 0x16c]
mov ebx, dword [eax + 0x6c]
cmp edi, ebx
jae 0x481f66
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x47dc7a
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47dc7a
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47dc67
cmp edx, 0xd
ja 0x47dc97
je 0x47dc8b
cmp edx, 0xa
je 0x47dcbf
add edx, 0xfffffff5
jmp 0x47dca5
cmp edi, ebx
jae 0x47dcbf
cmp byte [edi], 0xa
jne 0x47dcbf
inc edi
jmp 0x47dcbf
cmp edx, 0x85
je 0x47dcae
add edx, 0xffffdfd8
cmp edx, 1
ja 0x480e4f
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x60], 0
jne 0x480c35
inc esi
cmp esi, dword [esp + 0x18]
jle 0x47dc35
jmp 0x47d414
mov esi, edx
cmp ebp, edx
jl 0x47d414
mov edx, dword [esp + 0x16c]
mov ebx, dword [edx + 0x6c]
cmp edi, ebx
jae 0x481f66
movzx eax, byte [edi]
inc edi
cmp eax, 0xc0
jb 0x47dd2b
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4b3d00]
and eax, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
shl eax, cl
test edx, edx
jle 0x47dd27
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec edx
inc edi
or eax, ebp
test edx, edx
jg 0x47dd14
mov ebp, dword [esp + 0x18]
cmp eax, 0x180e
ja 0x47dd5a
je 0x480e4f
cmp eax, 0xa0
ja 0x47dd53
je 0x480e4f
cmp eax, 9
je 0x480e4f
cmp eax, 0x20
jmp 0x47dd85
cmp eax, 0x1680
jmp 0x47dd85
cmp eax, 0x205f
ja 0x47dd80
je 0x480e4f
cmp eax, 0x2000
jb 0x47dd8b
cmp eax, 0x200a
jbe 0x480e4f
cmp eax, 0x202f
jmp 0x47dd85
cmp eax, 0x3000
je 0x480e4f
inc esi
cmp esi, ebp
jle 0x47dce3
mov edx, dword [esp + 0x16c]
jmp 0x47d41f
mov esi, edx
cmp ebp, edx
jl 0x47d414
mov edx, dword [esp + 0x16c]
mov ebx, dword [edx + 0x6c]
cmp edi, ebx
jae 0x48137e
movzx eax, byte [edi]
inc edi
cmp eax, 0xc0
jb 0x47ddfc
mov ecx, eax
and ecx, 0x3f
movzx edx, byte [ecx + 0x4b3d00]
and eax, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
shl eax, cl
test edx, edx
jle 0x47ddf8
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec edx
inc edi
or eax, ebp
test edx, edx
jg 0x47dde5
mov ebp, dword [esp + 0x18]
cmp eax, 0x180e
ja 0x47de1f
je 0x47de4c
cmp eax, 0xa0
ja 0x47de18
je 0x47de4c
cmp eax, 9
je 0x47de4c
cmp eax, 0x20
jmp 0x47de46
cmp eax, 0x1680
jmp 0x47de46
cmp eax, 0x205f
ja 0x47de41
je 0x47de4c
cmp eax, 0x2000
jb case.0x479be2.115
cmp eax, 0x200a
jbe 0x47de4c
cmp eax, 0x202f
jmp 0x47de46
cmp eax, 0x3000
jne case.0x479be2.115
inc esi
cmp esi, ebp
jle 0x47ddb4
mov edx, dword [esp + 0x16c]
jmp 0x47d41f
mov esi, edx
cmp ebp, edx
jl 0x47d414
mov edx, dword [esp + 0x16c]
mov ebx, dword [edx + 0x6c]
cmp edi, ebx
jae 0x481f66
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x47deba
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47deba
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47dea7
cmp edx, 0x85
ja 0x47ded2
je 0x480e4f
cmp edx, 0xa
jb 0x47dee6
cmp edx, 0xd
jmp 0x47dee0
cmp edx, 0x2028
jb 0x47dee6
cmp edx, 0x2029
jbe 0x480e4f
inc esi
cmp esi, dword [esp + 0x18]
jle 0x47de75
jmp 0x47d414
mov esi, edx
cmp ebp, edx
jl 0x47d414
mov ecx, dword [esp + 0x16c]
mov ebx, dword [ecx + 0x6c]
cmp edi, ebx
jae 0x48137e
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x47df57
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47df53
jmp 0x47df40
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47df40
mov ebp, dword [esp + 0x18]
cmp edx, 0x85
ja 0x47df69
je 0x47df78
add edx, 0xfffffff6
cmp edx, 3
jmp 0x47df72
add edx, 0xffffdfd8
cmp edx, 1
ja case.0x479be2.115
inc esi
cmp esi, ebp
jle 0x47df06
mov edx, dword [esp + 0x16c]
jmp 0x47d41f
mov esi, edx
cmp ebp, edx
jl 0x47d414
mov ebx, dword [esp + 0x16c]
lea ebx, [ebx]
cmp edi, dword [ebx + 0x6c]
jae 0x481803
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x47dfe6
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47dfe6
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x47dfd3
cmp edx, 0x80
jae 0x47dffb
mov eax, dword [ebx + 0x34]
test byte [edx + eax], 4
jne 0x480a8e
inc esi
cmp esi, dword [esp + 0x18]
jle 0x47dfa0
mov edx, ebx
jmp 0x47d41b
mov ecx, edx
cmp ebp, edx
jl 0x47d414
mov edx, dword [esp + 0x16c]
mov esi, dword [edx + 0x6c]
lea ecx, [ecx]
cmp edi, esi
jae 0x481f9a
mov al, byte [edi]
cmp al, 0x80
jae 0x4817e9
mov ebx, dword [edx + 0x34]
movzx eax, al
mov al, byte [eax + ebx]
inc edi
and al, 4
je 0x4817e9
inc ecx
cmp ecx, ebp
jle 0x47e020
jmp 0x47d41f
cmp ebp, 1
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x481fa3
mov al, byte [edi]
cmp al, 0x80
jae 0x47e080
mov ebx, dword [esi + 0x34]
movzx eax, al
test byte [eax + ebx], 1
jne case.0x47e252.14
nop
inc edi
cmp edi, ecx
jae 0x47e08d
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x47e080
inc edx
cmp edx, ebp
jle 0x47e061
mov edx, esi
jmp 0x47d41f
mov ecx, edx
cmp ebp, edx
jl 0x47d414
mov edx, dword [esp + 0x16c]
mov esi, dword [edx + 0x6c]
lea ecx, [ecx]
cmp edi, esi
jae 0x481fe8
mov al, byte [edi]
cmp al, 0x80
jae 0x481c9a
mov ebx, dword [edx + 0x34]
movzx eax, al
mov al, byte [eax + ebx]
inc edi
and al, 1
je 0x481c9a
inc ecx
cmp ecx, ebp
jle 0x47e0b0
jmp 0x47d41f
cmp ebp, 1
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x48202d
mov al, byte [edi]
cmp al, 0x80
jae 0x47e110
mov ebx, dword [esi + 0x34]
movzx eax, al
test byte [eax + ebx], 0x10
jne 0x47b692
nop
inc edi
cmp edi, ecx
jae 0x47e11d
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
je 0x47e110
inc edx
cmp edx, ebp
jle 0x47e0f1
mov edx, esi
jmp 0x47d41f
mov ecx, edx
cmp ebp, edx
jl 0x47d414
mov edx, dword [esp + 0x16c]
mov esi, dword [edx + 0x6c]
lea ecx, [ecx]
cmp edi, esi
jae 0x481f9a
mov al, byte [edi]
cmp al, 0x80
jae 0x4817e9
mov ebx, dword [edx + 0x34]
movzx eax, al
mov al, byte [eax + ebx]
inc edi
and al, 0x10
je 0x4817e9
inc ecx
cmp ecx, ebp
jle 0x47e140
jmp 0x47d41f
cmp eax, 0xf
ja case.default.0x47b644
jmp dword [eax*4 + 0x483948]
cmp ebp, edx
jl 0x47d414
mov ebp, dword [esp + 0x16c]
mov esi, edx
cmp edi, dword [ebp + 0x6c]
jae 0x482072
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x47e1d0
mov edx, dword [ebp + 0x6c]
lea ecx, [ebp + 0x1c]
push ecx
push edx
push eax
xor ebx, ebx
call fcn.00484b80
add esp, 0xc
test eax, eax
je 0x47e1ee
mov eax, dword [esp + 0x164]
mov dword [ebp + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [ebp + 0x6c]
sub eax, dword [ebp + 0x1c]
cmp edi, eax
ja 0x47e1ee
mov cl, byte [edi]
cmp cl, byte [ebp + 0x2c]
jne 0x47e1ee
cmp dword [ebp + 0x1c], edx
je 0x47e1b6
mov dl, byte [edi + 1]
cmp dl, byte [ebp + 0x2d]
je 0x47e1b6
mov edx, 1
add esi, edx
add edi, edx
cmp esi, dword [esp + 0x18]
jle 0x47e18f
jmp 0x47d414
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0x6c]
sub ecx, ebp
cmp edi, ecx
ja 0x4820b2
add edi, ebp
mov edx, eax
jmp 0x47d41f
mov ecx, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov edx, dword [esi + 0x6c]
cmp edi, edx
jae 0x4820d4
movzx eax, byte [edi]
sub eax, 0xa
inc edi
cmp eax, 0x7b
ja case.0x47e252.14
movzx eax, byte [eax + 0x483998]
jmp dword [eax*4 + 0x483988]
cmp edi, edx
jae case.0x47e252.10
cmp byte [edi], 0xa
jne case.0x47e252.10
inc edi
jmp case.0x47e252.10
cmp dword [esi + 0x60], 0
jne 0x47aa15
inc ecx
cmp ecx, ebp
jle 0x47e233
mov edx, esi
jmp 0x47d41f
mov ecx, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov edx, dword [esi + 0x6c]
nop
cmp edi, edx
jae 0x481fa3
movzx eax, byte [edi]
inc edi
cmp eax, 9
je case.0x47e252.14
cmp eax, 0x20
je case.0x47e252.14
cmp eax, 0xa0
je case.0x47e252.14
inc ecx
cmp ecx, ebp
jle 0x47e290
mov edx, esi
jmp 0x47d41f
mov ecx, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov edx, dword [esi + 0x6c]
lea esp, [esp]
cmp edi, edx
jae 0x481fa3
movzx eax, byte [edi]
inc edi
cmp eax, 9
je 0x47e301
cmp eax, 0x20
je 0x47e301
cmp eax, 0xa0
jne case.0x47e252.14
inc ecx
cmp ecx, ebp
jle 0x47e2e0
mov edx, esi
jmp 0x47d41f
mov ecx, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov edx, dword [esi + 0x6c]
cmp edi, edx
jae 0x481fa3
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl 0x47e346
cmp eax, 0xd
jle case.0x47e252.14
cmp eax, 0x85
je case.0x47e252.14
inc ecx
cmp ecx, ebp
jle 0x47e321
mov edx, esi
jmp 0x47d41f
mov ecx, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov edx, dword [esi + 0x6c]
cmp edi, edx
jae 0x481fa3
movzx eax, byte [edi]
inc edi
cmp eax, 0xa
jl case.0x47e252.14
cmp eax, 0xd
jle 0x47e38b
cmp eax, 0x85
jne case.0x47e252.14
inc ecx
cmp ecx, ebp
jle 0x47e366
mov edx, esi
jmp 0x47d41f
mov eax, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x481fa3
movzx edx, byte [edi]
mov ebx, dword [esi + 0x34]
mov dl, byte [edx + ebx]
inc edi
and dl, 4
jne case.0x47e252.14
inc eax
cmp eax, ebp
jle 0x47e3ab
mov edx, esi
jmp 0x47d41f
mov eax, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x481fa3
movzx edx, byte [edi]
mov ebx, dword [esi + 0x34]
mov dl, byte [edx + ebx]
inc edi
and dl, 4
je case.0x47e252.14
inc eax
cmp eax, ebp
jle 0x47e3e6
mov edx, esi
jmp 0x47d41f
mov eax, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x481fa3
movzx edx, byte [edi]
mov ebx, dword [esi + 0x34]
mov dl, byte [edx + ebx]
inc edi
and dl, 1
jne case.0x47e252.14
inc eax
cmp eax, ebp
jle 0x47e421
mov edx, esi
jmp 0x47d41f
mov eax, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x481fa3
movzx edx, byte [edi]
mov ebx, dword [esi + 0x34]
mov dl, byte [edx + ebx]
inc edi
and dl, 1
je case.0x47e252.14
inc eax
cmp eax, ebp
jle 0x47e45c
mov edx, esi
jmp 0x47d41f
mov eax, edx
cmp ebp, edx
jl 0x47d414
mov esi, dword [esp + 0x16c]
mov ecx, dword [esi + 0x6c]
cmp edi, ecx
jae 0x481fa3
movzx edx, byte [edi]
mov ebx, dword [esi + 0x34]
mov dl, byte [edx + ebx]
inc edi
and dl, 0x10
jne case.0x47e252.14
inc eax
cmp eax, ebp
jle 0x47e497
mov edx, esi
jmp 0x47d41f
mov eax, edx
cmp ebp, edx
mov edx, dword [esp + 0x16c]
jl 0x47d41f
mov ecx, dword [edx + 0x6c]
cmp edi, ecx
jae 0x481fe8
movzx esi, byte [edi]
mov ebx, dword [edx + 0x34]
mov bl, byte [esi + ebx]
inc edi
and bl, 0x10
je 0x481c9a
inc eax
cmp eax, ebp
jle 0x47e4d2
jmp 0x47d41f
mov ebx, dword [esp + 0x14]
mov edx, ebp
cmp ebp, ebx
jge 0x47ec46
mov eax, dword [esp + 0x16c]
mov esi, dword [eax + 0x6c]
mov ebp, dword [esp + 0x30]
jmp 0x47e527
mov eax, dword [esp + 0x16c]
mov ecx, 1
cmp edi, esi
jae 0x47e560
cmp dword [esp + 0x24], 0
movzx eax, byte [edi]
je 0x47e54c
cmp eax, 0xc0
jb 0x47e54c
and eax, 0x3f
movzx ecx, byte [eax + 0x4b3d00]
inc ecx
test ebp, ebp
jne 0x47ec46
inc edx
add edi, ecx
cmp edx, ebx
jl 0x47e520
jmp 0x47ec46
cmp dword [eax + 0x7c], 0
je 0x47ec46
cmp edi, dword [esp + 0x160]
jbe 0x47ec46
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x481f09
jmp 0x47ec46
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47ec46
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x1c], eax
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47e655
cmp dword [esp + 0x24], 0
movzx eax, byte [edi]
je 0x47e5fd
cmp eax, 0xc0
jb 0x47e5fd
mov ecx, eax
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x47e5f5
movzx ebp, byte [edx + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc edx
or eax, ebp
cmp edx, esi
jle 0x47e5e2
mov edx, dword [esp + 0x16c]
inc esi
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6e38]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a9038]
movzx eax, byte [eax*8 + 0x4a5e09]
cmp eax, 9
je 0x47e634
cmp eax, 5
je 0x47e634
cmp eax, 8
je 0x47e634
xor eax, eax
jmp 0x47e639
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x47ec46
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47e59b
jmp 0x47ec46
cmp dword [edx + 0x7c], 0
je 0x47ec46
cmp edi, dword [esp + 0x160]
jbe 0x47ec46
mov eax, esi
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x481c68
jmp 0x47ec46
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47ec46
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47ec29
cmp dword [esp + 0x24], 0
movzx eax, byte [edi]
je 0x47e6f4
cmp eax, 0xc0
jb 0x47e6f4
mov edx, eax
and edx, 0x3f
movzx esi, byte [edx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x47e6ec
movzx ebp, byte [edx + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc edx
or eax, ebp
cmp edx, esi
jle 0x47e6d9
mov edx, dword [esp + 0x16c]
inc esi
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6e38]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
mov ecx, dword [ecx*4 + 0x4b3d40]
xor eax, eax
cmp ecx, dword [esp + 0x40]
sete al
cmp eax, dword [esp + 0x30]
je 0x47ec46
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47e692
jmp 0x47ec46
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47ec46
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x1c], eax
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47e655
cmp dword [esp + 0x24], 0
movzx eax, byte [edi]
je 0x47e7b9
cmp eax, 0xc0
jb 0x47e7b9
mov ecx, eax
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x47e7b1
movzx ebp, byte [edx + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc edx
or eax, ebp
cmp edx, esi
jle 0x47e79e
mov edx, dword [esp + 0x16c]
inc esi
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6e38]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
xor eax, eax
cmp ecx, dword [esp + 0x40]
sete al
cmp eax, dword [esp + 0x30]
je 0x47ec46
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47e757
jmp 0x47ec46
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47ec46
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47ec29
cmp dword [esp + 0x24], 0
movzx eax, byte [edi]
je 0x47e877
cmp eax, 0xc0
jb 0x47e877
mov edx, eax
and edx, 0x3f
movzx esi, byte [edx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x47e86f
movzx ebp, byte [edx + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc edx
or eax, ebp
cmp edx, esi
jle 0x47e85c
mov edx, dword [esp + 0x16c]
inc esi
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6e38]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e08]
xor eax, eax
cmp ecx, dword [esp + 0x40]
sete al
cmp eax, dword [esp + 0x30]
je 0x47ec46
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47e815
jmp 0x47ec46
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47ec46
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47e655
cmp dword [esp + 0x24], 0
movzx eax, byte [edi]
je 0x47e935
cmp eax, 0xc0
jb 0x47e935
mov edx, eax
and edx, 0x3f
movzx esi, byte [edx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x47e92d
movzx ebp, byte [edx + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc edx
or eax, ebp
cmp edx, esi
jle 0x47e91a
mov edx, dword [esp + 0x16c]
inc esi
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6e38]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
mov eax, dword [ecx*4 + 0x4b3d40]
cmp eax, 1
je 0x47e96e
cmp eax, 3
je 0x47e96e
xor eax, eax
jmp 0x47e973
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x47ec46
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47e8d3
jmp 0x47ec46
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47ec46
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x1c], eax
jmp 0x47e9b7
mov edx, dword [esp + 0x16c]
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47ec29
cmp dword [esp + 0x24], 0
movzx edx, byte [edi]
je 0x47ea0f
cmp edx, 0xc0
jb 0x47ea0f
mov ecx, edx
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and edx, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov eax, 1
shl edx, cl
cmp esi, eax
jl 0x47ea0e
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or edx, ebp
cmp eax, esi
jle 0x47e9fb
inc esi
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
mov ecx, edx
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
cmp dword [ecx*4 + 0x4b3d40], 6
je 0x47ea57
cmp edx, 9
je 0x47ea57
cmp edx, 0xa
je 0x47ea57
cmp edx, 0xc
je 0x47ea57
cmp edx, 0xd
je 0x47ea57
xor eax, eax
jmp 0x47ea5c
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x47ec46
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47e9b0
jmp 0x47ec46
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47ec46
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x1c], eax
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47e655
cmp dword [esp + 0x24], 0
movzx eax, byte [edi]
je 0x47eae9
cmp eax, 0xc0
jb 0x47eae9
mov ecx, eax
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x47eae1
movzx ebp, byte [edx + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc edx
or eax, ebp
cmp edx, esi
jle 0x47eace
mov edx, dword [esp + 0x16c]
inc esi
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a6e38]
shl ecx, 7
mov ebp, eax
and ebp, 0x7f
add ecx, ebp
movzx ecx, word [ecx*2 + 0x4a9038]
movzx ecx, byte [ecx*8 + 0x4a5e09]
cmp dword [ecx*4 + 0x4b3d40], 6
je 0x47eb36
cmp eax, 9
je 0x47eb36
cmp eax, 0xa
je 0x47eb36
cmp eax, 0xb
je 0x47eb36
cmp eax, 0xc
je 0x47eb36
cmp eax, 0xd
je 0x47eb36
xor eax, eax
jmp 0x47eb3b
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x47ec46
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47ea8b
jmp 0x47ec46
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47ec46
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x1c], eax
jmp 0x47eb77
mov edx, dword [esp + 0x16c]
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47ec29
cmp dword [esp + 0x24], 0
movzx edx, byte [edi]
je 0x47ebcf
cmp edx, 0xc0
jb 0x47ebcf
mov ecx, edx
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and edx, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov eax, 1
shl edx, cl
cmp esi, eax
jl 0x47ebce
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or edx, ebp
cmp eax, esi
jle 0x47ebbb
inc esi
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
mov ecx, edx
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
mov eax, dword [ecx*4 + 0x4b3d40]
cmp eax, 1
je 0x47ec0f
cmp eax, 3
je 0x47ec0f
cmp edx, 0x5f
je 0x47ec0f
xor eax, eax
jmp 0x47ec14
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x47ec46
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47eb70
jmp 0x47ec46
cmp dword [edx + 0x7c], 0
je 0x47ec46
cmp edi, dword [esp + 0x160]
jbe 0x47ec46
mov eax, esi
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x482010
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov ebp, dword [esp + 0x15c]
inc esi
push esi
push 0
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebx
push edx
push eax
push ebp
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov ecx, edi
dec edi
cmp ecx, dword [esp + 0x28]
je case.0x479be2.115
cmp dword [esp + 0x24], 0
je 0x47eccd
mov dl, byte [edi]
and dl, 0xc0
cmp dl, 0x80
jne 0x47eccd
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x47ecc3
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x47eca5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x34]
cmp eax, 0x16
jne 0x47ef23
mov dword [esp + 0x20], ebp
cmp ebp, dword [esp + 0x14]
jge 0x47ee9d
mov edx, dword [esp + 0x16c]
mov eax, dword [edx + 0x6c]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x1c]
cmp edi, esi
jae 0x47ee76
movzx edx, byte [edi]
inc edi
test ebp, ebp
je 0x47ed93
cmp edx, 0xc0
jb 0x47ed93
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x47ed93
lea ecx, [ecx]
movzx ebx, byte [edi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec eax
inc edi
or edx, ebx
test eax, eax
jg 0x47ed80
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4a6e38]
and edx, 0x7f
shl ecx, 7
add ecx, edx
movzx edx, word [ecx*2 + 0x4a9038]
movzx eax, byte [edx*8 + 0x4a5e09]
mov ebx, 2
cmp dword [eax*4 + 0x4b3d40], ebx
je 0x47ee9d
cmp edi, esi
jae 0x47ee61
movzx edx, byte [edi]
mov esi, 1
test ebp, ebp
je 0x47ee28
cmp edx, 0xc0
jb 0x47ee28
mov ecx, edx
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and edx, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov eax, 1
shl edx, cl
cmp esi, eax
jl 0x47ee27
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or edx, ebp
cmp eax, esi
jle 0x47ee10
mov ebp, dword [esp + 0x24]
inc esi
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
and edx, 0x7f
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x4a9038]
movzx edx, byte [ecx*8 + 0x4a5e09]
cmp dword [edx*4 + 0x4b3d40], ebx
jne 0x47ee61
add edi, esi
cmp edi, dword [esp + 0x1c]
jb 0x47edd1
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x14]
jl 0x47ed3f
jmp 0x47ee9d
mov ecx, dword [esp + 0x16c]
cmp dword [ecx + 0x7c], 0
je 0x47ee9d
cmp edi, dword [esp + 0x160]
jbe 0x47ee9d
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x47faa8
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov ebx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
inc ebx
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x174]
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 edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov edx, edi
dec edi
cmp edx, dword [esp + 0x28]
je case.0x479be2.115
lea esp, [esp]
cmp dword [esp + 0x24], 0
jne 0x4835a5
movzx eax, byte [edi]
jmp 0x4835fc
add eax, 0xfffffffa
cmp dword [esp + 0x24], 0
je 0x47f908
cmp eax, 0xf
ja case.default.0x47b644
jmp dword [eax*4 + 0x483a14]
cmp dword [esp + 0x14], 0x7fffffff
mov esi, ebp
jge 0x47f01c
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
jmp 0x47ef60
cmp edi, dword [edx + 0x6c]
jae 0x47efef
mov eax, dword [edx + 0x18]
test eax, eax
je 0x47ef9d
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x24]
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x6c]
push edx
push ecx
push eax
call fcn.00484b80
add esp, 0xc
test eax, eax
jne 0x47f83c
mov edx, dword [esp + 0x16c]
jmp 0x47efc4
mov eax, dword [edx + 0x6c]
sub eax, dword [edx + 0x1c]
cmp edi, eax
ja 0x47efc4
mov cl, byte [edi]
cmp cl, byte [edx + 0x2c]
jne 0x47efc4
cmp dword [edx + 0x1c], 1
je 0x47f83c
mov al, byte [edi + 1]
cmp al, byte [edx + 0x2d]
je 0x47f83c
mov eax, dword [edx + 0x6c]
inc edi
cmp edi, eax
jae 0x47efdf
lea esp, [esp]
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x47efdf
inc edi
cmp edi, eax
jb 0x47efd0
inc esi
cmp esi, dword [esp + 0x14]
jl 0x47ef60
jmp 0x47f83c
cmp dword [edx + 0x7c], 0
je 0x47f83c
cmp edi, dword [esp + 0x160]
jbe 0x47f83c
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x481c68
jmp 0x47f83c
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
cmp edi, dword [edx + 0x6c]
jae 0x47f117
mov eax, dword [edx + 0x18]
test eax, eax
je 0x47f063
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x24]
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x6c]
push edx
push ecx
push eax
call fcn.00484b80
add esp, 0xc
test eax, eax
jne 0x47f83c
mov edx, dword [esp + 0x16c]
jmp 0x47f08a
mov eax, dword [edx + 0x6c]
sub eax, dword [edx + 0x1c]
cmp edi, eax
ja 0x47f08a
mov cl, byte [edi]
cmp cl, byte [edx + 0x2c]
jne 0x47f08a
cmp dword [edx + 0x1c], 1
je 0x47f83c
mov al, byte [edi + 1]
cmp al, byte [edx + 0x2d]
je 0x47f83c
mov eax, dword [edx + 0x6c]
inc edi
cmp edi, eax
jae 0x47f0a1
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x47f0a1
inc edi
cmp edi, eax
jb 0x47f092
inc esi
cmp esi, dword [esp + 0x14]
jl 0x47f026
jmp 0x47f83c
mov esi, dword [esp + 0x14]
cmp esi, 0x7fffffff
jge 0x47f0fd
mov ecx, ebp
cmp ebp, esi
jge 0x47f83c
mov eax, dword [edx + 0x6c]
mov edi, edi
cmp edi, eax
jae 0x47efef
inc edi
cmp edi, eax
jae 0x47f0f3
lea ecx, [ecx]
mov bl, byte [edi]
and bl, 0xc0
cmp bl, 0x80
jne 0x47f0ef
inc edi
cmp edi, eax
jb 0x47f0e0
mov esi, dword [esp + 0x14]
inc ecx
cmp ecx, esi
jl 0x47f0d0
jmp 0x47f83c
mov edi, dword [edx + 0x6c]
jmp 0x47f83c
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 0x6c]
sub eax, ebp
sub ecx, edi
cmp eax, ecx
jbe 0x47f144
mov edi, dword [edx + 0x6c]
cmp dword [edx + 0x7c], 0
je 0x47f83c
cmp edi, dword [esp + 0x160]
jbe 0x47f83c
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x482010
jmp 0x47f83c
add edi, eax
jmp 0x47f83c
mov dword [esp + 0x20], ebp
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
mov ebx, dword [edx + 0x6c]
mov ecx, dword [esp + 0x16c]
mov esi, 1
cmp edi, ebx
jae 0x47f229
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47f1bd
mov eax, edx
and eax, 0x3f
movzx esi, byte [eax + 0x4b3d00]
and edx, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov eax, 1
shl edx, cl
cmp esi, eax
jl 0x47f1b5
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or edx, ebp
cmp eax, esi
jle 0x47f1a2
mov ecx, dword [esp + 0x16c]
inc esi
cmp edx, 0xd
jne 0x47f1da
inc edi
cmp edi, ebx
jae 0x47f83c
cmp byte [edi], 0xa
jne 0x47f211
inc edi
jmp 0x47f211
cmp edx, 0xa
je 0x47f20f
cmp dword [ecx + 0x60], 0
jne 0x47f83c
cmp edx, 0xb
je 0x47f20f
cmp edx, 0xc
je 0x47f20f
cmp edx, 0x85
je 0x47f20f
cmp edx, 0x2028
je 0x47f20f
cmp edx, 0x2029
jne 0x47f83c
add edi, esi
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [esp + 0x14]
jl 0x47f163
jmp 0x47f83c
cmp dword [ecx + 0x7c], 0
je 0x47f83c
cmp edi, dword [esp + 0x160]
jbe 0x47f83c
mov eax, esi
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x4813ad
jmp 0x47f83c
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47f342
movzx eax, byte [edi]
cmp eax, 0xc0
jb 0x47f2c1
mov edx, eax
and edx, 0x3f
movzx esi, byte [edx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x47f2b9
movzx ebp, byte [edx + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc edx
or eax, ebp
cmp edx, esi
jle 0x47f2a6
mov edx, dword [esp + 0x16c]
inc esi
cmp eax, 0x180e
ja 0x47f2f0
je 0x47f319
cmp eax, 0xa0
ja 0x47f2e9
je 0x47f319
cmp eax, 9
je 0x47f319
cmp eax, 0x20
jmp 0x47f313
cmp eax, 0x1680
jmp 0x47f313
cmp eax, 0x205f
ja 0x47f30e
je 0x47f319
cmp eax, 0x2000
jb 0x47f315
cmp eax, 0x200a
jbe 0x47f319
cmp eax, 0x202f
jmp 0x47f313
cmp eax, 0x3000
je 0x47f319
xor eax, eax
jmp 0x47f31e
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x34], 0x12
sete cl
cmp eax, ecx
je 0x47f83c
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47f266
jmp 0x47f83c
cmp dword [edx + 0x7c], 0
je 0x47f83c
cmp edi, dword [esp + 0x160]
jbe 0x47f83c
mov eax, esi
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x481c68
jmp 0x47f83c
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
mov eax, dword [edx + 0x6c]
mov dword [esp + 0x1c], eax
jmp 0x47f397
mov edx, dword [esp + 0x16c]
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x47f434
movzx edx, byte [edi]
cmp edx, 0xc0
jb 0x47f3e8
mov ecx, edx
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and edx, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov eax, 1
shl edx, cl
cmp esi, eax
jl 0x47f3e7
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or edx, ebp
cmp eax, esi
jle 0x47f3d4
inc esi
cmp edx, 0x85
ja 0x47f422
je 0x47f42d
cmp edx, 0xa
jb 0x47f3fc
cmp edx, 0xd
jbe 0x47f42d
xor eax, eax
xor ecx, ecx
cmp dword [esp + 0x34], 0x14
sete cl
cmp eax, ecx
je 0x47f83c
inc ebx
add edi, esi
cmp ebx, dword [esp + 0x14]
jl 0x47f390
jmp 0x47f83c
add edx, 0xffffdfd8
cmp edx, 1
ja 0x47f3fc
mov eax, 1
jmp 0x47f3fe
cmp dword [edx + 0x7c], 0
je 0x47f83c
cmp edi, dword [esp + 0x160]
jbe 0x47f83c
mov eax, esi
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x482010
jmp 0x47f83c
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
mov edx, dword [edx + 0x6c]
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x1c], edx
mov edx, 1
cmp edi, dword [esp + 0x1c]
jae 0x47f4f7
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x47f4d4
mov eax, esi
and eax, 0x3f
movzx edx, byte [eax + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, 1
shl esi, cl
cmp edx, eax
jl 0x47f4cc
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47f4b9
mov ecx, dword [esp + 0x16c]
inc edx
cmp esi, 0x100
jae 0x47f4e9
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
jne 0x47f83c
inc ebx
add edi, edx
cmp ebx, dword [esp + 0x14]
jl 0x47f478
jmp 0x47f83c
cmp dword [ecx + 0x7c], 0
je 0x47f83c
cmp edi, dword [esp + 0x160]
jbe 0x47f83c
mov eax, edx
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x4813ad
jmp 0x47f83c
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x16c]
mov edx, 1
cmp edi, dword [esp + 0x1c]
jae 0x47f81f
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x47f597
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, 1
shl esi, cl
cmp edx, eax
jl 0x47f58f
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47f57c
mov ecx, dword [esp + 0x16c]
inc edx
cmp esi, 0x100
jae 0x47f83c
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 4
je 0x47f83c
inc ebx
add edi, edx
cmp ebx, dword [esp + 0x14]
jl 0x47f53b
jmp 0x47f83c
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x16c]
mov edx, 1
cmp edi, dword [esp + 0x1c]
jae 0x47f4f7
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x47f634
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, 1
shl esi, cl
cmp edx, eax
jl 0x47f62c
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47f619
mov ecx, dword [esp + 0x16c]
inc edx
cmp esi, 0x100
jae 0x47f649
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 1
jne 0x47f83c
inc ebx
add edi, edx
cmp ebx, dword [esp + 0x14]
jl 0x47f5d8
jmp 0x47f83c
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x16c]
mov edx, 1
cmp edi, dword [esp + 0x1c]
jae 0x47f81f
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x47f6cd
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, 1
shl esi, cl
cmp edx, eax
jl 0x47f6c5
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47f6b2
mov ecx, dword [esp + 0x16c]
inc edx
cmp esi, 0x100
jae 0x47f83c
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 1
je 0x47f83c
inc ebx
add edi, edx
cmp ebx, dword [esp + 0x14]
jl 0x47f671
jmp 0x47f83c
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x16c]
mov edx, 1
cmp edi, dword [esp + 0x1c]
jae 0x47f4f7
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x47f76a
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, 1
shl esi, cl
cmp edx, eax
jl 0x47f762
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47f74f
mov ecx, dword [esp + 0x16c]
inc edx
cmp esi, 0x100
jae 0x47f77f
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
jne 0x47f83c
inc ebx
add edi, edx
cmp ebx, dword [esp + 0x14]
jl 0x47f70e
jmp 0x47f83c
mov ebx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47f83c
mov ecx, dword [edx + 0x6c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x16c]
mov edx, 1
cmp edi, dword [esp + 0x1c]
jae 0x47f81f
movzx esi, byte [edi]
cmp esi, 0xc0
jb 0x47f803
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
mov eax, 1
shl esi, cl
cmp edx, eax
jl 0x47f7fb
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or esi, ebp
cmp eax, edx
jle 0x47f7e8
mov ecx, dword [esp + 0x16c]
inc edx
cmp esi, 0x100
jae 0x47f83c
mov eax, dword [ecx + 0x34]
test byte [esi + eax], 0x10
je 0x47f83c
inc ebx
add edi, edx
cmp ebx, dword [esp + 0x14]
jl 0x47f7a7
jmp 0x47f83c
cmp dword [ecx + 0x7c], 0
je 0x47f83c
cmp edi, dword [esp + 0x160]
jbe 0x47f83c
mov eax, edx
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x47faa8
cmp dword [esp + 0x2c], 0
jne 0x479bb6
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov ebp, dword [esp + 0x15c]
inc esi
push esi
push 0
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push ebp
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
jmp 0x47f8a0
mov eax, edi
dec edi
cmp eax, dword [esp + 0x28]
je case.0x479be2.115
mov cl, byte [edi]
and cl, 0xc0
cmp cl, 0x80
jne 0x47f8c3
mov dl, byte [edi - 1]
dec edi
and dl, 0xc0
cmp dl, 0x80
je 0x47f8b7
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
push esi
push 0
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
push ebp
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x47f8a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp eax, 0xf
ja case.default.0x47b644
jmp dword [eax*4 + 0x483a54]
mov esi, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
cmp edi, dword [edx + 0x6c]
jae 0x47f993
mov eax, dword [edx + 0x18]
test eax, eax
je 0x47f95f
mov ecx, dword [esp + 0x16c]
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x6c]
push edx
push ecx
push eax
xor ebx, ebx
call fcn.00484b80
add esp, 0xc
test eax, eax
jne 0x47fe81
mov edx, dword [esp + 0x16c]
jmp 0x47f986
mov eax, dword [edx + 0x6c]
sub eax, dword [edx + 0x1c]
cmp edi, eax
ja 0x47f986
mov cl, byte [edi]
cmp cl, byte [edx + 0x2c]
jne 0x47f986
cmp dword [edx + 0x1c], 1
je 0x47fe81
mov al, byte [edi + 1]
cmp al, byte [edx + 0x2d]
je 0x47fe81
inc esi
inc edi
cmp esi, dword [esp + 0x14]
jl 0x47f924
jmp 0x47fe81
cmp dword [edx + 0x7c], 0
je 0x47fe81
cmp edi, dword [esp + 0x160]
jbe 0x47fe81
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x481c68
jmp 0x47fe81
mov eax, dword [esp + 0x14]
mov ecx, dword [edx + 0x6c]
sub eax, ebp
sub ecx, edi
cmp eax, ecx
jbe 0x47fa06
mov edi, dword [edx + 0x6c]
cmp dword [edx + 0x7c], 0
je 0x47fe81
cmp edi, dword [esp + 0x160]
jbe 0x47fe81
mov ecx, dword [esp + 0x16c]
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x4813ad
jmp 0x47fe81
add edi, eax
jmp 0x47fe81
mov ecx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov esi, dword [esp + 0x16c]
mov edx, dword [esi + 0x6c]
jmp 0x47fa2c
mov esi, dword [esp + 0x16c]
cmp edi, edx
jae 0x47fa79
movzx eax, byte [edi]
cmp eax, 0xd
jne 0x47fa48
inc edi
cmp edi, edx
jae 0x47fe81
cmp byte [edi], 0xa
jne 0x47fa6d
jmp 0x47fa6c
cmp eax, 0xa
je 0x47fa6c
cmp dword [esi + 0x60], 0
jne 0x47fe81
cmp eax, 0xb
je 0x47fa6c
cmp eax, 0xc
je 0x47fa6c
cmp eax, 0x85
jne 0x47fe81
inc edi
inc ecx
cmp ecx, dword [esp + 0x14]
jl 0x47fa25
jmp 0x47fe81
cmp dword [esi + 0x7c], 0
je 0x47fe81
cmp edi, dword [esp + 0x160]
jbe 0x47fe81
mov ecx, dword [esp + 0x16c]
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x47fe81
mov eax, dword [esp + 0x164]
mov dword [ecx + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov edx, dword [esp + 0x16c]
mov edx, dword [edx + 0x6c]
cmp edi, edx
jae 0x47fb0c
movzx eax, byte [edi]
cmp eax, 9
je 0x47fe81
cmp eax, 0x20
je 0x47fe81
cmp eax, 0xa0
je 0x47fe81
inc ecx
inc edi
cmp ecx, dword [esp + 0x14]
jl 0x47fadb
jmp 0x47fe81
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
je 0x47fe81
cmp edi, dword [esp + 0x160]
jbe 0x47fe81
mov ecx, dword [esp + 0x16c]
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x4813ad
jmp 0x47fe81
mov ecx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov edx, dword [esp + 0x16c]
mov edx, dword [edx + 0x6c]
cmp edi, edx
jae 0x47fb86
movzx eax, byte [edi]
cmp eax, 9
je 0x47fb79
cmp eax, 0x20
je 0x47fb79
cmp eax, 0xa0
jne 0x47fe81
inc ecx
inc edi
cmp ecx, dword [esp + 0x14]
jl 0x47fb5d
jmp 0x47fe81
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
je 0x47fe81
cmp edi, dword [esp + 0x160]
jbe 0x47fe81
mov ecx, dword [esp + 0x16c]
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x47faa8
jmp 0x47fe81
mov ecx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov edx, dword [esp + 0x16c]
mov edx, dword [edx + 0x6c]
cmp edi, edx
jae 0x47fb0c
movzx eax, byte [edi]
cmp eax, 0xa
je 0x47fe81
cmp eax, 0xb
je 0x47fe81
cmp eax, 0xc
je 0x47fe81
cmp eax, 0xd
je 0x47fe81
cmp eax, 0x85
je 0x47fe81
inc ecx
inc edi
cmp ecx, dword [esp + 0x14]
jl 0x47fbd7
jmp 0x47fe81
mov ecx, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov ebx, dword [esp + 0x16c]
mov edx, dword [ebx + 0x6c]
mov esi, dword [esp + 0x14]
cmp edi, edx
jae 0x47fc69
movzx eax, byte [edi]
cmp eax, 0xa
je 0x47fc5e
cmp eax, 0xb
je 0x47fc5e
cmp eax, 0xc
je 0x47fc5e
cmp eax, 0xd
je 0x47fc5e
cmp eax, 0x85
jne 0x47fe81
inc ecx
inc edi
cmp ecx, esi
jl 0x47fc38
jmp 0x47fe81
cmp dword [ebx + 0x7c], 0
je 0x47fe81
cmp edi, dword [esp + 0x160]
jbe 0x47fe81
mov eax, 1
mov ecx, ebx
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x47faa8
jmp 0x47fe81
mov eax, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov edx, dword [esp + 0x16c]
mov ecx, dword [edx + 0x6c]
jmp 0x47fcb7
mov edx, dword [esp + 0x16c]
cmp edi, ecx
jae 0x47f9d2
movzx esi, byte [edi]
mov edx, dword [edx + 0x34]
test byte [esi + edx], 4
jne 0x47fe81
inc eax
inc edi
cmp eax, dword [esp + 0x14]
jl 0x47fcb0
jmp 0x47fe81
mov eax, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov edx, dword [esp + 0x16c]
mov ecx, dword [edx + 0x6c]
jmp 0x47fcfb
mov edx, dword [esp + 0x16c]
cmp edi, ecx
jae 0x47fd1c
movzx esi, byte [edi]
mov edx, dword [edx + 0x34]
test byte [esi + edx], 4
je 0x47fe81
inc eax
inc edi
cmp eax, dword [esp + 0x14]
jl 0x47fcf4
jmp 0x47fe81
cmp dword [edx + 0x7c], 0
je 0x47fe81
cmp edi, dword [esp + 0x160]
jbe 0x47fe81
mov ecx, dword [esp + 0x16c]
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jg 0x47faa8
jmp 0x47fe81
mov eax, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov edx, dword [esp + 0x16c]
mov ecx, dword [edx + 0x6c]
jmp 0x47fd77
mov edx, dword [esp + 0x16c]
cmp edi, ecx
jae 0x47f9d2
movzx esi, byte [edi]
mov edx, dword [edx + 0x34]
test byte [esi + edx], 1
jne 0x47fe81
inc eax
inc edi
cmp eax, dword [esp + 0x14]
jl 0x47fd70
jmp 0x47fe81
mov eax, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov edx, dword [esp + 0x16c]
mov ecx, dword [edx + 0x6c]
jmp 0x47fdc7
mov edx, dword [esp + 0x16c]
cmp edi, ecx
jae 0x47fd1c
movzx esi, byte [edi]
mov edx, dword [edx + 0x34]
test byte [esi + edx], 1
je 0x47fe81
inc eax
inc edi
cmp eax, dword [esp + 0x14]
jl 0x47fdc0
jmp 0x47fe81
mov eax, ebp
cmp ebp, dword [esp + 0x14]
jge 0x47fe81
mov edx, dword [esp + 0x16c]
mov ecx, dword [edx + 0x6c]
jmp 0x47fe17
mov edx, dword [esp + 0x16c]
cmp edi, ecx
jae 0x47f9d2
movzx esi, byte [edi]
mov edx, dword [edx + 0x34]
test byte [esi + edx], 0x10
jne 0x47fe81
inc eax
inc edi
cmp eax, dword [esp + 0x14]
jl 0x47fe10
jmp 0x47fe81
mov esi, dword [esp + 0x14]
mov eax, ebp
cmp ebp, esi
jge 0x47fe81
mov ecx, dword [edx + 0x6c]
cmp edi, ecx
jae 0x47fe61
movzx ebx, byte [edi]
mov ebp, dword [edx + 0x34]
test byte [ebx + ebp], 0x10
je 0x47fe81
inc eax
inc edi
cmp eax, esi
jl 0x47fe49
jmp 0x47fe81
cmp dword [edx + 0x7c], 0
je 0x47fe81
cmp edi, dword [esp + 0x160]
jbe 0x47fe81
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jg 0x483687
cmp dword [esp + 0x2c], 0
jne 0x479bb6
cmp edi, dword [esp + 0x28]
jb case.0x479be2.115
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x168]
mov ebp, dword [esp + 0x174]
inc esi
lea esp, [esp]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x164]
push esi
push 0
push ebp
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ebx
push ecx
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
dec edi
test eax, eax
jne 0x4836b0
cmp edi, dword [esp + 0x28]
jae 0x47feb0
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x16c]
mov dword [edx + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
movzx eax, byte [ebx + 4]
movzx ecx, byte [ebx + 5]
shl eax, 8
or eax, ecx
cmp byte [ebx + eax + 3], 0x54
lea eax, [ebx + eax + 3]
mov dword [esp + 0x15c], eax
jne 0x47ff50
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
add eax, edx
cmp byte [eax], 0x54
je 0x47ff35
mov dword [esp + 0x15c], eax
mov ebx, dword [esp + 0x15c]
add ebx, 3
cmp dword [esp + 0x18], 0x63
mov dword [esp + 0x15c], ebx
jne 0x480387
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
inc ecx
push ecx
mov ecx, dword [esp + 0x16c]
push 2
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ebp
push ecx
push edx
push eax
push ebx
push edi
call fcn.00479b40
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x15c]
movzx esi, byte [eax + 3]
movzx edx, byte [eax + 4]
mov ebp, dword [esp + 0x16c]
shl esi, 8
or esi, edx
lea ebx, [esi + esi]
cmp ebx, dword [ebp + 0x14]
jge 0x48012a
mov ecx, ebp
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + ebx*4]
mov dword [esp + 0x38], edx
mov edx, dword [eax + ebx*4 + 4]
mov dword [esp + 0x34], edx
mov edx, dword [ecx + 0x10]
sub edx, esi
lea eax, [eax + edx*4]
mov edx, dword [eax]
mov dword [esp + 0x40], edx
mov edx, dword [ecx + 0x84]
mov dword [esp + 0x44], edx
mov edx, edi
sub edx, dword [ecx + 0x68]
mov ecx, dword [esp + 0x17c]
mov dword [eax], edx
xor eax, eax
cmp dword [esp + 0x18], 0x62
setne al
lea ebp, [eax - 1]
and ebp, 2
inc ecx
mov dword [esp + 0x3c], ecx
jmp 0x480030
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push ebp
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
movzx ecx, byte [eax]
push edx
movzx edx, byte [ecx + 0x4b3c38]
add edx, eax
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x480092
cmp eax, 0xfffffc1e
jne 0x4836b0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x16c]
mov dword [edx + 0x84], ecx
mov ecx, dword [esp + 0x15c]
movzx edx, byte [ecx + 1]
movzx ecx, byte [ecx + 2]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x15c]
add ecx, edx
cmp byte [ecx], 0x54
mov dword [esp + 0x15c], ecx
je 0x480030
mov ecx, dword [esp + 0x16c]
mov edx, dword [ecx + 0xc]
mov edi, dword [esp + 0x38]
mov dword [edx + ebx*4], edi
mov edx, dword [ecx + 0xc]
mov edi, dword [esp + 0x34]
mov dword [edx + ebx*4 + 4], edi
mov edx, dword [ecx + 0x10]
mov edi, dword [esp + 0x40]
sub edx, esi
mov esi, dword [ecx + 0xc]
mov dword [esi + edx*4], edi
cmp eax, 0xfffffc1e
je 0x48010f
mov eax, dword [esp + 0x164]
mov dword [ecx + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ebp, dword [esp + 0x16c]
mov eax, dword [esp + 0x15c]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
xor ebx, ebx
cmp dword [esp + 0x18], 0x61
setl bl
shl ecx, 8
or ecx, edx
dec ebx
and ebx, 2
cmp byte [ecx + eax], 0x54
mov dword [esp + 0x178], ebx
jne 0x4801ec
mov esi, dword [esp + 0x17c]
inc esi
mov edi, edi
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
push esi
push ebx
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push ebp
push edx
push eax
mov eax, dword [esp + 0x178]
movzx edx, byte [eax]
push ecx
movzx ecx, byte [edx + 0x4b3c38]
add ecx, eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x4801b7
cmp eax, 0xfffffc1e
jne 0x4836b0
mov eax, dword [esp + 0x15c]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
shl edx, 8
or edx, ecx
movzx ecx, byte [eax + edx + 2]
add eax, edx
movzx edx, byte [eax + 1]
shl edx, 8
or edx, ecx
cmp byte [edx + eax], 0x54
mov dword [esp + 0x15c], eax
je 0x480160
test ebx, ebx
jne 0x4807df
movzx edx, byte [eax]
movzx ecx, byte [edx + 0x4b3c38]
add eax, ecx
mov dword [esp + 0x15c], eax
jmp 0x480392
cmp byte [ecx + 3], 0x19
lea esi, [ecx + 3]
jne 0x480233
mov eax, dword [esp + 0x170]
movzx edx, byte [ecx + 4]
and eax, 0xfffffff8
or edx, eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x170], edx
cmp byte [ecx], 0x57
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x17c]
jne 0x480280
inc ecx
push ecx
mov ecx, dword [esp + 0x174]
push 0
push edx
mov edx, dword [esp + 0x170]
push ecx
push ebp
push eax
push edx
push ebx
push esi
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x15c], eax
jmp 0x480387
inc ecx
push ecx
mov ecx, dword [esp + 0x174]
push 2
push edx
mov edx, dword [esp + 0x170]
push ecx
push ebp
push eax
mov eax, dword [esp + 0x50]
push edx
push ebx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov dword [esp + 0x15c], esi
jmp 0x480387
cmp byte [ebx], 0x61
mov ecx, dword [esp + 0x15c]
sbb esi, esi
and esi, 0xfffffffe
add esi, 2
cmp byte [ecx], 0x57
mov dword [esp + 0x178], esi
jne 0x48033d
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x3c]
inc edx
push edx
mov edx, dword [esp + 0x16c]
push 0
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push ebp
push edx
mov edx, dword [esp + 0x174]
push eax
push ecx
add edx, 3
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
test esi, esi
jne 0x480b1c
mov dword [esp + 0x15c], ebx
jmp 0x480392
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x3c]
inc eax
push eax
mov eax, dword [esp + 0x16c]
push esi
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push ebp
push eax
push ecx
push edx
push ebx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
add dword [esp + 0x15c], 3
mov dword [esp + 0x178], 0
mov eax, dword [ebp + 0x44]
mov ecx, dword [ebp]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x16c]
cmp ecx, dword [ebp + 4]
jb 0x479b74
inc dword [eax]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov ebp, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x16c]
push ecx
movzx ecx, byte [ebx]
push ebp
push edx
movzx edx, byte [ecx + 0x4b3c38]
lea esi, [ebx + 2]
push esi
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
cmp eax, 0xfffffc1d
jne 0x480473
mov edx, dword [ebp + 0x70]
mov ecx, esi
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x480457
test bl, bl
je 0x480453
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x480457
add ecx, 2
add edx, 2
test bl, bl
jne 0x480437
xor ecx, ecx
jmp 0x48045c
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x480473
mov dword [ebp + 0x70], edi
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ebp + 0x9c], 0
jne 0x4836b0
mov dword [ebp + 0x9c], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov ebp, dword [esp + 0x16c]
mov esi, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x16c]
push eax
movzx eax, byte [ebx]
push ebp
push ecx
movzx ecx, byte [eax + 0x4b3c38]
push esi
push edx
add ecx, ebx
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov dword [ebp + 0x9c], esi
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov ebp, dword [esp + 0x16c]
mov esi, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x16c]
push edx
movzx edx, byte [ebx]
push ebp
push eax
movzx eax, byte [edx + 0x4b3c38]
push esi
push ecx
add eax, ebx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov dword [ebp + 0x9c], esi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov esi, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x174]
push edx
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 [ebx]
push eax
movzx eax, byte [edx + 0x4b3c38]
push ecx
movzx ecx, byte [ebx + 1]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
add ebx, 2
mov dword [esi + 0x9c], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov esi, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x16c]
push edx
movzx edx, byte [ebx]
push esi
push eax
movzx eax, byte [edx + 0x4b3c38]
push ebp
push ecx
add eax, ebx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov dword [esi + 0x70], edi
mov dword [esi + 0x9c], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov esi, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x174]
push edx
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 [ebx]
push eax
movzx eax, byte [edx + 0x4b3c38]
push ecx
movzx ecx, byte [ebx + 1]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
add ebx, 2
mov dword [esi + 0x70], ebx
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov ebp, dword [esp + 0x16c]
mov esi, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x16c]
push edx
movzx edx, byte [ebx]
push ebp
push eax
movzx eax, byte [edx + 0x4b3c38]
push esi
push ecx
add eax, ebx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov dword [ebp + 0x9c], esi
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
mov esi, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x174]
push edx
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 [ebx]
push eax
movzx eax, byte [edx + 0x4b3c38]
push ecx
movzx ecx, byte [ebx + 1]
add eax, ebx
add ecx, eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
add ebx, 2
mov dword [esi + 0x9c], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov esi, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x16c]
push ebx
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push ebp
push ecx
movzx ecx, byte [eax]
push esi
push edx
movzx edx, byte [ecx + 0x4b3c38]
add edx, eax
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov dword [ebp + 0x9c], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x160]
cmp edi, ecx
jne 0x480884
cmp dword [eax + 0x54], ebp
jne 0x48086a
cmp dword [eax + 0x58], ebp
je 0x480884
mov esi, dword [eax + 0x88]
add esi, dword [eax + 0x68]
cmp ecx, esi
jne 0x480884
mov ecx, dword [esp + 0x164]
mov dword [eax + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x168]
mov dword [eax + 0x74], edi
mov dword [eax + 0x80], esi
mov dword [eax + 0x70], ecx
mov ecx, dword [esp + 0x164]
mov dword [eax + 0x9c], ecx
mov eax, edx
neg eax
sbb eax, eax
and eax, 0xfffffc18
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov edx, dword [esp + 0x164]
mov dword [ebp + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
movzx esi, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x16c]
add esi, dword [eax + 0x64]
cmp esi, dword [eax + 0x64]
jne 0x4808f7
mov dword [esp + 0x5c], ebp
jmp 0x480908
movzx ecx, byte [esi + 3]
movzx edx, byte [esi + 4]
shl ecx, 8
or ecx, edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 0x94]
mov dword [esp + 0x48], ecx
lea edx, [esp + 0x48]
mov dword [eax + 0x94], edx
add ebx, 3
mov dword [esp + 0x4c], ebx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x54], ecx
cmp ecx, 0x1e
jg 0x48093c
lea eax, [esp + 0xd8]
mov dword [esp + 0x50], eax
jmp 0x480969
lea eax, [ecx*4]
push eax
call dword [0x4bd378]
add esp, 4
mov dword [esp + 0x50], eax
test eax, eax
jne 0x480965
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x16c]
add ecx, ecx
add ecx, ecx
push ecx
mov ecx, dword [edx + 0xc]
push ecx
push eax
call fcn.00489760
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x64], edx
mov al, byte [esi]
add esp, 0xc
cmp al, 0x61
sbb ebp, ebp
and ebp, 0xfffffffe
add ebp, 2
inc ecx
mov dword [esp + 0x3c], ecx
jmp 0x4809b0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x174]
push ebp
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
movzx eax, al
movzx ecx, byte [eax + 0x4b3c38]
push edx
add ecx, esi
push ecx
push edi
call fcn.00479b40
mov ebx, eax
add esp, 0x28
cmp ebx, 1
je 0x480ace
cmp ebx, 0xfffffc19
je 0x480ace
test ebx, ebx
je 0x480a23
cmp ebx, 0xfffffc1e
jne 0x480aa8
mov ebx, dword [esp + 0x16c]
lea edx, [esp + 0x48]
mov dword [ebx + 0x94], edx
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
lea ecx, [eax*4]
mov eax, dword [ebx + 0xc]
push ecx
push edx
push eax
call fcn.00489760
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
shl ecx, 8
or ecx, edx
mov al, byte [esi + ecx]
add esi, ecx
add esp, 0xc
cmp al, 0x54
je 0x4809b0
mov edx, dword [esp + 0x48]
mov dword [ebx + 0x94], edx
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x480a8e
push eax
call dword [0x4bd37c]
add esp, 4
mov edx, dword [esp + 0x164]
mov dword [ebx + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x480ac1
push eax
call dword [0x4bd37c]
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x16c]
mov dword [ecx + 0x94], eax
mov eax, dword [esp + 0x50]
lea edx, [esp + 0xd8]
cmp eax, edx
je 0x480af8
push eax
call dword [0x4bd37c]
add esp, 4
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x16c]
mov dword [ecx + 0x9c], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x3c]
inc edx
push edx
mov edx, dword [esp + 0x16c]
push esi
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push ebp
push edx
push eax
push ecx
push ebx
push edi
call fcn.00479b40
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov ecx, dword [esp + 0x160]
mov dword [eax + 0x74], edi
mov dword [eax + 0x80], edx
mov edx, dword [esp + 0x164]
mov dword [eax + 0x70], ecx
mov dword [eax + 0x9c], edx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x164]
mov dword [ebp + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esi + 0x7c], ebp
je 0x47aa15
cmp edi, dword [esp + 0x160]
jbe 0x47aa15
mov dword [esi + 0x5c], 1
cmp dword [esi + 0x7c], 1
jle 0x47aa15
mov ecx, dword [esp + 0x164]
mov eax, 0xfffffff4
mov dword [esi + 0x9c], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [eax + 0x7c], ebp
je 0x480c35
cmp edi, dword [esp + 0x160]
jbe 0x480c35
mov dword [eax + 0x5c], 1
cmp dword [eax + 0x7c], 1
jle 0x480c35
mov ecx, dword [esp + 0x164]
mov dword [eax + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov edx, dword [esp + 0x164]
mov dword [eax + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esi + 0x7c], ebp
je 0x47b692
cmp edi, dword [esp + 0x160]
jbe 0x47b692
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47b692
mov eax, dword [esp + 0x164]
mov dword [esi + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ebp + 0x7c], 0
je 0x480b9f
cmp edi, dword [esp + 0x160]
jbe 0x480b9f
mov eax, 1
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x7c], eax
jle 0x480b9f
mov eax, dword [esp + 0x164]
mov dword [ebp + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esi + 0x7c], ebp
je 0x47aa15
cmp edi, dword [esp + 0x160]
jbe 0x47aa15
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47aa15
mov ecx, dword [esp + 0x164]
mov dword [esi + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
je 0x480c35
cmp edi, dword [eax + 0x6c]
jb 0x480c35
cmp edi, dword [esp + 0x160]
jbe 0x480c35
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jmp 0x480c16
mov eax, dword [esp + 0x16c]
mov edx, dword [esp + 0x164]
mov dword [eax + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov dword [esp + 0x28], edi
cmp ebx, ebp
jge 0x480df3
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x34]
push eax
push ecx
mov ecx, dword [esp + 0x174]
mov eax, esi
mov edx, edi
call fcn.004799d0
add esp, 8
test eax, eax
je 0x480dbd
inc ebx
add edi, esi
cmp ebx, ebp
jl 0x480d90
jmp 0x480de9
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
je 0x480de9
cmp edi, dword [eax + 0x6c]
jb 0x480de9
cmp edi, dword [esp + 0x160]
jbe 0x480de9
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jg 0x481f09
cmp edi, dword [esp + 0x28]
jb 0x480e4f
mov ebp, dword [esp + 0x17c]
mov ebx, dword [esp + 0x15c]
inc ebp
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
push ebp
push 0
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 ebx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
sub edi, esi
cmp edi, dword [esp + 0x28]
jae 0x480e02
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x16c]
mov dword [ecx + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ebp + 0x7c], 0
je 0x47e1b6
cmp edi, dword [ebp + 0x6c]
jb 0x47e1b6
cmp edi, dword [esp + 0x160]
jbe 0x47e1b6
mov eax, 1
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x7c], eax
jle 0x47e1b6
mov edx, dword [esp + 0x164]
mov dword [ebp + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
je 0x480c35
cmp edi, dword [esp + 0x160]
jbe 0x480c35
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jmp 0x480c16
mov ecx, edx
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x2c]
shr edx, 3
mov dl, byte [edx + ecx]
test dl, al
je 0x480f57
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
inc dword [esp + 0x20]
push esi
push 0
push eax
mov eax, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x16c]
push ebp
push edx
push ebx
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x47bdd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov dword [ebp + 0x9c], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ebp + 0x7c], 0
je 0x480f57
cmp edi, dword [esp + 0x160]
jbe 0x480f57
mov eax, 1
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x7c], eax
jle 0x480f57
mov dword [ebp + 0x9c], ebx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ebx, dword [esp + 0x16c]
mov ebp, esi
mov esi, dword [esp + 0x17c]
inc esi
push esi
push 0
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ebx
push ecx
mov ecx, dword [esp + 0x174]
push edx
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
lea ecx, [ecx]
cmp ebp, dword [esp + 0x14]
jge 0x481062
cmp edi, dword [ebx + 0x6c]
jae 0x48107c
movzx eax, byte [edi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x2c]
shr eax, 3
mov al, byte [eax + ecx]
inc edi
test al, dl
je 0x481062
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x168]
push esi
push 0
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 edi
inc ebp
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x480fe0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x164]
mov dword [ebx + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ebx + 0x7c], 0
je 0x4810b5
cmp edi, dword [esp + 0x160]
jbe 0x4810b5
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jle 0x4810b5
mov edx, dword [esp + 0x164]
mov dword [ebx + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x164]
mov dword [ebx + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esp + 0x24], 0
mov dword [esp + 0x28], edi
je 0x481276
mov ebp, esi
cmp esi, ebx
jge 0x4811b8
mov eax, dword [esp + 0x16c]
mov edx, dword [eax + 0x6c]
mov dword [esp + 0x1c], edx
jmp 0x481107
mov eax, dword [esp + 0x16c]
mov esi, 1
cmp edi, dword [esp + 0x1c]
jae 0x48119d
movzx eax, byte [edi]
cmp eax, 0xc0
jb 0x481168
mov ecx, eax
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x481167
jmp 0x481150
movzx ebx, byte [edx + edi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
inc edx
or eax, ebx
cmp edx, esi
jle 0x481150
mov ebx, dword [esp + 0x14]
inc esi
cmp eax, 0xff
jbe 0x481176
cmp dword [esp + 0x18], 0x4e
jmp 0x48118e
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x2c]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x4811b8
inc ebp
add edi, esi
cmp ebp, ebx
jl 0x481100
jmp 0x4811b8
cmp dword [eax + 0x7c], 0
je 0x4811b8
cmp edi, dword [esp + 0x160]
jbe 0x4811b8
mov dword [eax + 0x5c], esi
cmp dword [eax + 0x7c], esi
jg 0x480c18
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, dword [esp + 0x15c]
inc esi
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
push edx
push ebp
push eax
push ebx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
lea esp, [esp]
mov ecx, edi
dec edi
cmp ecx, dword [esp + 0x28]
je 0x481364
mov dl, byte [edi]
and dl, 0xc0
cmp dl, 0x80
jne 0x481231
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x481227
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push ebp
push edx
push ebx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x481210
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp esi, ebx
jge 0x4812dd
mov ebp, dword [esp + 0x16c]
mov edx, dword [ebp + 0x6c]
cmp edi, edx
jae 0x4812b3
movzx eax, byte [edi]
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x2c]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x4812d3
inc esi
inc edi
cmp esi, dword [esp + 0x14]
jl 0x481288
jmp 0x4812d3
cmp dword [ebp + 0x7c], 0
je 0x4812d3
cmp edi, dword [esp + 0x160]
jbe 0x4812d3
mov eax, 1
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x7c], eax
jg 0x482095
cmp edi, dword [esp + 0x28]
jb 0x48135d
mov esi, dword [esp + 0x17c]
mov ebx, dword [esp + 0x15c]
mov ebp, dword [esp + 0x164]
inc esi
jmp 0x481300
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
push edx
push ebp
push eax
push ebx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
dec edi
cmp edi, dword [esp + 0x28]
jae 0x481300
mov ecx, dword [esp + 0x16c]
mov dword [ecx + 0x9c], ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ebp, dword [esp + 0x164]
mov ecx, dword [esp + 0x16c]
mov dword [ecx + 0x9c], ebp
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x16c]
cmp dword [ecx + 0x7c], 0
je 0x480102
cmp edi, dword [esp + 0x160]
jbe 0x480102
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x480102
mov edx, dword [esp + 0x164]
mov dword [ecx + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [eax + 0x7c], 0
je 0x47ce9c
cmp edi, dword [esp + 0x160]
jbe 0x47ce9c
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x47ce9c
mov dword [eax + 0x9c], ebp
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], esi
cmp esi, ebp
jge 0x4814cb
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0x6c]
mov dword [esp + 0x1c], ecx
jmp 0x481430
mov ebx, 1
cmp edi, dword [esp + 0x1c]
jae 0x4814a9
cmp dword [esp + 0x24], 0
movzx esi, byte [edi]
je 0x481487
cmp esi, 0xc0
jb 0x481487
mov edx, esi
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and esi, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
shl esi, cl
mov eax, ebx
cmp edx, ebx
jl 0x481484
movzx ebx, byte [eax + edi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
inc eax
or esi, ebx
cmp eax, edx
jle 0x481471
lea ebx, [edx + 1]
mov eax, dword [esp + 0x2c]
push esi
call fcn.00484e20
add esp, 4
test eax, eax
je 0x4814cb
mov eax, dword [esp + 0x20]
inc eax
add edi, ebx
mov dword [esp + 0x20], eax
cmp eax, ebp
jl 0x481430
jmp 0x4814cb
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
je 0x4814cb
cmp edi, dword [esp + 0x160]
jbe 0x4814cb
mov dword [eax + 0x5c], ebx
cmp dword [eax + 0x7c], ebx
jg 0x480c18
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
mov ebp, dword [esp + 0x15c]
inc esi
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
push edx
push ebx
push eax
push ebp
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
nop
mov ecx, edi
dec edi
cmp ecx, dword [esp + 0x28]
je 0x48158f
cmp dword [esp + 0x24], 0
je 0x48154a
mov dl, byte [edi]
and dl, 0xc0
cmp dl, 0x80
jne 0x48154a
mov edi, edi
mov al, byte [edi - 1]
dec edi
and al, 0xc0
cmp al, 0x80
je 0x481540
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
push ecx
push ebx
push edx
push ebp
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x481520
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x16c]
mov dword [eax + 0x9c], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esi + 0x7c], ebp
je 0x47aa15
cmp edi, dword [esi + 0x6c]
jb 0x47aa15
jmp 0x480bc2
cmp dword [ecx + 0x7c], 0
je 0x480102
cmp edi, dword [ecx + 0x6c]
jb 0x480102
cmp edi, dword [esp + 0x160]
jbe 0x480102
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x480102
mov edx, dword [esp + 0x164]
mov dword [ecx + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ecx + 0x7c], ebp
je 0x480102
cmp edi, dword [esp + 0x160]
jbe 0x480102
mov dword [ecx + 0x5c], 1
cmp dword [ecx + 0x7c], 1
jle 0x480102
mov edx, dword [esp + 0x164]
mov dword [ecx + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ebx, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x174]
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 edi
mov dword [esp + 0x48], ebp
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x16c]
cmp ecx, dword [esp + 0x14]
jge 0x4817e9
mov ebp, dword [edx + 0x6c]
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ecx, eax
cmp edi, ecx
ja 0x481721
mov ecx, dword [esp + 0x38]
mov esi, edi
cmp eax, 4
jb 0x4816f4
lea ecx, [ecx]
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x481721
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x4816e0
test eax, eax
je 0x481718
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x481721
cmp eax, 1
jbe 0x481718
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x481721
cmp eax, 2
jbe 0x481718
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x481721
add edi, dword [esp + 0x1c]
jmp 0x48178e
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x480d2c
sub ebp, eax
cmp edi, ebp
ja 0x480d2c
lea ecx, [esp + 0x60]
mov esi, edi
cmp eax, 4
jb 0x48175a
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x480d2c
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x481742
test eax, eax
je 0x48178a
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x480d2c
cmp eax, 1
jbe 0x48178a
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x480d2c
cmp eax, 2
jbe 0x48178a
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x480d2c
add edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
inc dword [esp + 0x20]
push ebx
push 0
push ecx
mov ecx, dword [esp + 0x174]
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 edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x4816aa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x164]
mov dword [edx + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ebx + 0x7c], 0
je 0x481062
cmp edi, dword [esp + 0x160]
jbe 0x481062
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jle 0x481062
mov eax, dword [esp + 0x164]
mov dword [ebx + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
inc esi
push esi
push 0
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
mov ebx, edx
mov edx, dword [esp + 0x17c]
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov edi, edi
cmp ebx, dword [esp + 0x14]
jge case.0x479be2.115
mov ecx, dword [esp + 0x16c]
cmp edi, dword [ecx + 0x6c]
jae 0x481f6d
movzx edx, byte [edi]
mov eax, dword [ecx + 0x30]
movzx edx, byte [edx + eax]
inc edi
cmp ebp, edx
jne 0x480102
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
push esi
push 0
push eax
mov eax, dword [esp + 0x174]
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 edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x4818a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ebx, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x174]
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 edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
cmp ebp, dword [esp + 0x14]
jge 0x480e4f
mov eax, dword [esp + 0x16c]
cmp edi, dword [eax + 0x6c]
jae 0x481ee1
movzx ecx, byte [edi]
inc edi
cmp esi, ecx
jne 0x480c35
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push ebx
push 0
push edx
mov edx, dword [esp + 0x174]
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 edi
inc ebp
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x481975
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
je 0x480e4f
cmp edi, dword [esp + 0x160]
jbe 0x480e4f
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x480e4f
mov ecx, dword [esp + 0x164]
mov edx, eax
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, esi
mov esi, dword [esp + 0x17c]
inc esi
push esi
push 0
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebp
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
cmp dword [esp + 0x24], 0
je 0x481ba4
test eax, eax
jne 0x4836b0
cmp ebx, dword [esp + 0x14]
jge 0x47c8a5
mov ecx, dword [esp + 0x16c]
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x481afc
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x481af5
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x481ae2
mov ebp, dword [esp + 0x164]
mov eax, dword [esp + 0x16c]
cmp edx, 0x100
jae 0x481b12
mov ecx, dword [eax + 0x30]
movzx edx, byte [edx + ecx]
cmp dword [esp + 0x20], edx
je 0x47ce9c
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x174]
push edx
push ebp
push eax
push ecx
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x481a9e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ecx + 0x7c], 0
je 0x48136b
cmp edi, dword [esp + 0x160]
jbe 0x48136b
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x48136b
mov dword [ecx + 0x9c], ebp
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
test eax, eax
jne 0x4836b0
lea esp, [esp]
mov ecx, dword [esp + 0x16c]
cmp ebx, dword [esp + 0x14]
jge 0x48136b
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx eax, byte [edi]
mov edx, dword [ecx + 0x30]
movzx eax, byte [eax + edx]
inc edi
cmp dword [esp + 0x20], eax
je 0x48136b
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebp
push edx
push eax
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x481bb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x16c]
mov edx, dword [esp + 0x164]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
je 0x481c9a
cmp edi, dword [esp + 0x160]
jbe 0x481c9a
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jle 0x481c9a
mov eax, dword [esp + 0x164]
mov dword [edx + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
jmp 0x480c00
cmp dword [edx + 0x7c], ebp
jmp 0x481c4c
mov ecx, dword [esp + 0x164]
mov dword [edx + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ebp, dword [esp + 0x164]
mov ebx, esi
mov esi, dword [esp + 0x17c]
inc esi
cmp dword [esp + 0x24], 0
push esi
push 0
je 0x481dd5
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebp
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov ecx, dword [esp + 0x16c]
cmp ebx, dword [esp + 0x14]
jge 0x48136b
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx edx, byte [edi]
inc edi
cmp edx, 0xc0
jb 0x481d7a
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x481d73
lea esp, [esp]
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x481d60
mov ebp, dword [esp + 0x164]
cmp dword [esp + 0x20], edx
je 0x47c8a5
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x481d15
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebp
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
jmp 0x481e20
mov ecx, dword [esp + 0x16c]
cmp ebx, dword [esp + 0x14]
jge 0x48136b
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx eax, byte [edi]
inc edi
cmp dword [esp + 0x20], eax
je 0x48136b
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebp
push edx
push eax
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x481e20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ebx + 0x7c], 0
je 0x480a8e
cmp edi, dword [esp + 0x160]
jbe 0x480a8e
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jle 0x480a8e
mov ecx, dword [esp + 0x164]
mov dword [ebx + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x16c]
cmp dword [eax + 0x7c], 0
je 0x48086a
cmp edi, dword [esp + 0x160]
jbe 0x48086a
mov ecx, 1
mov dword [eax + 0x5c], ecx
cmp dword [eax + 0x7c], ecx
jle 0x48086a
mov edx, dword [esp + 0x164]
mov dword [eax + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esi + 0x7c], 0
je 0x47b692
cmp edi, dword [esp + 0x160]
jbe 0x47b692
mov dword [esi + 0x5c], edx
cmp dword [esi + 0x7c], edx
jle 0x47b692
mov eax, dword [esp + 0x164]
mov dword [esi + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ecx, dword [esp + 0x16c]
cmp dword [ecx + 0x7c], 0
je 0x47aeb8
cmp edi, dword [esp + 0x160]
jbe 0x47aeb8
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x47aeb8
jmp 0x47faa8
cmp dword [edx + 0x7c], 0
jmp 0x481c4c
cmp dword [esi + 0x7c], 0
je 0x47aa15
cmp edi, dword [esp + 0x160]
jbe 0x47aa15
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47aa15
mov ecx, dword [esp + 0x164]
mov dword [esi + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [edx + 0x7c], 0
je 0x4817e9
cmp edi, dword [esp + 0x160]
jbe 0x4817e9
mov eax, 1
mov dword [edx + 0x5c], eax
cmp dword [edx + 0x7c], eax
jle 0x4817e9
mov ecx, dword [esp + 0x164]
mov dword [edx + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esi + 0x7c], 0
je case.0x47e252.14
cmp edi, dword [esp + 0x160]
jbe case.0x47e252.14
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle case.0x47e252.14
mov edx, dword [esp + 0x164]
mov dword [esi + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ebp + 0x7c], 0
je 0x4808bb
cmp edi, dword [esp + 0x160]
jbe 0x4808bb
mov dword [ebp + 0x5c], edx
cmp dword [ebp + 0x7c], edx
jle 0x4808bb
mov ecx, dword [esp + 0x164]
mov dword [ebp + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [eax + 0x7c], 0
je 0x480c35
cmp edi, dword [esp + 0x160]
jbe 0x480c35
mov dword [eax + 0x5c], edx
cmp dword [eax + 0x7c], edx
jmp 0x480c16
cmp dword [esi + 0x7c], 0
je 0x47b692
cmp edi, dword [esp + 0x160]
jbe 0x47b692
mov eax, 1
mov dword [esi + 0x5c], eax
cmp dword [esi + 0x7c], eax
jle 0x47b692
mov eax, dword [esp + 0x164]
mov dword [esi + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
test eax, eax
js 0x482d7a
cmp eax, 8
ja case.default.0x47b644
jmp dword [eax*4 + 0x483a94]
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc esi
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
lea esp, [esp]
cmp ebx, dword [esp + 0x14]
jge 0x47c8a5
mov ecx, dword [esp + 0x16c]
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx eax, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x4821cc
cmp eax, 0xc0
jb 0x4821cc
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
test eax, eax
jle 0x4821cc
add edi, eax
cmp dword [esp + 0x30], 0
jne 0x48136b
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x482190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc esi
push esi
push 0
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebp
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
lea esp, [esp]
mov ecx, dword [esp + 0x16c]
cmp ebx, dword [esp + 0x14]
jge 0x48136b
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x4822ea
cmp edx, 0xc0
jb 0x4822ea
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x4822e3
jmp 0x4822d0
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x4822d0
mov ebp, dword [esp + 0x164]
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
and edx, 0x7f
add eax, edx
movzx ecx, word [eax*2 + 0x4a9038]
movzx eax, byte [ecx*8 + 0x4a5e09]
cmp eax, 9
je 0x482321
cmp eax, 5
je 0x482321
cmp eax, 8
je 0x482321
xor eax, eax
jmp 0x482326
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x47c8a5
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x482280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc esi
push esi
push 0
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebp
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
lea esp, [esp]
cmp ebx, dword [esp + 0x14]
jge 0x47c8a5
mov ecx, dword [esp + 0x16c]
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x48244a
cmp edx, 0xc0
jb 0x48244a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x482443
jmp 0x482430
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x482430
mov ebp, dword [esp + 0x164]
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
and edx, 0x7f
add eax, edx
movzx ecx, word [eax*2 + 0x4a9038]
movzx edx, byte [ecx*8 + 0x4a5e09]
mov ecx, dword [esp + 0x40]
xor eax, eax
cmp dword [edx*4 + 0x4b3d40], ecx
sete al
cmp eax, dword [esp + 0x30]
je 0x47ce95
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x4823e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc esi
push esi
push 0
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebp
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
cmp ebx, dword [esp + 0x14]
jge 0x47c8a5
mov ecx, dword [esp + 0x16c]
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x48259a
cmp edx, 0xc0
jb 0x48259a
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x482593
lea esp, [esp]
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x482580
mov ebp, dword [esp + 0x164]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4a6e38]
shl ecx, 7
and edx, 0x7f
add ecx, edx
movzx edx, word [ecx*2 + 0x4a9038]
movzx eax, byte [edx*8 + 0x4a5e09]
xor ecx, ecx
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x47ce95
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x482531
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc esi
push esi
push 0
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebp
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
lea ebx, [ebx]
cmp ebx, dword [esp + 0x14]
jge 0x47c8a5
mov ecx, dword [esp + 0x16c]
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x4826ea
cmp edx, 0xc0
jb 0x4826ea
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x4826e3
jmp 0x4826d0
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x4826d0
mov ebp, dword [esp + 0x164]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4a6e38]
shl ecx, 7
and edx, 0x7f
add ecx, edx
movzx edx, word [ecx*2 + 0x4a9038]
movzx eax, byte [edx*8 + 0x4a5e08]
xor ecx, ecx
cmp eax, dword [esp + 0x40]
sete cl
cmp ecx, dword [esp + 0x30]
je 0x47ce95
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x482680
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc esi
push esi
push 0
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebp
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
lea ebx, [ebx]
mov ecx, dword [esp + 0x16c]
cmp ebx, dword [esp + 0x14]
jge 0x48136b
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x48283a
cmp edx, 0xc0
jb 0x48283a
mov ecx, edx
and ecx, 0x3f
movzx eax, byte [ecx + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x482833
jmp 0x482820
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x482820
mov ebp, dword [esp + 0x164]
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4a6e38]
and edx, 0x7f
shl ecx, 7
add ecx, edx
movzx edx, word [ecx*2 + 0x4a9038]
movzx eax, byte [edx*8 + 0x4a5e09]
mov eax, dword [eax*4 + 0x4b3d40]
cmp eax, 1
je 0x482873
cmp eax, 3
je 0x482873
xor eax, eax
jmp 0x482878
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x481364
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x16c]
push esi
push 0
push ecx
mov ecx, dword [esp + 0x174]
push edx
mov edx, dword [esp + 0x170]
push eax
mov eax, dword [esp + 0x170]
push ecx
push ebp
push edx
push eax
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x4827d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x17c]
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc esi
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
jmp 0x482930
mov ecx, dword [esp + 0x16c]
cmp ebx, dword [esp + 0x14]
jge 0x48136b
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x48299a
cmp edx, 0xc0
jb 0x48299a
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x482993
jmp 0x482980
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x482980
mov ebp, dword [esp + 0x164]
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
mov ecx, edx
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
cmp dword [ecx*4 + 0x4b3d40], 6
je 0x4829e2
cmp edx, 9
je 0x4829e2
cmp edx, 0xa
je 0x4829e2
cmp edx, 0xc
je 0x4829e2
cmp edx, 0xd
je 0x4829e2
xor eax, eax
jmp 0x4829e7
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x47c8a5
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x482930
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
inc esi
push esi
push 0
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebx
push ecx
push edx
push edi
mov dword [esp + 0x48], ebp
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
lea ebx, [ebx]
mov ecx, dword [esp + 0x16c]
cmp ebp, dword [esp + 0x14]
jge 0x482bb8
cmp edi, dword [ecx + 0x6c]
jae 0x482bcb
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x482b03
cmp edx, 0xc0
jb 0x482b03
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x482b03
jmp 0x482af0
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x482af0
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
mov ecx, edx
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
cmp dword [ecx*4 + 0x4b3d40], 6
je 0x482b50
cmp edx, 9
je 0x482b50
cmp edx, 0xa
je 0x482b50
cmp edx, 0xb
je 0x482b50
cmp edx, 0xc
je 0x482b50
cmp edx, 0xd
je 0x482b50
xor eax, eax
jmp 0x482b55
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x482bfd
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x20]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebx
push eax
push ecx
inc ebp
push edi
mov dword [esp + 0x48], ebp
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x482aa0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov dword [ecx + 0x9c], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ecx + 0x7c], 0
je 0x482bb8
cmp edi, dword [esp + 0x160]
jbe 0x482bb8
mov eax, 1
mov dword [ecx + 0x5c], eax
cmp dword [ecx + 0x7c], eax
jle 0x482bb8
mov dword [ecx + 0x9c], ebx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov edx, dword [esp + 0x16c]
mov dword [edx + 0x9c], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov esi, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x164]
mov ebx, dword [esp + 0x18]
inc esi
push esi
push 0
push eax
mov eax, dword [esp + 0x174]
push ecx
mov ecx, dword [esp + 0x170]
push edx
mov edx, dword [esp + 0x170]
push eax
push ebp
push ecx
push edx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
nop
mov ecx, dword [esp + 0x16c]
cmp ebx, dword [esp + 0x14]
jge 0x48136b
cmp edi, dword [ecx + 0x6c]
jae 0x481b66
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x482cda
cmp edx, 0xc0
jb 0x482cda
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x482cd3
jmp 0x482cc0
movzx ebp, byte [edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
dec eax
inc edi
or edx, ebp
test eax, eax
jg 0x482cc0
mov ebp, dword [esp + 0x164]
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
shl eax, 7
mov ecx, edx
and ecx, 0x7f
add eax, ecx
movzx eax, word [eax*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
mov eax, dword [ecx*4 + 0x4b3d40]
cmp eax, 1
je 0x482d1a
cmp eax, 3
je 0x482d1a
cmp edx, 0x5f
je 0x482d1a
xor eax, eax
jmp 0x482d1f
mov eax, 1
cmp eax, dword [esp + 0x30]
je 0x47c8a5
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push esi
push 0
push edx
mov edx, dword [esp + 0x174]
push eax
mov eax, dword [esp + 0x170]
push ecx
mov ecx, dword [esp + 0x170]
push edx
push ebp
push eax
push ecx
push edi
inc ebx
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x482c70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [esp + 0x34], 0x16
jne 0x482f75
mov ebx, dword [esp + 0x17c]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
inc ebx
push ebx
push 0
push eax
mov eax, dword [esp + 0x174]
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 edi
mov dword [esp + 0x48], ebp
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x16c]
jge 0x47aeb8
mov ebp, dword [ecx + 0x6c]
mov dword [esp + 0x1c], ebp
cmp edi, ebp
jae 0x481f6d
movzx edx, byte [edi]
inc edi
cmp dword [esp + 0x24], 0
je 0x482e4c
cmp edx, 0xc0
jb 0x482e4c
mov eax, edx
and eax, 0x3f
movzx eax, byte [eax + 0x4b3d00]
and edx, dword [eax*4 + 0x4b3ce4]
lea ecx, [eax + eax*2]
add ecx, ecx
shl edx, cl
test eax, eax
jle 0x482e45
movzx esi, byte [edi]
sub ecx, 6
and esi, 0x3f
shl esi, cl
dec eax
inc edi
or edx, esi
test eax, eax
jg 0x482e32
mov ecx, dword [esp + 0x16c]
mov eax, edx
shr eax, 7
movzx eax, byte [eax + 0x4a6e38]
shl eax, 7
and edx, 0x7f
add eax, edx
movzx edx, word [eax*2 + 0x4a9038]
movzx eax, byte [edx*8 + 0x4a5e09]
cmp dword [eax*4 + 0x4b3d40], 2
je 0x480102
cmp edi, ebp
jae 0x482f1a
jmp 0x482e90
cmp dword [esp + 0x24], 0
movzx edx, byte [edi]
mov esi, 1
je 0x482ee2
cmp edx, 0xc0
jb 0x482ee2
mov ecx, edx
and ecx, 0x3f
movzx esi, byte [ecx + 0x4b3d00]
and edx, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov eax, 1
shl edx, cl
cmp esi, eax
jl 0x482ee1
movzx ebp, byte [eax + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc eax
or edx, ebp
cmp eax, esi
jle 0x482eca
mov ebp, dword [esp + 0x1c]
inc esi
mov ecx, edx
shr ecx, 7
movzx eax, byte [ecx + 0x4a6e38]
and edx, 0x7f
shl eax, 7
add eax, edx
movzx ecx, word [eax*2 + 0x4a9038]
movzx edx, byte [ecx*8 + 0x4a5e09]
cmp dword [edx*4 + 0x4b3d40], 2
jne 0x482f1a
add edi, esi
cmp edi, ebp
jb 0x482e90
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
inc dword [esp + 0x20]
push ebx
push 0
push eax
mov eax, dword [esp + 0x174]
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 edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x482ddd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov ebp, dword [esp + 0x17c]
mov ebx, dword [esp + 0x16c]
mov esi, dword [esp + 0x164]
inc ebp
cmp dword [esp + 0x24], 0
push ebp
push 0
je 0x48338b
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x16c]
push eax
mov eax, dword [esp + 0x16c]
push ebx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x17c]
push ecx
push esi
push edx
push eax
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x14]
jge case.0x483473.14
cmp edi, dword [ebx + 0x6c]
jae 0x48334d
cmp dword [esp + 0x34], 0xc
jne 0x483056
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x483037
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x24]
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x6c]
push edx
push ecx
push eax
call fcn.00484b80
mov ebx, dword [esp + 0x178]
add esp, 0xc
test eax, eax
je 0x483056
mov dword [ebx + 0x9c], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov edx, dword [ebx + 0x6c]
sub edx, dword [ebx + 0x1c]
cmp edi, edx
ja 0x483056
mov al, byte [edi]
cmp al, byte [ebx + 0x2c]
jne 0x483056
cmp dword [ebx + 0x1c], 1
je case.0x483473.14
mov cl, byte [edi + 1]
cmp cl, byte [ebx + 0x2d]
je case.0x483473.14
movzx eax, byte [edi]
inc edi
cmp eax, 0xc0
jb 0x48309a
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x4b3d00]
and eax, dword [edx*4 + 0x4b3ce4]
lea ecx, [edx + edx*2]
add ecx, ecx
shl eax, cl
test edx, edx
jle 0x483093
nop
movzx ebx, byte [edi]
sub ecx, 6
and ebx, 0x3f
shl ebx, cl
dec edx
inc edi
or eax, ebx
test edx, edx
jg 0x483080
mov ebx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x47b644
jmp dword [ecx*4 + 0x483ab8]
cmp eax, 0xd
ja 0x4830e4
je 0x4830cc
cmp eax, 0xa
je case.0x4830aa.12
jbe case.0x483473.14
cmp eax, 0xc
jmp 0x4830fb
cmp edi, dword [ebx + 0x6c]
jae case.0x4830aa.12
cmp byte [edi], 0xa
jne case.0x4830aa.12
inc edi
jmp case.0x4830aa.12
cmp eax, 0x85
je 0x483101
cmp eax, 0x2027
jbe case.0x483473.14
cmp eax, 0x2029
ja case.0x483473.14
cmp dword [ebx + 0x60], 0
jne case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x180e
ja 0x483145
je case.0x483473.14
cmp eax, 0xa0
ja 0x48313b
je case.0x483473.14
cmp eax, 9
je case.0x483473.14
cmp eax, 0x20
jmp 0x4832fa
cmp eax, 0x1680
jmp 0x4832fa
cmp eax, 0x205f
ja 0x483172
je case.0x483473.14
cmp eax, 0x2000
jb case.0x4830aa.12
cmp eax, 0x200a
jbe case.0x483473.14
cmp eax, 0x202f
jmp 0x4832fa
cmp eax, 0x3000
jmp 0x4832fa
cmp eax, 0x180e
ja 0x4831bd
je case.0x4830aa.12
cmp eax, 0xa0
ja 0x4831ad
je case.0x4830aa.12
cmp eax, 9
je case.0x4830aa.12
cmp eax, 0x20
jne case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x1680
jne case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x205f
ja 0x4831f0
je case.0x4830aa.12
cmp eax, 0x2000
jb case.0x483473.14
cmp eax, 0x200a
jbe case.0x4830aa.12
cmp eax, 0x202f
jne case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x3000
jne case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x85
ja 0x483224
je case.0x483473.14
cmp eax, 0xa
jb case.0x4830aa.12
cmp eax, 0xd
jbe case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x2028
jb case.0x4830aa.12
cmp eax, 0x2029
jbe case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x85
ja 0x483263
je case.0x4830aa.12
cmp eax, 0xa
jb case.0x483473.14
cmp eax, 0xd
ja case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x2028
jb case.0x483473.14
cmp eax, 0x2029
ja case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x100
jae case.0x4830aa.12
mov ecx, dword [ebx + 0x34]
test byte [eax + ecx], 4
jne case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x100
jae case.0x483473.14
mov edx, dword [ebx + 0x34]
test byte [eax + edx], 4
jmp 0x4832fa
cmp eax, 0x100
jae case.0x4830aa.12
mov ecx, dword [ebx + 0x34]
test byte [eax + ecx], 1
jne case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x100
jae case.0x483473.14
mov edx, dword [ebx + 0x34]
test byte [eax + edx], 1
jmp 0x4832fa
cmp eax, 0x100
jae case.0x4830aa.12
mov ecx, dword [ebx + 0x34]
test byte [eax + ecx], 0x10
jne case.0x483473.14
jmp case.0x4830aa.12
cmp eax, 0x100
jae case.0x483473.14
mov edx, dword [ebx + 0x34]
test byte [eax + edx], 0x10
je case.0x483473.14
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
inc dword [esp + 0x20]
push ebp
push 0
push eax
mov eax, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x16c]
push ebx
push edx
push esi
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x482fdc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
cmp dword [ebx + 0x7c], 0
je case.0x483473.14
cmp edi, dword [esp + 0x160]
jbe case.0x483473.14
mov eax, 1
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x7c], eax
jle case.0x483473.14
mov dword [ebx + 0x9c], esi
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x16c]
push ebx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x17c]
push edx
push esi
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
jne 0x4836b0
mov edx, dword [esp + 0x20]
cmp edx, dword [esp + 0x14]
jge case.0x483473.14
cmp edi, dword [ebx + 0x6c]
jae 0x48334d
cmp dword [esp + 0x34], 0xc
jne 0x483445
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x48341e
mov ecx, dword [esp + 0x16c]
lea edx, [ecx + 0x1c]
mov ecx, dword [ecx + 0x6c]
push edx
push ecx
push eax
xor ebx, ebx
call fcn.00484b80
mov ebx, dword [esp + 0x178]
add esp, 0xc
test eax, eax
jne case.0x483473.14
jmp 0x483445
mov edx, dword [ebx + 0x6c]
sub edx, dword [ebx + 0x1c]
cmp edi, edx
ja 0x483445
mov al, byte [edi]
cmp al, byte [ebx + 0x2c]
jne 0x483445
cmp dword [ebx + 0x1c], 1
je case.0x483473.14
mov cl, byte [edi + 1]
cmp cl, byte [ebx + 0x2d]
je case.0x483473.14
mov ecx, dword [esp + 0x34]
movzx eax, byte [edi]
add ecx, 0xfffffffa
inc edi
cmp ecx, 0xf
ja case.default.0x47b644
jmp dword [ecx*4 + 0x483af8]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x483473.14
movzx edx, byte [eax + 0x483b48]
jmp dword [edx*4 + 0x483b38]
cmp edi, dword [ebx + 0x6c]
jae case.0x483459.12
cmp byte [edi], 0xa
jne case.0x483459.12
inc edi
jmp case.0x483459.12
cmp dword [ebx + 0x60], 0
jne case.0x483473.14
jmp case.0x483459.12
cmp eax, 9
je case.0x483473.14
cmp eax, 0x20
je case.0x483473.14
cmp eax, 0xa0
jmp 0x483552
cmp eax, 9
je case.0x483459.12
cmp eax, 0x20
je case.0x483459.12
cmp eax, 0xa0
jne case.0x483473.14
jmp case.0x483459.12
cmp eax, 0xa
jb case.0x483459.12
cmp eax, 0xd
jbe case.0x483473.14
cmp eax, 0x85
jmp 0x483552
cmp eax, 0xa
jb case.0x483473.14
cmp eax, 0xd
jbe case.0x483459.12
cmp eax, 0x85
jne case.0x483473.14
jmp case.0x483459.12
mov ecx, dword [ebx + 0x34]
test byte [eax + ecx], 4
jne case.0x483473.14
jmp case.0x483459.12
mov edx, dword [ebx + 0x34]
test byte [eax + edx], 4
jmp 0x483552
mov ecx, dword [ebx + 0x34]
test byte [eax + ecx], 1
jne case.0x483473.14
jmp case.0x483459.12
mov edx, dword [ebx + 0x34]
test byte [eax + edx], 1
jmp 0x483552
mov ecx, dword [ebx + 0x34]
test byte [eax + ecx], 0x10
jne case.0x483473.14
jmp case.0x483459.12
mov edx, dword [ebx + 0x34]
test byte [eax + edx], 0x10
je case.0x483473.14
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x168]
inc dword [esp + 0x20]
push ebp
push 0
push eax
mov eax, dword [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x16c]
push ebx
push edx
push esi
push eax
push ecx
push edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x4833ce
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov al, byte [edi]
and al, 0xc0
cmp al, 0x80
jne 0x4835bc
lea ecx, [ecx]
mov cl, byte [edi - 1]
dec edi
and cl, 0xc0
cmp cl, 0x80
je 0x4835b0
movzx eax, byte [edi]
cmp eax, 0xc0
jb 0x4835fc
mov edx, eax
and edx, 0x3f
movzx esi, byte [edx + 0x4b3d00]
and eax, dword [esi*4 + 0x4b3ce4]
lea ecx, [esi + esi*2]
add ecx, ecx
mov edx, 1
shl eax, cl
cmp esi, edx
jl 0x4835fc
movzx ebp, byte [edx + edi]
sub ecx, 6
and ebp, 0x3f
shl ebp, cl
inc edx
or eax, ebp
cmp edx, esi
jle 0x4835e9
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4a6e38]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4a9038]
movzx ecx, byte [eax*8 + 0x4a5e09]
cmp dword [ecx*4 + 0x4b3d40], 2
jne 0x483630
dec edi
jmp 0x47ef10
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
push ebx
push 0
push edx
mov edx, dword [esp + 0x174]
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 edi
call fcn.00479b40
add esp, 0x28
test eax, eax
je 0x47eefc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x16c]
mov dword [ecx + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x144
ret