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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
push ebx
push esi
push edi
mov edi, dword [ebp + 0x1c]
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jae 0x4410bb
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 0x2c]
inc eax
mov dword [edi], eax
cmp ecx, dword [edi + 8]
jae 0x4410c9
test byte [ebp + 0x28], 2
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0x20], edx
je 0x43b664
mov eax, dword [ebp + 0x24]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], eax
mov dword [ebp + 0x24], ecx
movzx ecx, byte [ebx]
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], ecx
cmp ecx, 0x76
ja case.0x43b682.15
movzx edx, byte [ecx + 0x442ff0]
jmp dword [edx*4 + 0x442ec0]
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
cmp byte [ebx + 3], 0x53
mov dword [ebp + 0x1c], eax
jne 0x43b75d
cmp dword [0x4b9008], 0
je 0x43b75a
mov dword [ebp - 0xa4], 1
movzx edx, byte [ebx + 4]
mov dword [ebp - 0xa0], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x9c], eax
mov ecx, dword [edi + 0x68]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x98], ecx
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x68]
mov ecx, esi
mov dword [ebp - 0x94], edx
sub eax, dword [edi + 0x68]
mov dword [ebp - 0x90], eax
sub ecx, dword [edi + 0x68]
mov dword [ebp - 0x8c], ecx
movzx edx, byte [ebx + 5]
movzx eax, byte [ebx + 6]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x7c], edx
movzx ecx, byte [ebx + 7]
movzx edx, byte [ebx + 8]
shl ecx, 8
or ecx, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x88], eax
mov eax, dword [edi + 0x84]
mov dword [ebp - 0x84], eax
mov ecx, dword [edi + 0x98]
lea edx, [ebp - 0xa4]
push edx
mov dword [ebp - 0x80], ecx
call dword [0x4b9008]
add esp, 4
test eax, eax
jg case.0x442d78.14
js 0x442eb8
add ebx, 6
movzx ecx, byte [ebx + 3]
lea eax, [ebx + 3]
cmp ecx, 0x66
je 0x43b961
cmp ecx, 0x67
je 0x43b961
cmp ecx, 0x64
je 0x43b7e6
cmp ecx, 0x65
je 0x43b7e6
cmp ecx, 0x68
jne 0x43b799
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
jmp 0x43b950
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
inc edx
push edx
mov edx, dword [ebp + 0x18]
push 1
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edi
push edx
mov edx, dword [ebp + 0x10]
push ecx
push edx
push eax
push esi
call fcn.0043b614
add esp, 0x28
cmp eax, 1
je 0x440e5a
test eax, eax
je 0x43b7de
cmp eax, 0xfffffc1e
jne 0x442eb8
cmp dword [edi + 0x70], ebx
jne 0x442eb8
add ebx, dword [ebp + 0x1c]
jmp 0x43b950
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [ebp + 0x18]
jge 0x43b807
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43babc
mov dword [ebp - 0x18], 0
cmp ecx, 0x65
jne 0x43b937
mov ecx, dword [edi + 0x28]
sar eax, 1
mov dword [ebp - 0x24], eax
xor eax, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x1c], eax
cmp dword [edi + 0x20], eax
jle 0x43b857
jmp 0x43b834
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
cmp eax, dword [ebp - 0x24]
je 0x43b854
mov eax, dword [ebp + 0x1c]
add ecx, dword [edi + 0x24]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x43b834
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x43b937
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x43b8c3
lea ebx, [ebx]
mov eax, dword [ebp - 0x14]
sub eax, dword [edi + 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
mov eax, dword [ebp - 0x10]
add eax, 2
push eax
call fcn.004151c0
add esp, 8
test eax, eax
jne 0x43b8c3
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or eax, edx
add eax, eax
cmp eax, dword [ebp + 0x18]
jge 0x43b8b7
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43babc
mov dword [ebp - 0x18], 0
cmp ecx, dword [edi + 0x28]
ja 0x43b874
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jge 0x43b937
mov ecx, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 0x24], ecx
lea ebx, [ebx]
mov eax, dword [ebp - 0x14]
add eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
push edx
call fcn.004151c0
add esp, 8
test eax, eax
jne 0x43b937
mov ecx, dword [ebp - 0x14]
movzx eax, byte [ecx]
movzx ecx, byte [ecx + 1]
shl eax, 8
or eax, ecx
add eax, eax
cmp eax, dword [ebp + 0x18]
jge 0x43b924
mov edx, dword [edi + 0xc]
cmp dword [edx + eax*4], 0
jge 0x43babc
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x43b8e4
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp dword [ebp - 0x18], 0
jne 0x440e88
cmp byte [ebx], 0x54
je 0x440e88
add ebx, 3
jmp 0x43b664
cmp dword [edi + 0x94], 0
jne 0x43b97b
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
jmp 0x43b950
movzx eax, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl eax, 8
or eax, edx
mov dword [ebp - 0x24], eax
cmp eax, 0xffff
je 0x43babc
mov edx, dword [edi + 0x94]
cmp eax, dword [edx + 4]
je 0x43babc
mov dword [ebp - 0x18], 0
cmp ecx, 0x67
jne 0x43b937
mov eax, dword [edi + 0x28]
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x1c], ecx
cmp dword [edi + 0x20], ecx
jle 0x43b9e7
lea ecx, [ecx]
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
cmp ecx, dword [ebp - 0x24]
je 0x43b9e4
mov ecx, dword [ebp + 0x1c]
add eax, dword [edi + 0x24]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, dword [edi + 0x20]
jl 0x43b9c4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x1c]
cmp eax, dword [edi + 0x20]
jge 0x43b937
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp eax, dword [edi + 0x28]
jbe 0x43ba4a
lea ebx, [ebx]
mov eax, dword [ebp - 0x14]
sub eax, dword [edi + 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
mov eax, dword [ebp - 0x10]
add eax, 2
push eax
call fcn.004151c0
add esp, 8
test eax, eax
jne 0x43ba4a
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
or ecx, edx
mov edx, dword [edi + 0x94]
cmp ecx, dword [edx + 4]
je 0x43babc
mov dword [ebp - 0x18], 0
cmp eax, dword [edi + 0x28]
ja 0x43ba04
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jge 0x43b937
mov ecx, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x14]
add eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
add eax, 2
push eax
push edx
call fcn.004151c0
add esp, 8
test eax, eax
jne 0x43b937
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
mov eax, dword [edi + 0x94]
shl edx, 8
or ecx, edx
cmp ecx, dword [eax + 4]
je 0x43babc
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp - 0x18], 0
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x20]
jl 0x43ba69
jmp 0x43b937
mov dword [ebp - 0x18], 1
mov eax, 3
jmp 0x43b944
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
lea ecx, [eax + eax]
mov dword [edi + 0x84], eax
cmp ecx, dword [edi + 0x14]
jl 0x43baf7
mov dword [edi + 0x38], 1
add ebx, 3
jmp 0x43b664
mov edx, dword [edi + 0x10]
sub edx, eax
mov eax, dword [edi + 0xc]
mov edx, dword [eax + edx*4]
mov dword [eax + ecx*4], edx
mov edx, dword [edi + 0xc]
mov eax, esi
sub eax, dword [edi + 0x68]
mov dword [edx + ecx*4 + 4], eax
cmp dword [ebp + 0x18], ecx
jg 0x43bb1c
add ecx, 2
mov dword [ebp + 0x18], ecx
add ebx, 3
jmp 0x43b664
cmp dword [edi + 0x94], eax
je 0x441548
mov ebx, dword [edi + 0x94]
cmp dword [ebx + 4], eax
jne 0x441548
mov eax, dword [ebx]
mov dword [edi + 0x94], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00417600
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebx + 8]
add esp, 0xc
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x20], edx
jmp 0x43b664
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x20], eax
add ebx, 2
jmp 0x43b664
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
mov eax, dword [ebp + 0x14]
push 0
push 0
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
lea edx, [ebx + 3]
push edx
push esi
call fcn.0043b614
add esp, 0x28
cmp eax, 1
je 0x43bbe5
cmp eax, 0xfffffc19
je 0x43bbe5
test eax, eax
je 0x43bbcf
cmp eax, 0xfffffc1e
jne 0x442eb8
cmp dword [edi + 0x70], ebx
jne 0x442eb8
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.0x43b682.88
jmp 0x43bbeb
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
cmp byte [ebx], 0x55
je case.0x442d78.14
test byte [ebp + 0x28], 1
jne 0x44176d
lea ebx, [ebx]
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x43bc04
mov edx, dword [edi + 0x80]
add ebx, 3
mov dword [ebp + 0x18], edx
jmp 0x43b664
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
inc eax
push eax
mov eax, dword [ebp + 0x20]
push 0
push 0
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
lea ecx, [ebx + 3]
push ecx
push esi
call fcn.0043b614
add esp, 0x28
cmp eax, 1
je 0x4414ea
cmp eax, 0xfffffc19
je 0x4414ea
cmp eax, 0xfffffc1c
je 0x43bca7
cmp eax, 0xfffffc1b
je 0x43bca7
cmp eax, 0xfffffc1a
je 0x43bca7
test eax, eax
je 0x43bc91
cmp eax, 0xfffffc1e
jne 0x442eb8
cmp dword [edi + 0x70], ebx
jne 0x442eb8
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
cmp byte [ebx], 0x54
je case.0x43b682.89
jmp 0x43bcbb
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x43bca7
test byte [ebp + 0x28], 1
jne 0x44176d
add ebx, 3
jmp 0x43b664
cmp dword [ebp - 0x1c], eax
movzx ecx, byte [ebx + 2]
movzx eax, byte [ebx + 1]
je 0x43bd0a
shl eax, 8
or eax, ecx
jle 0x43bd1a
mov ecx, dword [edi + 0x68]
dec esi
dec eax
cmp esi, ecx
jb case.0x43b682.115
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43bd04
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43bcf8
test eax, eax
jg 0x43bce4
jmp 0x43bd1a
shl eax, 8
or eax, ecx
sub esi, eax
cmp esi, dword [edi + 0x68]
jb case.0x442d78.14
cmp esi, dword [edi + 0x78]
jae 0x43bd22
mov dword [edi + 0x78], esi
add ebx, 3
jmp 0x43b664
cmp dword [0x4b9008], eax
je 0x43bdc2
mov dword [ebp - 0x74], 1
movzx edx, byte [ebx + 1]
mov dword [ebp - 0x70], edx
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x6c], eax
mov ecx, dword [edi + 0x68]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x68], ecx
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x68]
mov ecx, esi
mov dword [ebp - 0x64], edx
sub eax, dword [edi + 0x68]
mov dword [ebp - 0x60], eax
sub ecx, dword [edi + 0x68]
mov dword [ebp - 0x5c], ecx
movzx edx, byte [ebx + 2]
movzx eax, byte [ebx + 3]
shl edx, 8
or edx, eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x4c], edx
movzx ecx, byte [ebx + 4]
movzx edx, byte [ebx + 5]
shl ecx, 8
or ecx, edx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x58], eax
mov eax, dword [edi + 0x84]
mov dword [ebp - 0x54], eax
mov ecx, dword [edi + 0x98]
lea edx, [ebp - 0x74]
push edx
mov dword [ebp - 0x50], ecx
call dword [0x4b9008]
add esp, 4
test eax, eax
jg 0x4414ea
js 0x442eb8
add ebx, 6
jmp 0x43b664
mov dword [ebp + 0x1c], ebx
mov dword [ebp - 0x18], esi
lea esp, [esp]
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
mov eax, dword [ebp + 0x24]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
lea edx, [ebx + 3]
push edx
push esi
call fcn.0043b614
add esp, 0x28
cmp eax, 1
je 0x43be30
test eax, eax
je 0x43be1a
cmp eax, 0xfffffc1e
jne 0x442eb8
cmp dword [edi + 0x70], ebx
jne 0x442eb8
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x43bdd4
jmp 0x43be36
mov edx, dword [edi + 0x70]
mov dword [ebp + 0x10], edx
mov al, byte [ebx]
cmp al, 0x5d
je 0x43be44
cmp al, 0x54
jne 0x441972
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x43be44
cmp byte [ebx], 0x55
mov edx, dword [edi + 0x80]
mov esi, dword [edi + 0x74]
mov dword [ebp + 0x18], edx
je 0x43be72
cmp esi, dword [ebp - 0x18]
jne 0x440f8e
add ebx, 3
jmp 0x43b664
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.0x43b682.84
jmp 0x43b664
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
inc edx
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
inc ebx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
jmp 0x43bed4
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
add ebx, edx
cmp byte [ebx], 0x54
je 0x43bed4
add ebx, 3
jmp 0x43b664
inc ebx
mov eax, ebx
nop
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
cmp byte [eax], 0x54
je 0x43bef4
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push 0
push edx
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edi
push edx
mov edx, dword [ebp + 0x10]
push ecx
push edx
add eax, 3
push eax
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
jmp 0x43b664
inc ebx
jmp 0x43bf44
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add ebx, eax
cmp byte [ebx], 0x54
je 0x43bf44
add ebx, 3
jmp 0x43b664
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
mov edx, ebx
sub edx, eax
mov al, byte [edx]
mov dword [ebp + 0x1c], edx
cmp al, 0x61
jb 0x43bf8d
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx]
mov dword [ebp + 0x24], ecx
jmp 0x43bf94
mov dword [ebp - 0x18], 0
cmp al, 0x58
je 0x4417ab
cmp al, 0x59
je 0x4417ab
cmp al, 0x5a
je 0x4417ab
cmp al, 0x5b
je 0x4417ab
cmp al, 0x5d
je 0x4417ab
cmp al, 0x5f
je 0x43bfc8
cmp al, 0x62
jne 0x43c064
movzx eax, byte [edx + 3]
movzx ecx, byte [edx + 4]
shl eax, 8
or eax, ecx
lea ecx, [eax + eax]
mov dword [edi + 0x84], eax
mov dword [ebp - 0x14], eax
cmp ecx, dword [edi + 0x14]
jl 0x43bfef
mov dword [edi + 0x38], 1
jmp 0x43c01a
mov edx, dword [edi + 0x10]
sub edx, eax
mov eax, dword [edi + 0xc]
mov edx, dword [eax + edx*4]
mov dword [eax + ecx*4], edx
mov edx, dword [edi + 0xc]
mov eax, esi
sub eax, dword [edi + 0x68]
mov dword [edx + ecx*4 + 4], eax
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0x14]
cmp dword [ebp + 0x18], ecx
jg 0x43c01a
add ecx, 2
mov dword [ebp + 0x18], ecx
cmp dword [edi + 0x94], 0
je 0x43c064
mov ecx, dword [edi + 0x94]
cmp dword [ecx + 4], eax
jne 0x43c064
mov ebx, ecx
mov eax, dword [ebx]
mov dword [edi + 0x94], eax
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.004124f0
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebx + 8]
add esp, 0xc
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x20], edx
jmp 0x43b664
cmp byte [ebx], 0x55
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x20], eax
je 0x43c078
cmp esi, dword [ebp - 0x18]
jne 0x441020
add ebx, 3
jmp 0x43b664
cmp dword [edi + 0x3c], eax
je 0x43c08e
cmp esi, dword [edi + 0x68]
je case.0x442d78.14
test byte [ebp + 0x20], 2
je case.0x43b682.1
mov ecx, dword [edi + 0x68]
cmp esi, ecx
je 0x43c108
cmp esi, dword [edi + 0x6c]
je 0x4414ea
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43c0d7
cmp esi, ecx
jbe 0x4414ea
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x68]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00432a15
add esp, 0x14
test eax, eax
je 0x4414ea
inc ebx
jmp 0x43b664
mov edx, dword [edi + 0x68]
add edx, dword [edi + 0x1c]
cmp esi, edx
jb 0x4414ea
mov ecx, dword [edi + 0x1c]
mov eax, esi
sub eax, ecx
mov dl, byte [eax]
cmp dl, byte [edi + 0x2c]
jne 0x4414ea
cmp ecx, 1
je 0x43c108
mov al, byte [eax + 1]
cmp al, byte [edi + 0x2d]
jne 0x4414ea
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x68]
jne case.0x43b682.115
inc ebx
jmp 0x43b664
mov ecx, dword [edi + 0x88]
add ecx, dword [edi + 0x68]
cmp esi, ecx
jne case.0x442d78.14
inc ebx
jmp 0x43b664
mov dword [ebp + 0x10], esi
inc ebx
jmp 0x43b664
test byte [ebp + 0x20], 2
je 0x43c1d2
cmp esi, dword [edi + 0x6c]
jae 0x43c1a8
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43c177
mov edx, dword [ebp - 0x1c]
push edx
mov edx, dword [edi + 0x6c]
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
je 0x4414ea
inc ebx
jmp 0x43b664
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x4414ea
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x4414ea
cmp dword [edi + 0x1c], 1
je 0x43c1cc
mov dl, byte [esi + 1]
cmp dl, byte [edi + 0x2d]
jne 0x4414ea
inc ebx
jmp 0x43b664
cmp dword [edi + 0x40], eax
jne case.0x43b682.115
cmp dword [edi + 0x7c], eax
je 0x43c1cc
cmp esi, dword [edi + 0x78]
jbe 0x43c1cc
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
inc ebx
jmp 0x43b664
cmp dword [edi + 0x40], eax
jne 0x4414ea
cmp dword [edi + 0x50], eax
je case.0x43b682.23
cmp esi, dword [edi + 0x6c]
jb case.0x43b682.115
jmp 0x43c1b1
cmp esi, dword [edi + 0x6c]
jae 0x43c250
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43c217
mov edx, dword [ebp - 0x1c]
push edx
lea ecx, [edi + 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
push ecx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
je 0x4414ea
jmp 0x43c242
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x4414ea
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x4414ea
cmp dword [edi + 0x1c], 1
je 0x43c242
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
jne 0x4414ea
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
jne 0x4414ea
cmp dword [edi + 0x7c], 0
je 0x43c1cc
cmp esi, dword [edi + 0x78]
jbe 0x43c1cc
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x44185d
inc ebx
jmp 0x43b664
cmp dword [ebp - 0x1c], eax
je 0x43c467
cmp esi, dword [edi + 0x68]
je 0x43c370
mov cl, byte [esi - 1]
lea eax, [esi - 1]
and cl, 0xc0
cmp cl, 0x80
jne 0x43c2a6
mov dl, byte [eax - 1]
dec eax
and dl, 0xc0
cmp dl, 0x80
je 0x43c29a
cmp eax, dword [edi + 0x78]
jae 0x43c2ae
mov dword [edi + 0x78], eax
movzx ecx, byte [eax]
cmp ecx, 0xc0
jb 0x43c358
test cl, 0x20
jne 0x43c2ce
movzx eax, byte [eax + 1]
and ecx, 0x1f
jmp 0x43c350
movzx edx, byte [eax + 1]
and edx, 0x3f
test cl, 0x10
jne 0x43c2e6
movzx eax, byte [eax + 2]
and ecx, 0xf
shl ecx, 6
jmp 0x43c34e
test cl, 8
jne 0x43c2fd
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
jmp 0x43c348
test cl, 4
jne 0x43c320
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 4]
jmp 0x43c348
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [eax + 2]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 3]
and ecx, 0x3f
shl edx, 6
or edx, ecx
movzx ecx, byte [eax + 4]
movzx eax, byte [eax + 5]
shl edx, 6
and ecx, 0x3f
or ecx, edx
and eax, 0x3f
shl ecx, 6
or ecx, eax
cmp ecx, 0x100
jae 0x43c370
mov edx, dword [edi + 0x34]
test byte [ecx + edx], 0x10
je 0x43c370
mov ecx, 1
jmp 0x43c372
xor ecx, ecx
cmp esi, dword [edi + 0x6c]
jb 0x43c39a
cmp dword [edi + 0x7c], 0
je 0x43c393
cmp esi, dword [edi + 0x78]
jbe 0x43c393
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
xor eax, eax
jmp 0x43c4c1
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43c450
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43c3be
and eax, 0x1f
shl eax, 6
jmp 0x43c44e
test al, 0x10
jne 0x43c3d0
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
jmp 0x43c448
test al, 8
jne 0x43c3ee
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
jmp 0x43c448
test al, 4
jne 0x43c418
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
jmp 0x43c448
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or eax, edx
cmp eax, 0x100
jae 0x43c4ad
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x43c4ad
mov eax, 1
jmp 0x43c4c1
cmp esi, dword [edi + 0x68]
jne 0x43c470
xor ecx, ecx
jmp 0x43c48c
cmp esi, dword [edi + 0x78]
ja 0x43c47b
lea eax, [esi - 1]
mov dword [edi + 0x78], eax
movzx edx, byte [esi - 1]
mov ecx, dword [edi + 0x34]
movzx ecx, byte [edx + ecx]
shr ecx, 4
and ecx, 1
cmp esi, dword [edi + 0x6c]
jb 0x43c4b1
cmp dword [edi + 0x7c], 0
je 0x43c4ad
cmp esi, dword [edi + 0x78]
jbe 0x43c4ad
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4417f1
xor eax, eax
jmp 0x43c4c1
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
movzx eax, byte [edx + eax]
shr eax, 4
and eax, 1
mov dl, byte [ebx]
inc ebx
cmp dl, 5
jne 0x43dce9
cmp eax, ecx
jne 0x43b664
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43c513
cmp esi, dword [edi + 0x6c]
jae case.0x43b682.13
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
jne case.0x442d78.14
jmp case.0x43b682.13
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja case.0x43b682.13
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne case.0x43b682.13
cmp dword [edi + 0x1c], 1
je case.0x442d78.14
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je case.0x442d78.14
mov eax, dword [edi + 0x6c]
mov edx, esi
mov ecx, 1
add esi, ecx
cmp edx, eax
jae 0x4417d2
cmp dword [ebp - 0x1c], 0
je 0x43c568
cmp esi, eax
jae 0x43c568
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x43c568
add esi, ecx
cmp esi, eax
jb 0x43c558
add ebx, ecx
jmp 0x43b664
mov ecx, esi
mov eax, 1
add esi, eax
cmp ecx, dword [edi + 0x6c]
jae 0x441806
add ebx, eax
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x44183a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43c686
cmp eax, 0xc0
jb 0x43c686
test al, 0x20
jne 0x43c5c2
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43c686
test al, 0x10
jne 0x43c5e8
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43c686
test al, 8
jne 0x43c617
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43c686
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43c652
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43c686
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x43c1cc
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x4414ea
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x44183a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43c7a2
cmp eax, 0xc0
jb 0x43c7a2
test al, 0x20
jne 0x43c6de
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43c7a2
test al, 0x10
jne 0x43c704
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43c7a2
test al, 8
jne 0x43c733
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43c7a2
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43c76e
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43c7a2
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x4414ea
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x4414ea
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x44183a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43c8be
cmp eax, 0xc0
jb 0x43c8be
test al, 0x20
jne 0x43c7fa
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43c8be
test al, 0x10
jne 0x43c820
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43c8be
test al, 8
jne 0x43c84f
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43c8be
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43c88a
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43c8be
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x43c1cc
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x4414ea
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x44183a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43c9da
cmp eax, 0xc0
jb 0x43c9da
test al, 0x20
jne 0x43c916
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43c9da
test al, 0x10
jne 0x43c93c
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43c9da
test al, 8
jne 0x43c96b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43c9da
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43c9a6
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43c9da
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x4414ea
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x4414ea
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x44183a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43caf6
cmp eax, 0xc0
jb 0x43caf6
test al, 0x20
jne 0x43ca32
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43caf6
test al, 0x10
jne 0x43ca58
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43caf6
test al, 8
jne 0x43ca87
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43caf6
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43cac2
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43caf6
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x43c1cc
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x4414ea
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x44183a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43cc12
cmp eax, 0xc0
jb 0x43cc12
test al, 0x20
jne 0x43cb4e
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43cc12
test al, 0x10
jne 0x43cb74
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43cc12
test al, 8
jne 0x43cba3
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43cc12
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43cbde
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43cc12
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x100
jae 0x4414ea
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x4414ea
inc ebx
jmp 0x43b664
mov ecx, dword [edi + 0x6c]
cmp esi, ecx
jae 0x44183a
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43cd25
cmp eax, 0xc0
jb 0x43cd25
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43cc6c
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43cd25
test al, 0x10
jne 0x43cc8c
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43cd25
test al, 8
jne 0x43ccb5
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43cd25
test al, 4
jne 0x43ccea
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43cd25
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0xd
ja 0x43cd5e
je 0x43cd46
cmp eax, 0xa
je 0x43c1cc
jbe 0x4414ea
cmp eax, 0xc
ja 0x4414ea
jmp 0x43cd7b
cmp esi, ecx
jae 0x43c1cc
cmp byte [esi], 0xa
jne 0x43c1cc
inc esi
inc ebx
jmp 0x43b664
cmp eax, 0x85
je 0x43cd7b
cmp eax, 0x2027
jbe 0x4414ea
cmp eax, 0x2029
ja 0x4414ea
cmp dword [edi + 0x60], 0
jne case.0x43b682.115
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x441872
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43ce89
cmp eax, 0xc0
jb 0x43ce89
test al, 0x20
jne 0x43cdc5
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43ce89
test al, 0x10
jne 0x43cdeb
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x43ce89
test al, 8
jne 0x43ce1a
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43ce89
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43ce55
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43ce89
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x180e
ja 0x43cecc
je case.0x43b682.115
cmp eax, 0xa0
ja 0x43cebb
je case.0x43b682.115
cmp eax, 9
je case.0x43b682.115
cmp eax, 0x20
je case.0x43b682.115
inc ebx
jmp 0x43b664
cmp eax, 0x1680
je case.0x43b682.115
inc ebx
jmp 0x43b664
cmp eax, 0x205f
ja 0x43cf00
je case.0x43b682.115
cmp eax, 0x2000
jb 0x43c1cc
cmp eax, 0x200a
jbe case.0x43b682.115
cmp eax, 0x202f
je case.0x43b682.115
inc ebx
jmp 0x43b664
cmp eax, 0x3000
je case.0x43b682.115
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x441872
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43d00f
cmp eax, 0xc0
jb 0x43d00f
test al, 0x20
jne 0x43cf4b
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43d00f
test al, 0x10
jne 0x43cf71
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43d00f
test al, 8
jne 0x43cfa0
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43d00f
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43cfdb
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43d00f
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x180e
ja 0x43d052
je 0x43c1cc
cmp eax, 0xa0
ja 0x43d041
je 0x43c1cc
cmp eax, 9
je 0x43c1cc
cmp eax, 0x20
jne case.0x43b682.115
inc ebx
jmp 0x43b664
cmp eax, 0x1680
jne case.0x43b682.115
inc ebx
jmp 0x43b664
cmp eax, 0x205f
ja 0x43d086
je 0x43c1cc
cmp eax, 0x2000
jb case.0x43b682.115
cmp eax, 0x200a
jbe 0x43c1cc
cmp eax, 0x202f
jne case.0x43b682.115
inc ebx
jmp 0x43b664
cmp eax, 0x3000
jne case.0x43b682.115
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x441872
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43d195
cmp eax, 0xc0
jb 0x43d195
test al, 0x20
jne 0x43d0d1
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43d195
test al, 0x10
jne 0x43d0f7
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x43d195
test al, 8
jne 0x43d126
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43d195
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43d161
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43d195
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x85
ja 0x43d1ba
je case.0x43b682.115
cmp eax, 0xa
jb 0x43c1cc
cmp eax, 0xd
jbe case.0x43b682.115
inc ebx
jmp 0x43b664
cmp eax, 0x2028
jb 0x43c1cc
cmp eax, 0x2029
jbe case.0x43b682.115
inc ebx
jmp 0x43b664
cmp esi, dword [edi + 0x6c]
jae 0x441872
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43d2d4
cmp eax, 0xc0
jb 0x43d2d4
test al, 0x20
jne 0x43d210
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x43d2d4
test al, 0x10
jne 0x43d236
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43d2d4
test al, 8
jne 0x43d265
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x43d2d4
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x43d2a0
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x43d2d4
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0x85
ja 0x43d2f9
je 0x43c1cc
cmp eax, 0xa
jb case.0x43b682.115
cmp eax, 0xd
ja case.0x43b682.115
inc ebx
jmp 0x43b664
cmp eax, 0x2028
jb case.0x43b682.115
cmp eax, 0x2029
ja case.0x43b682.115
inc ebx
jmp 0x43b664
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add eax, eax
add ebx, 3
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp + 0x18]
jge 0x43d343
mov edx, dword [edi + 0xc]
mov ecx, dword [edx + eax*4]
lea eax, [edx + eax*4]
test ecx, ecx
js 0x43d343
mov edx, dword [eax + 4]
sub edx, ecx
jmp 0x43d353
cmp dword [edi + 0x48], 0
je 0x43d34d
xor edx, edx
jmp 0x43d353
mov edx, dword [edi + 0x6c]
sub edx, esi
inc edx
movzx eax, byte [ebx]
lea ecx, [eax - 0x46]
mov dword [ebp - 0x10], edx
cmp ecx, 7
ja case.default.0x43d36c
movzx ecx, byte [ecx + 0x443070]
jmp dword [ecx*4 + 0x443068]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x497a88]
movsx eax, byte [eax + 0x497a90]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x43d3dd
mov eax, accept
mov dword [ebp - 0xc], eax
jmp 0x43d3dd
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
xor edx, edx
cmp byte [ebx], 0x4d
sete dl
shl ecx, 8
or ecx, eax
movzx eax, byte [ebx + 3]
shl eax, 8
mov dword [ebp - 0x14], edx
movzx edx, byte [ebx + 4]
or eax, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
jne 0x43d3d7
mov eax, accept
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x10]
add ebx, 5
test edx, edx
je 0x43b664
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43d427
lea ecx, [ecx]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
push eax
push edi
push ecx
push esi
push edx
call fcn.00432e02
add esp, 0x14
test eax, eax
je 0x44197b
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 8]
jle 0x43d3f4
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
cmp ecx, eax
je 0x43b664
cmp dword [ebp - 0x14], 0
je 0x4418cd
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x18]
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x442d78.14
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
push edx
push edi
push eax
push esi
push ecx
call fcn.00432e02
add esp, 0x14
test eax, eax
je 0x44188b
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x43d474
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
push eax
push edi
push ecx
push esi
push edx
call fcn.00432e02
add esp, 0x14
test eax, eax
je 0x44197b
add esi, dword [ebp - 0x10]
jmp 0x43b664
lea eax, [ebx + 1]
add ebx, 0x21
mov dword [ebp - 0x18], eax
movzx eax, byte [ebx]
lea edx, [eax - 0x46]
cmp edx, 7
ja case.default.0x43d519
movzx edx, byte [edx + 0x443080]
jmp dword [edx*4 + 0x443078]
add eax, 0xffffffba
movzx edx, al
and edx, 1
mov dword [ebp - 0x14], edx
movsx edx, byte [eax + 0x497a88]
movsx eax, byte [eax + 0x497a90]
inc ebx
mov dword [ebp - 0xc], eax
test eax, eax
mov dword [ebp - 8], edx
mov eax, 1
jne 0x43d5a1
mov dword [ebp - 0xc], accept
jmp 0x43d5a1
movzx edx, byte [ebx + 2]
xor eax, eax
cmp byte [ebx], 0x4d
sete al
mov dword [ebp - 0x14], eax
movzx eax, byte [ebx + 1]
shl eax, 8
or eax, edx
movzx edx, byte [ebx + 4]
mov dword [ebp - 8], eax
movzx eax, byte [ebx + 3]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc], eax
jne 0x43d587
mov dword [ebp - 0xc], accept
mov edx, dword [ebp - 8]
add ebx, 5
mov eax, 1
jmp 0x43d5a1
mov eax, 1
mov edx, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
cmp dword [ebp - 0x1c], 0
je 0x43d6ea
mov dword [ebp + 0x1c], 1
cmp edx, 1
jl 0x43d72c
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x43d6a7
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43d5eb
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43d6a4
test al, 0x10
jne 0x43d60b
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43d6a4
test al, 8
jne 0x43d634
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43d6a4
test al, 4
jne 0x43d669
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43d6a4
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 8]
cmp eax, 0xff
jbe 0x43d6b9
cmp ecx, 0x4e
je 0x4414ea
jmp 0x43d6dc
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x43b682.115
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], edx
jle 0x43d5bb
jmp 0x43d72c
mov dword [ebp + 0x1c], eax
cmp edx, eax
jl 0x43d72c
cmp esi, dword [edi + 0x6c]
jae 0x4419da
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x43b682.115
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jle 0x43d6f1
mov ecx, dword [ebp - 4]
cmp edx, dword [ebp - 0xc]
je 0x43b664
cmp dword [ebp - 0x14], 0
mov dword [ebp + 0x1c], edx
je 0x441bbd
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x441b22
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
lea esp, [esp]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x43b682.115
cmp esi, dword [edi + 0x6c]
jae 0x4419da
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x441abb
test al, 0x20
jne 0x4419f7
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x441abb
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 [ebp - 0x18], ecx
mov cl, byte [ebx]
movzx eax, cl
lea edx, [eax - 0x46]
cmp edx, 7
ja case.default.0x43d7ed
movzx edx, byte [edx + 0x443090]
jmp dword [edx*4 + 0x443088]
add eax, 0xffffffba
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x497a88]
movsx eax, byte [eax + 0x497a90]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x43d867
mov eax, accept
jmp 0x43d864
movzx edx, byte [ebx + 2]
xor eax, eax
cmp cl, 0x4d
movzx ecx, byte [ebx + 1]
sete al
shl ecx, 8
or ecx, edx
movzx edx, byte [ebx + 4]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], eax
movzx eax, byte [ebx + 3]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc], eax
jne 0x43d855
mov eax, accept
mov dword [ebp - 0xc], eax
add ebx, 5
jmp 0x43d867
mov eax, 1
mov ecx, eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43d99f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43d975
cmp eax, 0xc0
jb 0x43d975
test al, 0x20
jne 0x43d8b1
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43d975
test al, 0x10
jne 0x43d8d7
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x43d975
test al, 8
jne 0x43d906
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43d975
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43d941
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43d975
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
mov edx, dword [ebp - 0x18]
push edx
push eax
call fcn.00432531
add esp, 8
test eax, eax
je 0x4414ea
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43d877
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x43b664
cmp dword [ebp - 0x14], 0
je 0x441f79
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x18]
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x442d78.14
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x441f04
cmp eax, 0xc0
jb 0x441f04
test al, 0x20
jne 0x441e40
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x441f04
cmp dword [ebp - 0x1c], eax
je 0x43daaa
mov edx, 1
movzx ecx, byte [ebx + edx]
add ebx, edx
mov eax, edx
cmp ecx, 0xc0
jb 0x43da7c
test cl, 0x20
jne 0x43da56
lea eax, [edx + 1]
jmp 0x43da7c
test cl, 0x10
jne 0x43da62
mov eax, 3
jmp 0x43da7c
test cl, 8
jne 0x43da6e
mov eax, 4
jmp 0x43da7c
test cl, 4
mov eax, 0
setne al
add eax, 5
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp eax, ecx
jg 0x442180
test eax, eax
jle 0x43b664
mov dl, byte [ebx]
mov cl, byte [esi]
dec eax
inc esi
inc ebx
cmp dl, cl
jne 0x4414ea
test eax, eax
jle 0x43b664
jmp 0x43da91
mov edx, dword [edi + 0x6c]
sub edx, esi
mov eax, 1
cmp edx, eax
jl 0x4421bd
mov cl, byte [esi]
add esi, eax
cmp byte [ebx + 1], cl
jne 0x4414ea
add ebx, 2
jmp 0x43b664
cmp dword [ebp - 0x1c], eax
je 0x43dd03
movzx eax, byte [ebx + 1]
inc ebx
mov ecx, 1
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0x1c], eax
cmp eax, 0xc0
jb 0x43dbc8
test al, 0x20
jne 0x43db12
movzx edx, byte [ebx + 1]
and eax, 0x1f
and edx, 0x3f
shl eax, 6
or eax, edx
mov ecx, 2
jmp 0x43dbc5
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
and ecx, 0x3f
and edx, 0x3f
test al, 0x10
jne 0x43db3b
and eax, 0xf
shl eax, 6
or eax, ecx
shl eax, 6
or eax, edx
mov ecx, 3
jmp 0x43dbc5
test al, 8
jne 0x43db5f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x43dbc5
test al, 4
jne 0x43db8f
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
mov ecx, 5
jmp 0x43dbc5
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 6
or ecx, edx
movzx edx, byte [ebx + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [ebx + 5]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
mov dword [ebp - 0x10], ecx
mov edx, dword [edi + 0x6c]
sub edx, esi
cmp ecx, edx
jg 0x4421d5
movzx ecx, byte [esi]
inc esi
cmp eax, 0x80
jae 0x43dc05
mov eax, dword [edi + 0x30]
mov dl, byte [ecx + eax]
mov ecx, dword [ebp + 0x1c]
inc ebx
cmp byte [ecx + eax], dl
je 0x43b664
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0xc0
jb 0x43dce6
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x43dc2a
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x43dce6
test cl, 0x10
jne 0x43dc4b
and ecx, 0xf
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x43dce6
test cl, 8
jne 0x43dc75
and ecx, 7
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x43dce6
test cl, 4
jne 0x43dcab
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x43dce6
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
add ebx, dword [ebp - 0x10]
cmp eax, ecx
je 0x43b664
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x6c]
sub ecx, esi
mov eax, 1
cmp ecx, eax
jl 0x441806
movzx ecx, byte [esi]
mov eax, dword [edi + 0x30]
movzx edx, byte [ebx + 1]
mov cl, byte [ecx + eax]
inc esi
cmp byte [edx + eax], cl
jne case.0x43b682.115
add ebx, 2
jmp 0x43b664
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
mov dword [ebp - 8], eax
add ebx, 3
mov edx, 1
jmp 0x43dddb
mov dword [ebp - 0x18], 1
movzx ecx, byte [ebx + 2]
mov dword [ebp - 8], eax
movzx eax, byte [ebx + 1]
shl eax, 8
xor edx, edx
or eax, ecx
cmp byte [ebx], 0x26
sete dl
add ebx, 3
mov dword [ebp - 0x14], edx
mov edx, 1
jmp 0x43dddb
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], eax
add ebx, edx
jmp 0x43ddd6
mov edx, 1
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], edx
add ebx, edx
jmp 0x43ddd6
mov edx, 1
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], edx
mov eax, edx
add ebx, edx
jmp 0x43dddb
add ecx, 0xffffffe1
movzx eax, cl
mov edx, 1
and eax, edx
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x497a88]
mov dword [ebp - 8], eax
movsx eax, byte [ecx + 0x497a90]
add ebx, edx
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x43ddde
mov eax, accept
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x1c], 0
movzx ecx, byte [ebx]
mov dword [ebp - 4], ecx
je 0x43e023
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x24], ebx
cmp ecx, 0xc0
jb 0x43dee8
movzx edx, byte [ebx + 1]
and edx, 0x3f
test cl, 0x20
jne 0x43de1e
and ecx, 0x1f
shl ecx, 6
or ecx, edx
mov edx, 2
jmp 0x43dee2
test cl, 0x10
jne 0x43de41
and ecx, 0xf
shl ecx, 6
or edx, ecx
movzx ecx, byte [ebx + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, 3
jmp 0x43dee2
test cl, 8
jne 0x43de6d
and ecx, 7
shl ecx, 6
or edx, ecx
movzx ecx, byte [ebx + 2]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 3]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, 4
jmp 0x43dee2
test cl, 4
jne 0x43dea5
and ecx, 3
shl ecx, 6
or edx, ecx
movzx ecx, byte [ebx + 2]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 4]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, 5
jmp 0x43dee2
and ecx, 1
shl ecx, 6
or edx, ecx
movzx ecx, byte [ebx + 2]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 3]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [ebx + 5]
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, 6
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], edx
add ebx, edx
cmp edx, 1
jle 0x43e025
mov ecx, dword [ebp - 8]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43df3e
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x44197b
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00410f91
add esp, 0xc
test eax, eax
jne 0x44197b
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43df02
mov eax, dword [ebp - 0xc]
cmp ecx, eax
je 0x43b664
cmp dword [ebp - 0x14], 0
jne 0x4421ed
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x43dfac
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp esi, eax
ja 0x43df8b
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x24]
push ecx
push edx
push esi
call fcn.00410f91
add esp, 0xc
test eax, eax
jne 0x43df8b
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x10]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x43df5a
jmp 0x43dfac
cmp dword [edi + 0x7c], 0
je 0x43dfac
cmp esi, dword [edi + 0x6c]
jb 0x43dfac
cmp esi, dword [edi + 0x78]
jbe 0x43dfac
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
cmp dword [ebp - 0x18], 0
jne 0x43b664
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
push 0
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
cmp esi, dword [ebp - 0x14]
je case.0x442d78.14
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
sub esi, dword [ebp - 0x10]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x43dfe7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ebx, edx
test byte [ebp + 0x20], 1
je 0x43e139
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 8]
mov edx, 1
mov dword [ebp + 0x1c], edx
cmp ecx, edx
jl 0x43e084
jmp 0x43e059
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x4422b6
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
jne case.0x442d78.14
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 8]
inc edx
mov dword [ebp + 0x1c], edx
cmp edx, ecx
jle 0x43e054
cmp ecx, eax
je 0x43b664
cmp dword [ebp - 0x14], 0
jne 0x4422da
mov dword [ebp - 0x14], esi
cmp ecx, eax
jge 0x43e0de
mov dword [ebp + 0x1c], ecx
cmp esi, dword [edi + 0x6c]
jae 0x43e0c2
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
jne 0x43e0de
mov ecx, dword [ebp + 0x1c]
inc ecx
inc esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jl 0x43e0a0
jmp 0x43e0de
cmp dword [edi + 0x7c], 0
je 0x43e0de
cmp esi, dword [edi + 0x78]
jbe 0x43e0de
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
cmp dword [ebp - 0x18], 0
jne 0x43b664
cmp esi, dword [ebp - 0x14]
jb 0x43e127
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
dec esi
test eax, eax
jne 0x442eb8
cmp esi, dword [ebp - 0x14]
jae 0x43e0f4
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 8]
mov dword [ebp + 0x1c], 1
cmp edx, 1
jl 0x43e16e
cmp esi, dword [edi + 0x6c]
jae 0x4419da
movzx edx, byte [esi]
inc esi
cmp ecx, edx
jne case.0x43b682.115
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp - 8]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
mov ecx, dword [ebp - 4]
jle 0x43e148
cmp edx, eax
je 0x43b664
cmp dword [ebp - 0x14], 0
mov edx, dword [ebp - 8]
mov dword [ebp + 0x1c], edx
jne 0x442370
mov dword [ebp - 0x14], esi
cmp edx, eax
jge 0x43e1c3
cmp esi, dword [edi + 0x6c]
jae 0x43e1a7
movzx edx, byte [esi]
cmp ecx, edx
jne 0x43e1c3
mov edx, dword [ebp + 0x1c]
inc edx
inc esi
mov dword [ebp + 0x1c], edx
cmp edx, eax
jl 0x43e18d
jmp 0x43e1c3
cmp dword [edi + 0x7c], 0
je 0x43e1c3
cmp esi, dword [edi + 0x78]
jbe 0x43e1c3
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
cmp dword [ebp - 0x18], 0
jne 0x43b664
cmp esi, dword [ebp - 0x14]
jb 0x43e20c
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
dec esi
test eax, eax
jne 0x442eb8
cmp esi, dword [ebp - 0x14]
jae 0x43e1d9
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, dword [edi + 0x6c]
jae 0x441872
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 0x1c], 0
je 0x43e31c
cmp eax, 0xc0
jb 0x43e31c
test al, 0x20
jne 0x43e258
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x43e31c
test al, 0x10
jne 0x43e27e
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x43e31c
test al, 8
jne 0x43e2ad
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43e31c
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x43e2e8
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43e31c
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
test byte [ebp + 0x20], 1
je 0x43e358
cmp eax, 0x100
jae 0x43e330
mov edx, dword [edi + 0x30]
movzx eax, byte [edx + eax]
movzx ecx, byte [ebx + 1]
mov edx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
add ebx, 2
cmp ecx, eax
jne 0x43b664
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, byte [ebx + 1]
add ebx, 2
cmp edx, eax
jne 0x43b664
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl ecx, 8
or ecx, eax
mov eax, ecx
add ebx, 3
jmp 0x43e41f
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
mov dword [ebp - 0xc], ecx
xor ecx, ecx
xor eax, eax
cmp byte [ebx], 0x33
sete cl
add ebx, 3
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0xc]
jmp 0x43e422
mov edx, 1
xor eax, eax
mov dword [ebp - 0x18], edx
add ebx, edx
jmp 0x43e41a
mov eax, 1
mov dword [ebp - 0x18], eax
add ebx, eax
jmp 0x43e41a
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x18], ecx
add ebx, ecx
jmp 0x43e41f
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
xor eax, eax
or ecx, edx
mov dword [ebp - 0x18], 1
add ebx, 3
jmp 0x43e41f
add ecx, 0xffffffd4
movzx eax, cl
and eax, 1
mov dword [ebp - 0x14], eax
movsx eax, byte [ecx + 0x497a88]
movsx ecx, byte [ecx + 0x497a90]
inc ebx
mov dword [ebp - 0xc], ecx
test ecx, ecx
jne 0x43e422
mov ecx, accept
mov dword [ebp - 0xc], ecx
movzx edx, byte [ebx]
inc ebx
test byte [ebp + 0x20], 1
mov dword [ebp - 4], edx
je 0x43e82c
cmp dword [ebp - 0x1c], 0
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
mov dword [ebp - 4], ecx
mov dword [ebp + 0x1c], 1
je 0x43e56e
cmp eax, 1
jl 0x43e59b
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx ecx, byte [esi]
inc esi
cmp ecx, 0xc0
jb 0x43e545
movzx edx, byte [esi]
and edx, 0x3f
test cl, 0x20
jne 0x43e489
and ecx, 0x1f
shl ecx, 6
or ecx, edx
inc esi
jmp 0x43e545
test cl, 0x10
jne 0x43e4aa
and ecx, 0xf
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x43e545
test cl, 8
jne 0x43e4d4
and ecx, 7
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x43e545
test cl, 4
jne 0x43e50a
and ecx, 3
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x43e545
and ecx, 1
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
cmp ecx, 0x100
jae 0x43e554
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
cmp dword [ebp - 4], ecx
je case.0x442d78.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43e457
jmp 0x43e59b
cmp eax, 1
jl 0x43e59b
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
inc esi
cmp dword [ebp - 4], ecx
je case.0x442d78.14
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43e573
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x43b664
cmp dword [ebp - 0x14], 0
jne 0x4423f9
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43e794
mov dword [ebp + 0x1c], eax
cmp eax, edx
jge 0x43e708
mov eax, 1
cmp esi, dword [edi + 0x6c]
jae 0x43e6f1
movzx ecx, byte [esi]
cmp ecx, 0xc0
jb 0x43e6c7
movzx eax, byte [esi + 1]
and eax, 0x3f
test cl, 0x20
jne 0x43e603
and ecx, 0x1f
shl ecx, 6
or ecx, eax
mov eax, 2
jmp 0x43e6c7
test cl, 0x10
jne 0x43e626
and ecx, 0xf
shl ecx, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 3
jmp 0x43e6c7
test cl, 8
jne 0x43e652
and ecx, 7
shl ecx, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 4
jmp 0x43e6c7
test cl, 4
jne 0x43e68a
and ecx, 3
shl ecx, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 5
jmp 0x43e6c7
and ecx, 1
shl ecx, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 5]
shl eax, 6
and ecx, 0x3f
or ecx, eax
mov eax, 6
cmp ecx, 0x100
jae 0x43e6d9
mov edx, dword [edi + 0x30]
movzx ecx, byte [ecx + edx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp - 4], ecx
je 0x43e708
add esi, eax
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43e5c8
jmp 0x43e708
cmp dword [edi + 0x7c], 0
je 0x43e708
cmp esi, dword [edi + 0x78]
jbe 0x43e708
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
cmp dword [ebp - 0x18], 0
jne 0x43b664
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
push 0
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
nop
mov edx, esi
dec esi
cmp edx, dword [ebp - 0x14]
je 0x43e81a
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43e764
mov cl, byte [esi - 1]
dec esi
and cl, 0xc0
cmp cl, 0x80
je 0x43e758
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x43e744
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edx
jge 0x43e7d1
cmp esi, dword [edi + 0x6c]
jae 0x43e7b5
movzx edx, byte [esi]
mov ecx, dword [edi + 0x30]
movzx ecx, byte [edx + ecx]
cmp dword [ebp - 4], ecx
je 0x43e7d1
inc eax
inc esi
cmp eax, dword [ebp - 0xc]
jl 0x43e798
jmp 0x43e7d1
cmp dword [edi + 0x7c], 0
je 0x43e7d1
cmp esi, dword [edi + 0x78]
jbe 0x43e7d1
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
cmp dword [ebp - 0x18], 0
jne 0x43b664
cmp esi, dword [ebp - 0x14]
jb 0x43e81a
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43e7e7
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
mov edx, 1
mov dword [ebp + 0x1c], edx
je 0x43e96f
cmp eax, edx
jl 0x43e99e
cmp esi, dword [edi + 0x6c]
jae 0x442610
movzx ecx, byte [esi]
add esi, edx
cmp ecx, 0xc0
jb 0x43e94f
test cl, 0x20
jne 0x43e879
movzx edx, byte [esi]
and ecx, 0x1f
shl ecx, 6
and edx, 0x3f
or ecx, edx
inc esi
jmp 0x43e94f
test cl, 0x10
jne 0x43e8a0
movzx edx, byte [esi]
and ecx, 0xf
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 2
jmp 0x43e94f
test cl, 8
jne 0x43e8d3
movzx edx, byte [esi]
and ecx, 7
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
jmp 0x43e94f
test cl, 4
jne 0x43e90f
movzx edx, byte [esi]
and ecx, 3
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
jmp 0x43e94f
and ecx, edx
movzx edx, byte [esi]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 1]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 2]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 4]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 5
cmp dword [ebp - 4], ecx
je case.0x43b682.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43e846
jmp 0x43e99b
cmp eax, edx
jl 0x43e99e
cmp esi, dword [edi + 0x6c]
jae 0x442610
movzx ecx, byte [esi]
add esi, edx
cmp dword [ebp - 4], ecx
je case.0x43b682.115
mov ecx, dword [ebp + 0x1c]
mov edx, 1
add ecx, edx
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jle 0x43e973
mov ecx, dword [ebp - 0xc]
cmp eax, ecx
je 0x43b664
cmp dword [ebp - 0x14], 0
jne 0x44262e
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x43eb80
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jge 0x43eaf1
mov edx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43eada
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43eac2
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x43ea01
and eax, 0x1f
shl eax, 6
or eax, edx
mov edx, 2
jmp 0x43eac2
test al, 0x10
jne 0x43ea23
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 3
jmp 0x43eac2
test al, 8
jne 0x43ea4e
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 4
jmp 0x43eac2
test al, 4
jne 0x43ea85
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 5
jmp 0x43eac2
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or eax, edx
mov edx, 6
cmp dword [ebp - 4], eax
je 0x43eaf1
mov eax, dword [ebp + 0x1c]
inc eax
add esi, edx
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jl 0x43e9c8
jmp 0x43eaf1
cmp dword [edi + 0x7c], 0
je 0x43eaf1
cmp esi, dword [edi + 0x78]
jbe 0x43eaf1
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jg 0x4417f1
cmp dword [ebp - 0x18], 0
jne 0x43b664
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc eax
push eax
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x43ec07
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43eb50
mov edi, edi
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x43eb44
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x43eb2c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, eax
cmp eax, ecx
jge 0x43ebb7
cmp esi, dword [edi + 0x6c]
jae 0x43eb9b
movzx eax, byte [esi]
cmp dword [ebp - 4], eax
je 0x43ebb7
inc edx
inc esi
cmp edx, ecx
jl 0x43eb86
jmp 0x43ebb7
cmp dword [edi + 0x7c], 0
je 0x43ebb7
cmp esi, dword [edi + 0x78]
jbe 0x43ebb7
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4417f1
cmp dword [ebp - 0x18], 0
jne 0x43b664
cmp esi, dword [ebp - 0x14]
jb 0x43ec07
mov ecx, dword [ebp + 0x2c]
inc ecx
mov dword [ebp - 8], ecx
lea esp, [esp]
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x43ebd4
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl edx, 8
or edx, ecx
mov ecx, edx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x14], 1
add ebx, 3
jmp 0x43ecdc
movzx eax, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl eax, 8
or eax, edx
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
xor eax, eax
xor ecx, ecx
cmp byte [ebx], 0x40
mov dword [ebp - 8], ecx
sete al
add ebx, 3
mov dword [ebp - 0x14], eax
jmp 0x43ecdf
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov dword [ebp - 8], ecx
inc ebx
jmp 0x43ecd7
mov ecx, 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], ecx
add ebx, ecx
jmp 0x43ecd7
mov edx, 1
xor ecx, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], ecx
add ebx, edx
jmp 0x43ecdc
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
xor ecx, ecx
or edx, eax
mov dword [ebp - 0x18], 1
mov dword [ebp - 8], ecx
add ebx, 3
jmp 0x43ecdc
lea eax, [ecx - 0x39]
movsx edx, byte [eax + 0x497a90]
movzx ecx, al
and ecx, 1
mov dword [ebp - 0x14], ecx
movsx ecx, byte [eax + 0x497a88]
inc ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], edx
test edx, edx
jne 0x43ecdf
mov edx, accept
mov dword [ebp - 0xc], edx
movzx eax, byte [ebx]
inc ebx
mov dword [ebp - 0x10], eax
test ecx, ecx
jle 0x43fb2f
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
je 0x43f79b
cmp eax, 0xf
ja case.0x442d5e.15
jmp dword [eax*4 + 0x443098]
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x441f50
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43ed51
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
jne case.0x442d78.14
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43ed78
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43ed78
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43ed78
cmp dword [edi + 0x1c], 1
je case.0x442d78.14
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je case.0x442d78.14
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43ed92
lea ebx, [ebx]
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43ed92
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43ed84
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ed1b
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
jmp 0x43edb4
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x441f50
inc esi
cmp esi, eax
jae 0x43edd2
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x43edd2
inc esi
cmp esi, dword [edi + 0x6c]
jb 0x43edc4
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43edb4
jmp 0x43fb2f
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja case.0x442d78.14
add esi, ecx
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43eef8
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ee39
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43eef2
test al, 0x10
jne 0x43ee59
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43eef2
test al, 8
jne 0x43ee82
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43eef2
test al, 4
jne 0x43eeb7
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43eef2
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xd
ja 0x43ef24
je 0x43ef17
cmp dword [ebp - 4], 0xa
je 0x43ef48
mov eax, dword [ebp - 4]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x442d78.14
jmp 0x43ef3e
cmp esi, dword [edi + 0x6c]
jae 0x43ef48
cmp byte [esi], 0xa
jne 0x43ef48
inc esi
jmp 0x43ef48
cmp dword [ebp - 4], 0x85
je 0x43ef3e
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x442d78.14
cmp dword [edi + 0x60], 0
jne 0x4414ea
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ee06
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43f05b
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43ef9c
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43f055
test al, 0x10
jne 0x43efbc
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43f055
test al, 8
jne 0x43efe5
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43f055
test al, 4
jne 0x43f01a
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43f055
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x180e
ja 0x43f09e
je 0x4414ea
cmp dword [ebp - 4], 0xa0
ja 0x43f08f
je 0x4414ea
cmp dword [ebp - 4], 9
je 0x4414ea
cmp dword [ebp - 4], 0x20
je 0x4414ea
jmp 0x43f0df
cmp dword [ebp - 4], 0x1680
je 0x4414ea
jmp 0x43f0df
cmp dword [ebp - 4], 0x205f
ja 0x43f0d2
je 0x4414ea
cmp dword [ebp - 4], 0x2000
jb 0x43f0df
cmp dword [ebp - 4], 0x200a
jbe 0x4414ea
cmp dword [ebp - 4], 0x202f
je 0x4414ea
jmp 0x43f0df
cmp dword [ebp - 4], 0x3000
je 0x4414ea
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43ef69
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43f1f2
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43f133
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43f1ec
test al, 0x10
jne 0x43f153
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43f1ec
test al, 8
jne 0x43f17c
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43f1ec
test al, 4
jne 0x43f1b1
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43f1ec
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x180e
ja 0x43f229
je 0x43f266
cmp dword [ebp - 4], 0xa0
ja 0x43f21a
je 0x43f266
cmp dword [ebp - 4], 9
je 0x43f266
cmp dword [ebp - 4], 0x20
jne 0x4414ea
jmp 0x43f266
cmp dword [ebp - 4], 0x1680
jne 0x4414ea
jmp 0x43f266
cmp dword [ebp - 4], 0x205f
ja 0x43f259
je 0x43f266
cmp dword [ebp - 4], 0x2000
jb 0x4414ea
cmp dword [ebp - 4], 0x200a
jbe 0x43f266
cmp dword [ebp - 4], 0x202f
jne 0x4414ea
jmp 0x43f266
cmp dword [ebp - 4], 0x3000
jne 0x4414ea
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43f100
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43f379
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43f2ba
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43f373
test al, 0x10
jne 0x43f2da
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43f373
test al, 8
jne 0x43f303
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43f373
test al, 4
jne 0x43f338
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43f373
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x85
ja 0x43f39a
je 0x4414ea
cmp dword [ebp - 4], 0xa
jb 0x43f3b0
cmp dword [ebp - 4], 0xd
jbe 0x4414ea
jmp 0x43f3b0
cmp dword [ebp - 4], 0x2028
jb 0x43f3b0
cmp dword [ebp - 4], 0x2029
jbe 0x4414ea
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43f287
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43f4c3
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43f404
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43f4bd
test al, 0x10
jne 0x43f424
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43f4bd
test al, 8
jne 0x43f44d
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43f4bd
test al, 4
jne 0x43f482
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43f4bd
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x85
ja 0x43f4df
je 0x43f4f0
mov eax, dword [ebp - 4]
add eax, 0xfffffff6
cmp eax, 3
ja 0x4414ea
jmp 0x43f4f0
mov eax, dword [ebp - 4]
add eax, 0xffffdfd8
cmp eax, 1
ja 0x4414ea
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43f3d1
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
movzx eax, byte [esi]
inc esi
mov dword [ebp - 4], eax
cmp eax, 0xc0
jb 0x43f603
movzx edx, byte [esi]
and edx, 0x3f
test al, 0x20
jne 0x43f544
and eax, 0x1f
shl eax, 6
or eax, edx
inc esi
jmp 0x43f5fd
test al, 0x10
jne 0x43f564
and eax, 0xf
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x43f5fd
test al, 8
jne 0x43f58d
and eax, 7
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x43f5fd
test al, 4
jne 0x43f5c2
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x43f5fd
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 1]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov edx, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x80
jae 0x43f61f
mov eax, dword [edi + 0x34]
mov edx, dword [ebp - 4]
test byte [edx + eax], 4
jne 0x4414ea
mov edx, dword [ebp - 0xc]
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43f511
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
mov al, byte [esi]
cmp al, 0x80
jae 0x4414ea
mov edx, dword [edi + 0x34]
movzx eax, al
mov al, byte [eax + edx]
inc esi
and al, 4
je 0x4414ea
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f640
jmp 0x43fb2c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
mov al, byte [esi]
cmp al, 0x80
jae 0x43f6a7
movzx edx, al
mov eax, dword [edi + 0x34]
test byte [edx + eax], 1
jne 0x4414ea
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43f6b5
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43f6a7
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43f685
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
mov al, byte [esi]
cmp al, 0x80
jae 0x4414ea
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
je 0x4414ea
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f6d2
jmp 0x43fb2c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
mov al, byte [esi]
cmp al, 0x80
jae 0x43f73a
mov edx, dword [edi + 0x34]
movzx eax, al
test byte [eax + edx], 0x10
jne 0x4414ea
mov edx, dword [ebp - 0xc]
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x43f748
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
je 0x43f73a
inc dword [ebp + 0x1c]
cmp dword [ebp + 0x1c], ecx
jle 0x43f718
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
mov al, byte [esi]
cmp al, 0x80
jae 0x4414ea
movzx edx, al
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
je 0x4414ea
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f765
jmp 0x43fb2c
cmp eax, 0xf
ja case.0x442d5e.15
jmp dword [eax*4 + 0x4430d8]
cmp ecx, 1
jl 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43f7ef
mov edx, dword [edi + 0x6c]
push 0
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
jne 0x4414ea
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
jmp 0x43f816
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43f816
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x43f816
cmp dword [edi + 0x1c], 1
je 0x4414ea
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x4414ea
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f7bb
jmp 0x43fb2f
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x4419a1
add esi, ecx
jmp 0x43fb2f
mov eax, dword [edi + 0x6c]
sub eax, ecx
cmp esi, eax
ja 0x441f50
add esi, ecx
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
jmp 0x43f864
cmp esi, dword [edi + 0x6c]
jae 0x4419da
movzx eax, byte [esi]
sub eax, 0xa
inc esi
cmp eax, 0x7b
ja case.0x442d78.14
movzx eax, byte [eax + 0x443128]
jmp dword [eax*4 + 0x443118]
cmp esi, dword [edi + 0x6c]
jae case.0x43f884.10
cmp byte [esi], 0xa
jne case.0x43f884.10
inc esi
jmp case.0x43f884.10
cmp dword [edi + 0x60], 0
jne case.0x43b682.115
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f864
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx eax, byte [esi]
inc esi
cmp eax, 9
je case.0x442d78.14
cmp eax, 0x20
je case.0x442d78.14
cmp eax, 0xa0
je case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f8c4
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx eax, byte [esi]
inc esi
cmp eax, 9
je 0x43f936
cmp eax, 0x20
je 0x43f936
cmp eax, 0xa0
jne case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f914
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl 0x43f97c
cmp eax, 0xd
jle case.0x442d78.14
cmp eax, 0x85
je case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f956
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
jmp 0x43f9a4
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx eax, byte [esi]
inc esi
cmp eax, 0xa
jl case.0x442d78.14
cmp eax, 0xd
jle 0x43f9ca
cmp eax, 0x85
jne case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f9a4
jmp 0x43fb2f
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 4
jne case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43f9ea
jmp 0x43fb2c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 4
je case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43fa26
jmp 0x43fb2c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 1
jne case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43fa61
jmp 0x43fb2c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 1
je case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43fa9d
jmp 0x43fb2c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx edx, byte [esi]
mov eax, dword [edi + 0x34]
mov dl, byte [edx + eax]
inc esi
and dl, 0x10
jne case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43fad1
jmp 0x43fb2c
mov dword [ebp + 0x1c], 1
cmp ecx, 1
jl 0x43fb2f
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx eax, byte [esi]
mov edx, dword [edi + 0x34]
mov al, byte [eax + edx]
inc esi
and al, 0x10
je case.0x442d78.14
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, ecx
jle 0x43fb06
mov edx, dword [ebp - 0xc]
cmp ecx, edx
je 0x43b664
cmp dword [ebp - 0x14], 0
jne 0x442845
mov eax, dword [ebp - 0x10]
add eax, 0xfffffffa
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x440a3e
cmp eax, 0xf
ja case.0x442d5e.15
jmp dword [eax*4 + 0x4431a4]
mov dword [ebp + 0x1c], ecx
cmp edx, 0x7fffffff
jge 0x43fc07
cmp ecx, edx
jge 0x4409ad
cmp esi, dword [edi + 0x6c]
jae 0x43fd39
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43fbae
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
jne 0x4409ad
mov edx, dword [ebp - 0xc]
jmp 0x43fbd5
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43fbd5
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43fbd5
cmp dword [edi + 0x1c], 1
je 0x4409ad
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x4409ad
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43fbf3
lea esp, [esp]
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43fbf3
inc esi
cmp esi, eax
jb 0x43fbe4
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43fb7b
jmp 0x4409ad
cmp ecx, edx
jge 0x4409ad
jmp 0x43fc14
cmp esi, dword [edi + 0x6c]
jae 0x43fc93
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43fc43
mov edx, dword [ebp - 0x1c]
push edx
mov edx, dword [edi + 0x6c]
lea ecx, [edi + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
jne 0x4409ad
mov edx, dword [ebp - 0xc]
jmp 0x43fc6a
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x43fc6a
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x43fc6a
cmp dword [edi + 0x1c], 1
je 0x4409ad
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x4409ad
mov eax, dword [edi + 0x6c]
inc esi
cmp esi, eax
jae 0x43fc83
mov edi, edi
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43fc83
inc esi
cmp esi, eax
jb 0x43fc74
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43fc14
jmp 0x4409ad
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
jmp 0x4409ad
cmp edx, 0x7fffffff
jge 0x43fd23
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
mov eax, dword [edi + 0x6c]
cmp esi, eax
jae 0x43fcfa
inc esi
cmp esi, eax
jae 0x43fcea
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x43fcea
inc esi
cmp esi, eax
jb 0x43fcdb
mov ecx, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jl 0x43fcd2
jmp 0x4409ad
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4417f1
jmp 0x4409ad
mov esi, dword [edi + 0x6c]
jmp 0x4409ad
mov eax, dword [edi + 0x6c]
sub edx, ecx
sub eax, esi
cmp edx, eax
jbe 0x43fd62
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4419c5
jmp 0x4409ad
add esi, edx
jmp 0x4409ad
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
mov ecx, 1
cmp esi, dword [edi + 0x6c]
jae 0x43fecd
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43fe6e
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43fdad
and eax, 0x1f
shl eax, 6
or eax, ecx
mov ecx, 2
jmp 0x43fe6e
test al, 0x10
jne 0x43fdcf
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 3
jmp 0x43fe6e
test al, 8
jne 0x43fdfa
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 4
jmp 0x43fe6e
test al, 4
jne 0x43fe31
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 5
jmp 0x43fe6e
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 4]
shl ecx, 6
and eax, 0x3f
or ecx, eax
movzx eax, byte [esi + 5]
shl ecx, 6
and eax, 0x3f
or eax, ecx
mov ecx, 6
cmp eax, 0xd
jne 0x43fe85
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x4409ad
cmp byte [esi], 0xa
jne 0x43feb9
inc esi
jmp 0x43feb9
cmp eax, 0xa
je 0x43feb7
cmp dword [edi + 0x60], 0
jne 0x4409ad
cmp eax, 0xb
je 0x43feb7
cmp eax, 0xc
je 0x43feb7
cmp eax, 0x85
je 0x43feb7
cmp eax, 0x2028
je 0x43feb7
cmp eax, 0x2029
jne 0x4409ad
add esi, ecx
mov eax, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43fd74
jmp 0x4409ad
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x441825
jmp 0x4409ad
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
mov ecx, 1
lea ecx, [ecx]
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x440073
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x43ffec
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x43ff3b
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x43ffea
test al, 0x10
jne 0x43ff57
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x43ffe4
test al, 8
jne 0x43ff7c
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 8], 4
jmp 0x43ffe4
test al, 4
jne 0x43ffad
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 8], 5
jmp 0x43ffe4
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 8], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x180e
ja 0x440046
je 0x440008
cmp eax, 0xa0
ja 0x44003b
je 0x440008
cmp eax, 9
je 0x440008
cmp eax, 0x20
jne 0x44006f
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x10], 0x12
sete al
cmp ecx, eax
je 0x4409ad
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 8]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x43ff04
jmp 0x4409ad
cmp eax, 0x1680
je 0x440008
xor ecx, ecx
jmp 0x44000d
cmp eax, 0x205f
ja 0x440068
je 0x440008
cmp eax, 0x2000
jb 0x44006f
cmp eax, 0x200a
jbe 0x440008
cmp eax, 0x202f
je 0x440008
xor ecx, ecx
jmp 0x44000d
cmp eax, 0x3000
je 0x440008
xor ecx, ecx
jmp 0x44000d
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x4417f1
jmp 0x4409ad
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
mov ecx, 1
mov dword [ebp - 8], ecx
cmp esi, dword [edi + 0x6c]
jae 0x4401e3
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44018f
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4400de
and eax, 0x1f
shl eax, 6
mov dword [ebp - 8], 2
jmp 0x44018d
test al, 0x10
jne 0x4400fa
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 8], 3
jmp 0x440187
test al, 8
jne 0x44011f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 8], 4
jmp 0x440187
test al, 4
jne 0x440150
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 8], 5
jmp 0x440187
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 8], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x85
ja 0x4401d2
je 0x4401dc
cmp eax, 0xa
jb 0x4401a2
cmp eax, 0xd
jbe 0x4401dc
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x10], 0x14
sete al
cmp ecx, eax
je 0x4409ad
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 8]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x4400a7
jmp 0x4409ad
add eax, 0xffffdfd8
cmp eax, 1
ja 0x4401a2
mov ecx, 1
jmp 0x4401a4
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x4419c5
jmp 0x4409ad
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
mov edi, edi
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x44032c
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x440301
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x440250
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x4402ff
test al, 0x10
jne 0x44026c
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x4402f9
test al, 8
jne 0x440291
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x4402f9
test al, 4
jne 0x4402c2
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x4402f9
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x440315
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x4409ad
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440214
jmp 0x4409ad
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
jmp 0x4409ad
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x440073
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44044c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x44039b
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x44044a
test al, 0x10
jne 0x4403b7
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x440444
test al, 8
jne 0x4403dc
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x440444
test al, 4
jne 0x44040d
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x440444
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x4409ad
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x4409ad
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440364
jmp 0x4409ad
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
jmp 0x440494
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x4405ac
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x440581
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4404d0
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x44057f
test al, 0x10
jne 0x4404ec
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x440579
test al, 8
jne 0x440511
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x440579
test al, 4
jne 0x440542
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x440579
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x440595
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x4409ad
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440494
jmp 0x4409ad
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4419c5
jmp 0x4409ad
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x440701
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x4406cc
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x44061b
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x4406ca
test al, 0x10
jne 0x440637
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x4406c4
test al, 8
jne 0x44065c
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x4406c4
test al, 4
jne 0x44068d
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x4406c4
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x4409ad
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x4409ad
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x4405e4
jmp 0x4409ad
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x441825
jmp 0x4409ad
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
lea esp, [esp]
mov eax, 1
mov dword [ebp - 0x10], eax
cmp esi, dword [edi + 0x6c]
jae 0x44084c
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x440821
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x440770
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x44081f
test al, 0x10
jne 0x44078c
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x440819
test al, 8
jne 0x4407b1
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x440819
test al, 4
jne 0x4407e2
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x440819
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x440835
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x4409ad
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440734
jmp 0x4409ad
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4417f1
jmp 0x4409ad
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x4409ad
mov ecx, 1
lea esp, [esp]
mov dword [ebp - 0x10], ecx
cmp esi, dword [edi + 0x6c]
jae 0x440996
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x44096c
movzx ecx, byte [esi + 1]
and ecx, 0x3f
test al, 0x20
jne 0x4408bb
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x10], 2
jmp 0x44096a
test al, 0x10
jne 0x4408d7
and eax, 0xf
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x10], 3
jmp 0x440964
test al, 8
jne 0x4408fc
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x10], 4
jmp 0x440964
test al, 4
jne 0x44092d
and eax, 3
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x10], 5
jmp 0x440964
and eax, 1
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or ecx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x10], 6
shl ecx, 6
and eax, 0x3f
or eax, ecx
cmp eax, 0x100
jae 0x4409ad
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x4409ad
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440884
jmp 0x4409ad
cmp dword [edi + 0x7c], 0
je 0x4409ad
cmp esi, dword [edi + 0x78]
jbe 0x4409ad
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x4419c5
cmp dword [ebp - 0x18], 0
jne 0x43b664
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x18]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x440e48
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x440a0e
lea ebx, [ebx]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x440a04
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x4409e8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0xf
ja case.0x442d5e.15
jmp dword [eax*4 + 0x4431e4]
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x440dff
cmp esi, dword [edi + 0x6c]
jae 0x440abe
mov eax, dword [edi + 0x18]
test eax, eax
je 0x440a86
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
jne 0x440dff
mov edx, dword [ebp - 0xc]
jmp 0x440aad
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp esi, eax
ja 0x440aad
mov cl, byte [esi]
cmp cl, byte [edi + 0x2c]
jne 0x440aad
cmp dword [edi + 0x1c], 1
je 0x440dff
mov al, byte [esi + 1]
cmp al, byte [edi + 0x2d]
je 0x440dff
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440a59
jmp 0x440dff
cmp dword [edi + 0x7c], 0
je 0x440dff
cmp esi, dword [edi + 0x78]
jbe 0x440dff
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4419c5
jmp 0x440dff
sub edx, ecx
mov ecx, dword [edi + 0x6c]
sub ecx, esi
cmp edx, ecx
jbe 0x440b1e
mov esi, dword [edi + 0x6c]
cmp dword [edi + 0x7c], 0
je 0x440dff
cmp esi, dword [edi + 0x78]
jbe 0x440dff
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
jmp 0x440dff
add esi, edx
jmp 0x440dff
cmp ecx, edx
jge 0x440dff
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x440b81
movzx eax, byte [esi]
cmp eax, 0xd
jne 0x440b52
inc esi
cmp esi, dword [edi + 0x6c]
jae 0x440dff
cmp byte [esi], 0xa
jne 0x440b77
jmp 0x440b76
cmp eax, 0xa
je 0x440b76
cmp dword [edi + 0x60], 0
jne 0x440dff
cmp eax, 0xb
je 0x440b76
cmp eax, 0xc
je 0x440b76
cmp eax, 0x85
jne 0x440dff
inc esi
inc ecx
cmp ecx, edx
jl 0x440b34
jmp 0x440dff
cmp dword [edi + 0x7c], 0
je 0x440dff
cmp esi, dword [edi + 0x78]
jbe 0x440dff
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4417f1
jmp 0x440dff
cmp ecx, edx
jge 0x440dff
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x440abe
movzx eax, byte [esi]
cmp eax, 9
je 0x440dff
cmp eax, 0x20
je 0x440dff
cmp eax, 0xa0
je 0x440dff
inc ecx
inc esi
cmp ecx, edx
jl 0x440bb4
jmp 0x440dff
cmp ecx, edx
jge 0x440dff
lea esp, [esp]
cmp esi, dword [edi + 0x6c]
jae 0x440af5
movzx eax, byte [esi]
cmp eax, 9
je 0x440c15
cmp eax, 0x20
je 0x440c15
cmp eax, 0xa0
jne 0x440dff
inc ecx
inc esi
cmp ecx, edx
jl 0x440bf4
jmp 0x440dff
cmp ecx, edx
jge 0x440dff
cmp esi, dword [edi + 0x6c]
jae 0x440b81
movzx eax, byte [esi]
cmp eax, 0xa
je 0x440dff
cmp eax, 0xb
je 0x440dff
cmp eax, 0xc
je 0x440dff
cmp eax, 0xd
je 0x440dff
cmp eax, 0x85
je 0x440dff
inc ecx
inc esi
cmp ecx, edx
jl 0x440c28
jmp 0x440dff
cmp ecx, edx
jge 0x440dff
cmp esi, dword [edi + 0x6c]
jae 0x440abe
movzx eax, byte [esi]
cmp eax, 0xa
je 0x440ca1
cmp eax, 0xb
je 0x440ca1
cmp eax, 0xc
je 0x440ca1
cmp eax, 0xd
je 0x440ca1
cmp eax, 0x85
jne 0x440dff
inc ecx
inc esi
cmp ecx, edx
jl 0x440c76
jmp 0x440dff
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x440dff
cmp esi, dword [edi + 0x6c]
jae 0x440af5
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne 0x440dff
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440cb7
jmp 0x440dff
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x440dff
jmp 0x440cf4
cmp esi, dword [edi + 0x6c]
jae 0x440b81
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
je 0x440dff
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440cf4
jmp 0x440dff
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x440dff
cmp esi, dword [edi + 0x6c]
jae 0x440abe
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x440dff
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440d29
jmp 0x440dff
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x440dff
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x440af5
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
je 0x440dff
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440d64
jmp 0x440dff
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x440dff
mov edi, edi
cmp esi, dword [edi + 0x6c]
jae 0x440b81
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne 0x440dff
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440d94
jmp 0x440dff
mov dword [ebp + 0x1c], ecx
cmp ecx, edx
jge 0x440dff
lea ebx, [ebx]
cmp esi, dword [edi + 0x6c]
jae 0x440de3
movzx eax, byte [esi]
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
je 0x440dff
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, edx
jl 0x440dc4
jmp 0x440dff
cmp dword [edi + 0x7c], 0
je 0x440dff
cmp esi, dword [edi + 0x78]
jbe 0x440dff
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4419c5
cmp dword [ebp - 0x18], 0
jne 0x43b664
cmp esi, dword [ebp - 0x14]
jb 0x440e48
mov edx, dword [ebp + 0x2c]
inc edx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
dec esi
test eax, eax
jne 0x442eb8
cmp esi, dword [ebp - 0x14]
jae 0x440e15
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl edx, 8
or edx, eax
cmp byte [ebx + edx + 3], 0x54
lea ebx, [ebx + edx + 3]
jne 0x440e88
mov edi, edi
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x440e74
add ebx, 3
cmp dword [ebp - 4], 0x63
jne 0x4410a3
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp + 0x18]
push 2
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebx + 3]
movzx edx, byte [ebx + 4]
shl eax, 8
or eax, edx
lea edx, [eax + eax]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
cmp edx, dword [edi + 0x14]
jl 0x44140d
xor eax, eax
cmp ecx, 0x61
movzx ecx, byte [ebx + 2]
setl al
dec eax
and eax, 2
mov dword [ebp + 0x28], eax
movzx eax, byte [ebx + 1]
shl eax, 8
or eax, ecx
cmp byte [eax + ebx], 0x54
jne 0x440f73
nop
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x496dc0]
push ecx
add eax, ebx
push eax
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x440f50
cmp eax, 0xfffffc1e
jne 0x442eb8
cmp dword [edi + 0x70], ebx
jne 0x442eb8
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
movzx eax, byte [ebx + ecx + 1]
add ebx, ecx
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
cmp byte [eax + ebx], 0x54
je 0x440f04
cmp dword [ebp + 0x28], 0
jne 0x4414fc
movzx edx, byte [ebx]
movzx eax, byte [edx + 0x496dc0]
add ebx, eax
jmp 0x4410aa
cmp byte [ebx + 3], 0x19
lea eax, [ebx + 3]
mov dword [ebp - 0x24], eax
jne 0x440fa9
mov edx, dword [ebp + 0x20]
movzx ecx, byte [ebx + 4]
and edx, 0xfffffff8
or ecx, edx
mov dword [ebp + 0x20], ecx
cmp byte [ebx], 0x57
jne 0x440fe7
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc eax
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
mov eax, dword [ebp - 0x24]
push ecx
push edx
push eax
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov ebx, dword [ebp + 0x1c]
jmp 0x4410a3
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc ecx
push ecx
mov ecx, dword [ebp + 0x18]
push 2
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov ebx, dword [ebp - 0x24]
jmp 0x4410a3
cmp byte [edx], 0x61
mov edx, dword [ebp + 0x2c]
sbb eax, eax
and eax, 0xfffffffe
add eax, 2
inc edx
cmp byte [ebx], 0x57
mov dword [ebp + 0x28], eax
push edx
jne 0x441072
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
add ebx, 3
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
cmp dword [ebp + 0x28], eax
jne 0x441779
mov ebx, dword [ebp + 0x1c]
jmp 0x4410aa
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp - 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
mov eax, dword [ebp + 0x1c]
push ecx
push edx
push eax
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
add ebx, 3
mov dword [ebp + 0x28], 0
mov eax, dword [edi]
mov ecx, dword [edi + 0x44]
mov dword [ebp - 0x1c], ecx
cmp eax, dword [edi + 4]
jb 0x43b63a
inc dword [edi]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
inc edx
push edx
mov edx, dword [ebp + 0x24]
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push ecx
movzx ecx, byte [ebx]
push edi
push edx
movzx edx, byte [ecx + 0x496dc0]
lea eax, [ebx + 2]
push eax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 0x10]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.0043b614
mov ebx, eax
add esp, 0x28
cmp ebx, 0xfffffc1d
jne 0x44113d
mov ecx, dword [edi + 0x70]
mov edx, dword [ebp + 0x14]
push ecx
push edx
call fcn.004151c0
add esp, 8
test eax, eax
jne 0x44113d
mov dword [edi + 0x70], esi
lea eax, [ebx - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x9c], 0
jne 0x44114f
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
inc edx
push edx
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x496dc0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x4411b0
cmp eax, 0xfffffc1b
je 0x4411b0
cmp eax, 0xfffffc1c
je 0x4411b0
cmp eax, 0xfffffc1d
je 0x4411b0
cmp eax, 0xfffffc1e
jne 0x442eb8
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x496dc0]
push eax
add edx, ebx
push edx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x441208
cmp eax, 0xfffffc1e
jne 0x442eb8
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x496dc0]
push ecx
movzx ecx, byte [ebx + 1]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x441266
cmp eax, 0xfffffc1e
jne 0x442eb8
add ebx, 2
mov dword [edi + 0x9c], ebx
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
inc edx
push edx
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x496dc0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x4412c5
cmp eax, 0xfffffc1b
je 0x4412c5
cmp eax, 0xfffffc1e
jne 0x442eb8
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x70], esi
mov dword [edi + 0x9c], edx
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
movzx ecx, byte [ebx]
push edx
movzx edx, byte [ecx + 0x496dc0]
push eax
movzx eax, byte [ebx + 1]
add edx, ebx
add eax, edx
push eax
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x44132d
cmp eax, 0xfffffc1b
je 0x44132d
cmp eax, 0xfffffc1e
jne 0x442eb8
add ebx, 2
mov dword [edi + 0x70], ebx
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x496dc0]
push ecx
add eax, ebx
push eax
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
mov eax, dword [ebp + 0x14]
shl ecx, 8
or ecx, edx
sub ebx, ecx
mov dword [edi + 0x70], ebx
mov dword [edi + 0x9c], eax
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x496dc0]
push ecx
movzx ecx, byte [ebx + 3]
add eax, ebx
add ecx, eax
push ecx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
movzx edx, byte [ebx + 1]
movzx eax, byte [ebx + 2]
shl edx, 8
or edx, eax
mov ecx, ebx
sub ecx, edx
add ebx, 4
mov dword [edi + 0x70], ecx
mov dword [edi + 0x9c], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xc]
mov edx, dword [eax + edx*4]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0x18]
mov edx, dword [eax + edx*4 + 4]
mov dword [ebp - 0x20], edx
mov edx, dword [edi + 0x10]
sub edx, dword [ebp - 0x14]
lea eax, [eax + edx*4]
mov edx, dword [eax]
mov dword [ebp - 0x18], edx
mov edx, dword [edi + 0x84]
mov dword [ebp + 0x1c], edx
mov edx, esi
sub edx, dword [edi + 0x68]
mov dword [eax], edx
xor eax, eax
cmp ecx, 0x62
mov ecx, dword [ebp + 0x2c]
setne al
dec eax
and eax, 2
inc ecx
mov dword [ebp + 0x28], eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
movzx eax, byte [ebx]
push ecx
movzx ecx, byte [eax + 0x496dc0]
push edx
add ecx, ebx
push ecx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x44149f
cmp eax, 0xfffffc1e
jne 0x442eb8
cmp dword [edi + 0x70], ebx
jne 0x442eb8
mov edx, dword [ebp + 0x1c]
mov dword [edi + 0x84], edx
movzx ecx, byte [ebx + 1]
movzx edx, byte [ebx + 2]
shl ecx, 8
or ecx, edx
add ebx, ecx
cmp byte [ebx], 0x54
je 0x441454
mov edx, dword [ebp - 0x14]
mov esi, dword [edi + 0xc]
mov ebx, dword [ebp - 0x24]
lea ecx, [edx + edx]
mov dword [esi + ecx*4], ebx
mov esi, dword [edi + 0xc]
mov ebx, dword [ebp - 0x20]
mov dword [esi + ecx*4 + 4], ebx
mov ecx, dword [edi + 0x10]
mov esi, dword [ebp - 0x18]
sub ecx, edx
mov edx, dword [edi + 0xc]
mov dword [edx + ecx*4], esi
cmp eax, 0xfffffc1e
je 0x4414f3
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x24]
inc ecx
push ecx
mov ecx, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
movzx edx, byte [ebx]
push eax
movzx eax, byte [edx + 0x496dc0]
push ecx
add eax, ebx
push eax
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
cmp esi, eax
jne 0x441568
cmp dword [edi + 0x54], 0
jne 0x4414ea
cmp dword [edi + 0x58], 0
je 0x441568
mov edx, dword [edi + 0x88]
add edx, dword [edi + 0x68]
cmp eax, edx
je 0x4414ea
mov edx, dword [ebp + 0x18]
neg ecx
mov dword [edi + 0x74], esi
sbb ecx, ecx
mov dword [edi + 0x80], edx
and ecx, 0xfffffc18
mov dword [edi + 0x70], eax
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebx + 1]
movzx ecx, byte [ebx + 2]
shl eax, 8
or eax, ecx
add eax, dword [edi + 0x64]
mov dword [ebp + 0x1c], eax
cmp eax, dword [edi + 0x64]
jne 0x4415b5
mov dword [ebp - 0x38], 0
jmp 0x4415c5
movzx edx, byte [eax + 3]
movzx eax, byte [eax + 4]
shl edx, 8
or edx, eax
mov dword [ebp - 0x38], edx
mov ecx, dword [edi + 0x94]
mov dword [ebp - 0x3c], ecx
lea edx, [ebp - 0x3c]
mov dword [edi + 0x94], edx
add ebx, 3
mov dword [ebp - 0x34], ebx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x1e
jg 0x4415f3
lea eax, [ebp - 0x120]
mov dword [ebp - 0x30], eax
jmp 0x44161a
lea eax, [ecx*4]
push eax
call dword [0x4a2540]
add esp, 4
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x441617
mov eax, 0xfffffffa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x2c]
mov edx, dword [edi + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.004124f0
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 0x28], eax
mov al, byte [ecx]
add esp, 0xc
cmp al, 0x61
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, 2
inc edx
mov dword [ebp + 0x28], ecx
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x28]
push ecx
mov ecx, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edi
push ecx
mov ecx, dword [ebp + 0x10]
push edx
movzx edx, al
movzx eax, byte [edx + 0x496dc0]
add eax, dword [ebp + 0x1c]
push ecx
push eax
push esi
call fcn.0043b614
add esp, 0x28
mov dword [ebp - 0x24], eax
cmp eax, 1
je 0x441744
cmp eax, 0xfffffc19
je 0x441744
test eax, eax
je 0x4416aa
cmp eax, 0xfffffc1e
jne 0x44171f
cmp dword [edi + 0x70], ebx
jne 0x44171f
lea ecx, [ebp - 0x3c]
mov dword [edi + 0x94], ecx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
lea eax, [edx*4]
mov edx, dword [edi + 0xc]
push eax
push ecx
push edx
call fcn.004124f0
mov eax, dword [ebp + 0x1c]
movzx ecx, byte [eax + 1]
movzx edx, byte [eax + 2]
shl ecx, 8
or ecx, edx
add eax, ecx
mov dword [ebp + 0x1c], eax
mov al, byte [eax]
add esp, 0xc
cmp al, 0x54
je 0x44164b
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x120]
cmp eax, ecx
je case.0x442d78.14
push eax
call dword [0x4a2544]
add esp, 4
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x120]
cmp ecx, edx
je 0x442eb8
push ecx
call dword [0x4a2544]
mov eax, dword [ebp - 0x24]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x94], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x120]
cmp eax, ecx
je 0x441764
push eax
call dword [0x4a2544]
add esp, 4
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp + 0x24]
inc eax
push eax
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
mov ecx, dword [ebp + 0x1c]
push edx
push eax
push ecx
push esi
call fcn.0043b614
add esp, 0x28
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x74], esi
mov dword [edi + 0x80], edx
mov dword [edi + 0x70], eax
mov dword [edi + 0x9c], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x43b682.115
cmp esi, dword [edi + 0x78]
jbe case.0x43b682.115
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jle case.0x43b682.115
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x4414ea
cmp esi, dword [edi + 0x78]
jbe 0x4414ea
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x4414ea
mov edx, dword [ebp + 0x14]
mov dword [edi + 0x9c], edx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], eax
je case.0x442d78.14
cmp esi, dword [edi + 0x78]
jbe case.0x442d78.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x442d78.14
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], eax
je 0x4414ea
cmp esi, dword [edi + 0x78]
jbe 0x4414ea
mov eax, 1
jmp 0x441819
cmp dword [edi + 0x7c], 0
je case.0x43b682.115
cmp esi, dword [edi + 0x6c]
jb case.0x43b682.115
cmp esi, dword [edi + 0x78]
jbe case.0x43b682.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43b682.115
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x441928
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
push edx
push edi
push eax
push esi
push ecx
call fcn.00432e02
add esp, 0x14
test eax, eax
je 0x441902
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x10]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x4418d7
jmp 0x441923
cmp dword [edi + 0x7c], 0
je 0x441923
cmp esi, dword [edi + 0x6c]
jb 0x441923
cmp esi, dword [edi + 0x78]
jbe 0x441923
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x441825
cmp esi, dword [ebp - 0x14]
jb case.0x43b682.115
mov eax, dword [ebp + 0x2c]
inc eax
mov dword [ebp - 8], eax
jmp 0x441934
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
sub esi, dword [ebp - 0x10]
cmp esi, dword [ebp - 0x14]
jae 0x441934
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x4414ea
cmp esi, dword [edi + 0x6c]
jb 0x4414ea
cmp esi, dword [edi + 0x78]
jbe 0x4414ea
mov eax, 1
jmp 0x441819
cmp dword [edi + 0x7c], 0
je case.0x442d78.14
cmp esi, dword [edi + 0x78]
jbe case.0x442d78.14
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x442d78.14
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x4414ea
cmp esi, dword [edi + 0x78]
jbe 0x4414ea
mov eax, 1
jmp 0x441819
test al, 0x10
jne 0x441a1d
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x441abb
test al, 8
jne 0x441a4c
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x441abb
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x441a87
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x441abb
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp eax, 0xff
jbe 0x441ace
cmp dword [ebp - 4], 0x4e
je case.0x43b682.115
jmp 0x441aeb
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x442d78.14
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x43d784
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
jmp 0x441b54
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x43b682.115
cmp esi, dword [edi + 0x6c]
jae 0x4419da
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
inc esi
test al, dl
je case.0x43b682.115
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x441b54
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], esi
je 0x441d9e
cmp edx, dword [ebp - 0xc]
jge 0x441d16
mov eax, 1
mov dword [ebp - 0x20], eax
cmp esi, dword [edi + 0x6c]
jae 0x441cff
movzx eax, byte [esi]
cmp eax, 0xc0
jb 0x441cc0
movzx edx, byte [esi + 1]
and edx, 0x3f
test al, 0x20
jne 0x441c0f
and eax, 0x1f
shl eax, 6
mov dword [ebp - 0x20], 2
jmp 0x441cbe
test al, 0x10
jne 0x441c2b
and eax, 0xf
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
mov dword [ebp - 0x20], 3
jmp 0x441cb8
test al, 8
jne 0x441c50
and eax, 7
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
mov dword [ebp - 0x20], 4
jmp 0x441cb8
test al, 4
jne 0x441c81
and eax, 3
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
mov dword [ebp - 0x20], 5
jmp 0x441cb8
and eax, 1
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 3]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 4]
and eax, 0x3f
shl edx, 6
or edx, eax
movzx eax, byte [esi + 5]
mov dword [ebp - 0x20], 6
shl edx, 6
and eax, 0x3f
or eax, edx
cmp eax, 0xff
jbe 0x441cce
cmp ecx, 0x4e
je 0x441d16
jmp 0x441cea
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x441d16
mov ecx, dword [ebp - 4]
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x20]
inc eax
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x441bd3
jmp 0x441d16
cmp dword [edi + 0x7c], 0
je 0x441d16
cmp esi, dword [edi + 0x78]
jbe 0x441d16
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4419c5
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x18]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov ecx, esi
dec esi
cmp ecx, dword [ebp - 0x14]
je 0x441e2e
mov dl, byte [esi]
and dl, 0xc0
cmp dl, 0x80
jne 0x441d6e
lea esp, [esp]
mov al, byte [esi - 1]
dec esi
and al, 0xc0
cmp al, 0x80
je 0x441d64
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x441d47
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, dword [ebp - 0xc]
jge 0x441df4
cmp esi, dword [edi + 0x6c]
jae 0x441dd3
movzx eax, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [ebp - 0x18]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je 0x441def
mov eax, dword [ebp + 0x1c]
inc eax
inc esi
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x441da3
jmp 0x441def
cmp dword [edi + 0x7c], 0
je 0x441def
cmp esi, dword [edi + 0x78]
jbe 0x441def
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x4419c5
cmp esi, dword [ebp - 0x14]
jb 0x441e2e
mov edx, dword [ebp + 0x2c]
inc edx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
dec esi
cmp esi, dword [ebp - 0x14]
jae 0x441dfb
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x9c], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, 0x10
jne 0x441e66
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x441f04
test al, 8
jne 0x441e95
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x441f04
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x441ed0
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x441f04
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov ecx, dword [ebp - 0x18]
push ecx
push eax
call fcn.00432531
add esp, 8
test eax, eax
je case.0x442d78.14
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x43d9e8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x43b682.115
cmp esi, dword [edi + 0x78]
jbe case.0x43b682.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43b682.115
jmp 0x4417f1
mov dword [ebp - 0x14], esi
mov dword [ebp + 0x1c], ecx
cmp ecx, eax
jge 0x4420ef
mov ecx, 1
mov dword [ebp - 0x20], ecx
cmp esi, dword [edi + 0x6c]
jae 0x4420d8
cmp dword [ebp - 0x1c], 0
movzx eax, byte [esi]
je 0x4420ac
cmp eax, 0xc0
jb 0x4420ac
test al, 0x20
jne 0x441fc7
movzx ecx, byte [esi + 1]
and eax, 0x1f
mov dword [ebp - 0x20], 2
jmp 0x4420a4
test al, 0x10
jne 0x441ff2
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or eax, edx
mov dword [ebp - 0x20], 3
jmp 0x4420ac
test al, 8
jne 0x442027
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
mov dword [ebp - 0x20], 4
jmp 0x4420aa
test al, 4
jne 0x442067
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and eax, 3
shl eax, 6
and ecx, 0x3f
or ecx, eax
movzx eax, byte [esi + 3]
and edx, 0x3f
shl ecx, 6
or ecx, edx
movzx edx, byte [esi + 4]
and eax, 0x3f
shl ecx, 6
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
mov dword [ebp - 0x20], 5
jmp 0x4420ac
movzx edx, byte [esi + 1]
and eax, ecx
movzx ecx, byte [esi + 3]
and edx, 0x3f
shl eax, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and ecx, 0x3f
or edx, ecx
movzx ecx, byte [esi + 5]
shl edx, 6
and eax, 0x3f
or eax, edx
mov dword [ebp - 0x20], 6
and ecx, 0x3f
shl eax, 6
or eax, ecx
mov edx, dword [ebp - 0x18]
push edx
push eax
call fcn.00432531
add esp, 8
test eax, eax
je 0x4420ef
mov eax, dword [ebp + 0x1c]
add esi, dword [ebp - 0x20]
mov ecx, 1
add eax, ecx
mov dword [ebp + 0x1c], eax
cmp eax, dword [ebp - 0xc]
jl 0x441f8c
jmp 0x4420ef
cmp dword [edi + 0x7c], 0
je 0x4420ef
cmp esi, dword [edi + 0x78]
jbe 0x4420ef
mov dword [edi + 0x5c], ecx
cmp dword [edi + 0x7c], ecx
jg 0x4417f1
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc eax
push eax
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
lea esp, [esp]
mov eax, esi
dec esi
cmp eax, dword [ebp - 0x14]
je 0x4414ea
cmp dword [ebp - 0x1c], 0
je 0x442150
mov cl, byte [esi]
and cl, 0xc0
cmp cl, 0x80
jne 0x442150
lea esp, [esp]
mov dl, byte [esi - 1]
dec esi
and dl, 0xc0
cmp dl, 0x80
je 0x442144
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x442124
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x442d78.14
cmp esi, dword [edi + 0x6c]
jb case.0x442d78.14
cmp esi, dword [edi + 0x78]
jbe case.0x442d78.14
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x442d78.14
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0x9c], ecx
mov eax, 0xfffffff4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x442d78.14
cmp esi, dword [edi + 0x78]
jbe case.0x442d78.14
jmp 0x4419b9
cmp dword [edi + 0x7c], 0
je case.0x442d78.14
cmp esi, dword [edi + 0x6c]
jb case.0x442d78.14
jmp 0x4419ab
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x18]
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge case.0x442d78.14
mov edx, dword [edi + 0x6c]
sub edx, dword [ebp - 0x10]
cmp esi, edx
ja 0x442284
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x24]
push eax
push ecx
push esi
call fcn.00410f91
add esp, 0xc
test eax, eax
jne 0x442284
mov edx, dword [ebp - 8]
mov ecx, dword [ebp + 0x20]
add esi, dword [ebp - 0x10]
inc dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x442224
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je case.0x43b682.115
cmp esi, dword [edi + 0x6c]
jb case.0x43b682.115
cmp esi, dword [edi + 0x78]
jbe case.0x43b682.115
mov eax, 1
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle case.0x43b682.115
jmp 0x4417f1
cmp dword [edi + 0x7c], 0
je case.0x43b682.115
cmp esi, dword [edi + 0x78]
jbe case.0x43b682.115
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jle case.0x43b682.115
jmp 0x4417f1
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
inc eax
push eax
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
lea ecx, [ecx]
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x43b682.115
cmp esi, dword [edi + 0x6c]
jae 0x4419da
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
jne case.0x43b682.115
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x442314
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
inc eax
push eax
push 0
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
lea ecx, [ecx]
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge case.0x43b682.115
cmp esi, dword [edi + 0x6c]
jae 0x4419da
movzx eax, byte [esi]
inc esi
cmp dword [ebp - 4], eax
jne case.0x43b682.115
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x4423a4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x442585
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov edx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], edx
jge 0x4414ea
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x442537
test al, 0x20
jne 0x442473
movzx ecx, byte [esi]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
inc esi
jmp 0x442537
test al, 0x10
jne 0x442499
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 2
jmp 0x442537
test al, 8
jne 0x4424c8
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and eax, 7
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 3
jmp 0x442537
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and ecx, 0x3f
and edx, 0x3f
test al, 4
jne 0x442503
and eax, 3
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 4
jmp 0x442537
and eax, 1
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
or eax, edx
movzx edx, byte [esi + 3]
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 4]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 5
cmp eax, 0x100
jae 0x442545
mov edx, dword [edi + 0x30]
movzx eax, byte [eax + edx]
cmp dword [ebp - 4], eax
je 0x4414ea
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x442437
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
jmp 0x4425b4
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x43b682.115
cmp esi, dword [edi + 0x6c]
jae 0x4419da
movzx ecx, byte [esi]
mov edx, dword [edi + 0x30]
movzx eax, byte [ecx + edx]
inc esi
cmp dword [ebp - 4], eax
je case.0x43b682.115
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x18]
push 0
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x4425b4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x7c], 0
je 0x4414ea
cmp esi, dword [edi + 0x78]
jbe 0x4414ea
mov dword [edi + 0x5c], edx
cmp dword [edi + 0x7c], edx
jmp 0x44181f
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
inc eax
cmp dword [ebp - 0x1c], 0
push eax
mov dword [ebp - 8], eax
push 0
je 0x4427b4
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x10]
push edi
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
jmp 0x442674
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x4414ea
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x442774
test al, 0x20
jne 0x4426b0
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x442774
test al, 0x10
jne 0x4426d6
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x442774
test al, 8
jne 0x442705
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x442774
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x442740
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x442774
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
cmp dword [ebp - 4], eax
je 0x4414ea
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x442674
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
jmp 0x4427e4
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge case.0x442d78.14
cmp esi, dword [edi + 0x6c]
jae 0x441f50
movzx ecx, byte [esi]
inc esi
cmp dword [ebp - 4], ecx
je case.0x442d78.14
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x18]
push 0
push eax
mov eax, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push edi
push edx
push eax
push ecx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x4427e4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x1c], 0
je 0x442ca7
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x2c]
inc eax
push eax
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x18]
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
mov eax, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], eax
jge 0x4414ea
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
cmp dword [ebp - 0x10], 0xc
jne 0x4428ef
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4428c8
mov ecx, dword [ebp - 0x1c]
push ecx
mov ecx, dword [edi + 0x6c]
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
jne 0x4414ea
jmp 0x4428ef
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x4428ef
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x4428ef
cmp dword [edi + 0x1c], 1
je 0x4414ea
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x4414ea
movzx eax, byte [esi]
inc esi
cmp eax, 0xc0
jb 0x4429da
test al, 0x20
jne 0x442916
movzx edx, byte [esi]
and eax, 0x1f
shl eax, 6
and edx, 0x3f
or eax, edx
inc esi
jmp 0x4429da
test al, 0x10
jne 0x44293c
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 2
jmp 0x4429da
test al, 8
jne 0x44296b
movzx ecx, byte [esi]
movzx edx, byte [esi + 1]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + 2]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 3
jmp 0x4429da
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
and edx, 0x3f
and ecx, 0x3f
test al, 4
jne 0x4429a6
and eax, 3
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
add esi, 4
jmp 0x4429da
and eax, 1
shl eax, 6
or eax, edx
movzx edx, byte [esi + 2]
shl eax, 6
or eax, ecx
movzx ecx, byte [esi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
movzx edx, byte [esi + 4]
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
add esi, 5
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.0x442d5e.15
jmp dword [ecx*4 + 0x443224]
cmp eax, 0xd
ja 0x442a29
je 0x442a11
cmp eax, 0xa
je case.0x4429e9.12
jbe case.0x43b682.115
cmp eax, 0xc
ja case.0x43b682.115
jmp 0x442a46
cmp esi, dword [edi + 0x6c]
jae case.0x4429e9.12
cmp byte [esi], 0xa
jne case.0x4429e9.12
inc esi
jmp case.0x4429e9.12
cmp eax, 0x85
je 0x442a46
cmp eax, 0x2027
jbe case.0x43b682.115
cmp eax, 0x2029
ja case.0x43b682.115
cmp dword [edi + 0x60], 0
jne case.0x442d78.14
jmp case.0x4429e9.12
cmp eax, 0x180e
ja 0x442a96
je 0x4414ea
cmp eax, 0xa0
ja 0x442a86
je 0x4414ea
cmp eax, 9
je 0x4414ea
cmp eax, 0x20
je 0x4414ea
jmp case.0x4429e9.12
cmp eax, 0x1680
je 0x4414ea
jmp case.0x4429e9.12
cmp eax, 0x205f
ja 0x442ac9
je 0x4414ea
cmp eax, 0x2000
jb case.0x4429e9.12
cmp eax, 0x200a
jbe 0x4414ea
cmp eax, 0x202f
je 0x4414ea
jmp case.0x4429e9.12
cmp eax, 0x3000
je 0x4414ea
jmp case.0x4429e9.12
cmp eax, 0x180e
ja 0x442b1a
je case.0x4429e9.12
cmp eax, 0xa0
ja 0x442b0a
je case.0x4429e9.12
cmp eax, 9
je case.0x4429e9.12
cmp eax, 0x20
jne case.0x43b682.115
jmp case.0x4429e9.12
cmp eax, 0x1680
jne case.0x43b682.115
jmp case.0x4429e9.12
cmp eax, 0x205f
ja 0x442b4d
je case.0x4429e9.12
cmp eax, 0x2000
jb case.0x43b682.115
cmp eax, 0x200a
jbe case.0x4429e9.12
cmp eax, 0x202f
jne case.0x43b682.115
jmp case.0x4429e9.12
cmp eax, 0x3000
jne case.0x43b682.115
jmp case.0x4429e9.12
cmp eax, 0x85
ja 0x442b81
je case.0x442d78.14
cmp eax, 0xa
jb case.0x4429e9.12
cmp eax, 0xd
jbe case.0x442d78.14
jmp case.0x4429e9.12
cmp eax, 0x2028
jb case.0x4429e9.12
cmp eax, 0x2029
jbe case.0x442d78.14
jmp case.0x4429e9.12
cmp eax, 0x85
ja 0x442bc0
je case.0x4429e9.12
cmp eax, 0xa
jb 0x4414ea
cmp eax, 0xd
ja 0x4414ea
jmp case.0x4429e9.12
cmp eax, 0x2028
jb 0x4414ea
cmp eax, 0x2029
ja 0x4414ea
jmp case.0x4429e9.12
cmp eax, 0x100
jae case.0x4429e9.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x43b682.115
jmp case.0x4429e9.12
cmp eax, 0x100
jae case.0x442d78.14
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x442d78.14
jmp case.0x4429e9.12
cmp eax, 0x100
jae case.0x4429e9.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x4414ea
jmp case.0x4429e9.12
cmp eax, 0x100
jae case.0x43b682.115
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x43b682.115
jmp case.0x4429e9.12
cmp eax, 0x100
jae case.0x4429e9.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x442d78.14
jmp case.0x4429e9.12
cmp eax, 0x100
jae 0x4414ea
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x4414ea
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x442886
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x24]
inc eax
push eax
push 0
push edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x10]
push edi
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x18]
push ecx
push edx
push eax
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
jne 0x442eb8
lea ebx, [ebx]
mov ecx, dword [ebp - 0xc]
cmp dword [ebp + 0x1c], ecx
jge 0x4414ea
cmp esi, dword [edi + 0x6c]
jae 0x4419a1
cmp dword [ebp - 0x10], 0xc
jne 0x442d4b
mov eax, dword [edi + 0x18]
test eax, eax
je 0x442d24
mov ecx, dword [edi + 0x6c]
push 0
lea edx, [edi + 0x1c]
push edx
push ecx
push eax
push esi
call fcn.00432be9
add esp, 0x14
test eax, eax
jne 0x4414ea
jmp 0x442d4b
mov edx, dword [edi + 0x6c]
sub edx, dword [edi + 0x1c]
cmp esi, edx
ja 0x442d4b
mov al, byte [esi]
cmp al, byte [edi + 0x2c]
jne 0x442d4b
cmp dword [edi + 0x1c], 1
je 0x4414ea
mov cl, byte [esi + 1]
cmp cl, byte [edi + 0x2d]
je 0x4414ea
mov ecx, dword [ebp - 0x10]
movzx eax, byte [esi]
add ecx, 0xfffffffa
inc esi
cmp ecx, 0xf
ja case.0x442d5e.15
jmp dword [ecx*4 + 0x443264]
add eax, 0xfffffff6
cmp eax, 0x7b
ja case.0x442d78.14
movzx edx, byte [eax + 0x4432b4]
jmp dword [edx*4 + 0x4432a4]
cmp esi, dword [edi + 0x6c]
jae case.0x442d5e.12
cmp byte [esi], 0xa
jne case.0x442d5e.12
inc esi
jmp case.0x442d5e.12
cmp dword [edi + 0x60], 0
jne case.0x43b682.115
jmp case.0x442d5e.12
cmp eax, 9
je 0x4414ea
cmp eax, 0x20
je 0x4414ea
cmp eax, 0xa0
je 0x4414ea
jmp case.0x442d5e.12
cmp eax, 9
je case.0x442d5e.12
cmp eax, 0x20
je case.0x442d5e.12
cmp eax, 0xa0
jne case.0x43b682.115
jmp case.0x442d5e.12
cmp eax, 0xa
jb case.0x442d5e.12
cmp eax, 0xd
jbe case.0x442d78.14
cmp eax, 0x85
je case.0x442d78.14
jmp case.0x442d5e.12
cmp eax, 0xa
jb 0x4414ea
cmp eax, 0xd
jbe case.0x442d5e.12
cmp eax, 0x85
jne 0x4414ea
jmp case.0x442d5e.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 4
jne case.0x43b682.115
jmp case.0x442d5e.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 4
je case.0x442d78.14
jmp case.0x442d5e.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 1
jne 0x4414ea
jmp case.0x442d5e.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 1
je case.0x43b682.115
jmp case.0x442d5e.12
mov ecx, dword [edi + 0x34]
test byte [eax + ecx], 0x10
jne case.0x442d78.14
jmp case.0x442d5e.12
mov edx, dword [edi + 0x34]
test byte [eax + edx], 0x10
je 0x4414ea
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
inc dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x18]
push 0
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
push ecx
push edx
push ebx
push esi
call fcn.0043b614
add esp, 0x28
test eax, eax
je 0x442ce4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret