Function at 0x466440
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x8e
push 0
push 0
dec ecx
jne 0x466449
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, eax
lea edi, [ebp - 0x100]
push ecx
xor ecx, ecx
mov cl, byte [esi]
inc ecx
rep movsb byte es:[edi], byte [esi]
pop ecx
mov dword [ebp - 0x208], ecx
mov byte [ebp - 0x201], dl
xor eax, eax
push ebp
push 0x467df3
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x229], 0
mov byte [ebp - 0x22a], 0
xor eax, eax
mov al, byte [ebp - 0x201]
cmp eax, 0x20
ja case.0x4664a0.8
jmp dword [eax*4 + 0x4664a7]
cmp byte [ebp - 0x201], 0xa
je 0x4665c7
lea edx, [ebp - 0x1ff]
mov eax, dword [ebp - 0x208]
mov ecx, 0xff
call fcn.00402ae8
cmp byte [ebp - 0x201], 0
jne 0x46659d
mov byte [ebp - 0x200], 0
jmp 0x466566
inc byte [ebp - 0x200]
cmp byte [ebp - 0x200], 0xff
jae 0x466589
xor eax, eax
mov al, byte [ebp - 0x200]
cmp byte [ebp + eax - 0x1ff], 0x20
jae 0x466560
jmp 0x466589
dec byte [ebp - 0x200]
xor eax, eax
mov al, byte [ebp - 0x200]
cmp byte [ebp + eax - 0x200], 0x20
je 0x466583
jmp 0x4665d8
mov byte [ebp - 0x101], 0
mov byte [ebp - 0x200], 0
jmp 0x4665b3
inc byte [ebp - 0x200]
xor eax, eax
mov al, byte [ebp - 0x200]
cmp byte [ebp + eax - 0x1ff], 0
ja 0x4665ad
jmp 0x4665d8
lea eax, [ebp - 0x200]
mov edx, dword [ebp - 0x208]
call fcn.0040331c
cmp byte [ebp - 0x100], 0
jbe 0x4669b0
cmp byte [ebp - 0xff], 0x3d
jne 0x4665f5
mov byte [ebp - 0x100], 0
mov al, byte [ebp - 0xff]
add al, 0xa0
cmp al, 0x1f
ja 0x46660b
and eax, 0x7f
bt dword [0x467e04], eax
jae 0x4668b4
mov byte [ebp - 0x212], 2
lea edx, [ebp - 0x212]
lea eax, [ebp - 0x100]
call fcn.004a0580
mov byte [ebp - 0x211], al
cmp byte [ebp - 0x212], 2
jbe 0x4668b4
xor eax, eax
mov al, byte [ebp - 0xff]
add eax, 0xffffff9d
cmp eax, 0x15
ja case.0x466656.99
mov al, byte [eax + 0x46665d]
jmp dword [eax*4 + 0x466673]
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x200]
call fcn.00407940
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x200]
call fcn.0040331c
jmp case.0x466656.99
lea ecx, [ebp - 0x434]
lea eax, [ebp - 0x200]
mov dl, byte [ebp - 0x211]
call fcn.00407a80
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x200]
call fcn.0040331c
jmp case.0x466656.99
mov al, byte [ebp - 0x211]
cmp al, byte [ebp - 0x200]
jb 0x46675a
mov dl, byte [ebp - 0x211]
sub dl, byte [ebp - 0x200]
lea ecx, [ebp - 0x434]
mov al, 0x20
call fcn.00407720
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x438]
call fcn.0040569c
lea eax, [ebp - 0x438]
push eax
lea eax, [ebp - 0x43c]
lea edx, [ebp - 0x200]
call fcn.0040569c
mov edx, dword [ebp - 0x43c]
pop eax
call fcn.00405700
mov edx, dword [ebp - 0x438]
lea eax, [ebp - 0x200]
mov ecx, 0xff
call fcn.004056d4
jmp case.0x466656.99
lea eax, [ebp - 0x200]
push eax
xor edx, edx
mov dl, byte [ebp - 0x200]
xor eax, eax
mov al, byte [ebp - 0x211]
dec eax
sub edx, eax
xor ecx, ecx
mov cl, byte [ebp - 0x211]
lea eax, [ebp - 0x200]
call fcn.004028d8
jmp case.0x466656.99
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x200]
call fcn.004078e4
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x200]
call fcn.0040331c
jmp case.0x466656.99
inc byte [ebp - 0x212]
lea eax, [ebp - 0x200]
push eax
lea edx, [ebp - 0x212]
lea eax, [ebp - 0x100]
call fcn.004a0580
mov edx, eax
mov ecx, 0xff
lea eax, [ebp - 0x200]
call fcn.004028d8
jmp case.0x466656.99
mov byte [ebp - 0x334], 0
inc byte [ebp - 0x212]
lea edx, [ebp - 0x212]
lea eax, [ebp - 0x100]
call fcn.004a0580
mov word [ebp - 0x232], ax
cmp word [ebp - 0x232], 0
je 0x466850
lea eax, [ebp - 0x200]
push eax
push 0xff
mov al, byte [ebp - 0x232]
push eax
push 1
lea edx, [ebp - 0x334]
lea eax, [ebp - 0x200]
mov ecx, 0xff
call fcn.00407c28
mov al, byte [ebp - 0x212]
cmp al, byte [ebp - 0x100]
jbe 0x4667ef
lea eax, [ebp - 0x334]
push eax
push 0xff
mov al, byte [ebp - 0x211]
push eax
push 1
lea edx, [ebp - 0x200]
lea eax, [ebp - 0x200]
mov ecx, 0xff
call fcn.00407c28
lea eax, [ebp - 0x100]
push eax
xor edx, edx
mov dl, byte [ebp - 0x212]
mov ecx, 0xff
lea eax, [ebp - 0x100]
call fcn.004028d8
mov al, byte [ebp - 0x200]
cmp al, byte [ebp - 0x211]
jbe 0x4668b4
mov al, byte [ebp - 0x211]
mov byte [ebp - 0x200], al
lea edx, [ebp - 0x100]
mov eax, 0x467e08
call fcn.00402cd4
test eax, eax
jne 0x466918
lea eax, [ebp - 0x440]
lea edx, [ebp - 0x100]
call fcn.0040569c
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x444]
lea edx, [ebp - 0x200]
call fcn.0040569c
mov edx, dword [ebp - 0x444]
pop eax
call fcn.00405700
mov edx, dword [ebp - 0x440]
lea eax, [ebp - 0x200]
mov ecx, 0xff
call fcn.004056d4
jmp 0x467da3
mov byte [ebp - 0x216], 1
mov al, byte [ebp - 0x100]
test al, al
jbe 0x46699a
mov byte [ebp - 0x234], al
mov byte [ebp - 0x215], 1
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x100], 0x3f
jne 0x46698c
mov al, byte [ebp - 0x216]
cmp al, byte [ebp - 0x200]
ja 0x46697c
xor eax, eax
mov al, byte [ebp - 0x216]
mov al, byte [ebp + eax - 0x200]
xor edx, edx
mov dl, byte [ebp - 0x215]
mov byte [ebp + edx - 0x100], al
inc byte [ebp - 0x216]
jmp 0x46698c
xor eax, eax
mov al, byte [ebp - 0x215]
mov byte [ebp + eax - 0x100], 0x20
inc byte [ebp - 0x215]
dec byte [ebp - 0x234]
jne 0x466936
lea eax, [ebp - 0x200]
lea edx, [ebp - 0x100]
call fcn.0040331c
jmp 0x467da3
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x200]
call fcn.00407940
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x200]
call fcn.0040331c
jmp 0x467da3
mov eax, dword [ebp - 0x208]
cmp byte [eax], 0
jne 0x466a07
mov eax, dword [ebp - 0x208]
cmp byte [eax + 1], 0
jne 0x466a07
mov eax, dword [ebp - 0x208]
cmp word [eax + 2], 0
jne 0x466a07
mov byte [ebp - 0x200], 0
jmp 0x467da3
mov eax, dword [ebp - 0x208]
mov ax, word [eax + 2]
push eax
lea eax, [ebp - 0x200]
push eax
mov ecx, dword [ebp - 0x208]
movzx ecx, byte [ecx + 1]
mov edx, dword [ebp - 0x208]
movzx edx, byte [edx]
lea eax, [ebp - 0x100]
call fcn.00412a30
jmp 0x467da3
lea eax, [ebp - 0x200]
push eax
mov ecx, 2
mov edx, 1
lea eax, [ebp - 0x100]
call fcn.004028d8
mov byte [ebp - 0x212], 1
lea eax, [ebp - 0x200]
mov edx, 0x467e0c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004033c8
jne 0x466a8d
mov eax, dword [ebp - 0x208]
cmp dword [eax], 0
jne 0x466a8d
mov byte [ebp - 0x200], 0
jmp 0x466b46
lea eax, [ebp - 0x200]
mov edx, 0x467e0c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004033c8
je 0x466ad1
lea eax, [ebp - 0x200]
mov edx, 0x467e10
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004033c8
jne 0x466aca
call fcn.00412c3c
mov edx, dword [ebp - 0x208]
mov dword [edx], eax
jmp 0x466ad1
mov byte [ebp - 0x212], 0
cmp byte [ebp - 0x212], 0
jbe 0x466b19
cmp byte [ebp - 0x201], 0x15
je 0x466b19
lea eax, [ebp - 0x100]
push eax
mov ecx, 0xff
mov edx, 3
lea eax, [ebp - 0x100]
call fcn.004028d8
jmp 0x466b19
lea edx, [ebp - 0x100]
mov eax, 0x467e14
call fcn.00402cd4
mov byte [ebp + eax - 0x100], 0x20
lea edx, [ebp - 0x100]
mov eax, 0x467e14
call fcn.00402cd4
test eax, eax
jg 0x466b01
lea ecx, [ebp - 0x200]
mov edx, dword [ebp - 0x208]
mov edx, dword [edx]
lea eax, [ebp - 0x100]
call fcn.00412b54
cmp byte [ebp - 0x201], 0x15
jne 0x467da3
lea eax, [ebp - 0x100]
lea edx, [ebp - 0x200]
call fcn.0040331c
mov eax, dword [ebp - 0x208]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x208]
mov dword [edx], eax
jmp case.0x4664a0.17
mov ecx, dword [ebp - 0x208]
mov cl, byte [ecx + 1]
mov edx, dword [ebp - 0x208]
mov dl, byte [edx + 2]
mov eax, dword [ebp - 0x208]
mov al, byte [eax + 3]
call fcn.00412ce4
mov edx, dword [ebp - 0x208]
mov dword [edx], eax
lea eax, [ebp - 0x200]
push eax
mov ecx, 2
mov edx, 1
lea eax, [ebp - 0x100]
call fcn.004028d8
mov byte [ebp - 0x212], 1
lea eax, [ebp - 0x200]
mov edx, 0x467e0c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004033c8
jne 0x466bf0
mov eax, dword [ebp - 0x208]
cmp dword [eax], 0
jne 0x466bf0
mov byte [ebp - 0x200], 0
jmp 0x467da3
lea eax, [ebp - 0x200]
mov edx, 0x467e0c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004033c8
je 0x466c34
lea eax, [ebp - 0x200]
mov edx, 0x467e10
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004033c8
jne 0x466c2d
call fcn.00413040
mov edx, dword [ebp - 0x208]
mov dword [edx], eax
jmp 0x466c34
mov byte [ebp - 0x212], 0
cmp byte [ebp - 0x212], 0
jbe 0x466c73
lea eax, [ebp - 0x100]
push eax
mov ecx, 0xff
mov edx, 3
lea eax, [ebp - 0x100]
call fcn.004028d8
jmp 0x466c73
lea edx, [ebp - 0x100]
mov eax, 0x467e14
call fcn.00402cd4
mov byte [ebp + eax - 0x100], 0x20
lea edx, [ebp - 0x100]
mov eax, 0x467e14
call fcn.00402cd4
test eax, eax
jg 0x466c5b
lea edx, [ebp - 0x100]
mov eax, 0x467e18
call fcn.00402cd4
mov byte [ebp - 0x212], al
cmp byte [ebp - 0x212], 0
jbe 0x466cc6
xor eax, eax
mov al, byte [ebp - 0x212]
mov byte [ebp + eax - 0x100], 0x74
xor eax, eax
mov al, byte [ebp - 0x212]
mov byte [ebp + eax - 0xff], 0x65
lea ecx, [ebp - 0x200]
mov edx, dword [ebp - 0x208]
mov edx, dword [edx]
lea eax, [ebp - 0x100]
call fcn.00412ff4
jmp 0x467da3
mov dword [ebp - 0x20c], 1
lea edx, [ebp - 0x100]
mov eax, 0x467e1c
call fcn.00402cd4
mov byte [ebp - 0x213], al
cmp byte [ebp - 0x213], 0
jne 0x466d16
mov byte [ebp - 0x213], 0xff
jmp 0x466d3d
mov al, byte [ebp - 0x213]
inc eax
mov byte [ebp - 0x212], al
lea edx, [ebp - 0x212]
lea eax, [ebp - 0x100]
call fcn.004a0580
mov ecx, eax
dec ecx
shl dword [ebp - 0x20c], cl
lea edx, [ebp - 0x100]
mov eax, 0x467e20
call fcn.00402cd4
mov byte [ebp - 0x212], al
cmp byte [ebp - 0x212], 0
jne 0x466d63
mov byte [ebp - 0x212], 1
mov eax, dword [ebp - 0x208]
mov eax, dword [eax]
and eax, dword [ebp - 0x20c]
je 0x466d98
lea eax, [ebp - 0x200]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x212]
dec ecx
mov edx, 1
lea eax, [ebp - 0x100]
call fcn.004028d8
jmp 0x467da3
lea eax, [ebp - 0x200]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x213]
xor eax, eax
mov al, byte [ebp - 0x212]
sub ecx, eax
dec ecx
xor edx, edx
mov dl, byte [ebp - 0x212]
inc edx
lea eax, [ebp - 0x100]
call fcn.004028d8
jmp 0x467da3
lea edx, [ebp - 0x100]
mov eax, 0x467e20
call fcn.00402cd4
mov byte [ebp - 0x212], al
cmp byte [ebp - 0x212], 0
jne 0x466df1
mov byte [ebp - 0x212], 1
mov eax, dword [ebp - 0x208]
cmp byte [eax], 0
je 0x466e21
lea eax, [ebp - 0x200]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x212]
dec ecx
mov edx, 1
lea eax, [ebp - 0x100]
call fcn.004028d8
jmp 0x467da3
lea eax, [ebp - 0x200]
push eax
xor edx, edx
mov dl, byte [ebp - 0x212]
inc edx
mov ecx, 0xff
lea eax, [ebp - 0x100]
call fcn.004028d8
jmp 0x467da3
lea eax, [ebp - 0x200]
lea edx, [ebp - 0x100]
call fcn.0040331c
mov al, byte [ebp - 0x100]
mov byte [ebp - 0x213], al
mov al, byte [ebp - 0x100]
dec eax
test al, al
jb 0x467da3
inc eax
mov byte [ebp - 0x234], al
mov byte [ebp - 0x212], 0
mov eax, dword [ebp - 0x208]
mov dl, byte [ebp - 0x212]
cmp dl, 0x7f
ja 0x466e9a
and edx, 0xff
bt dword [eax], edx
jb 0x466eb1
xor eax, eax
mov al, byte [ebp - 0x213]
mov dl, byte [0x4af428]
mov byte [ebp + eax - 0x200], dl
dec byte [ebp - 0x213]
inc byte [ebp - 0x212]
dec byte [ebp - 0x234]
jne 0x466e80
jmp 0x467da3
mov byte [ebp - 0x213], 0x14
lea edx, [ebp - 0x100]
mov eax, 0x467e1c
call fcn.00402cd4
mov byte [ebp - 0x212], al
cmp byte [ebp - 0x212], 0
jbe 0x466f74
lea eax, [ebp - 0x434]
push eax
xor edx, edx
mov dl, byte [ebp - 0x212]
inc edx
mov ecx, 0xff
lea eax, [ebp - 0x100]
call fcn.004028d8
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x448]
call fcn.0040569c
mov eax, dword [ebp - 0x448]
lea edx, [ebp - 0x210]
call fcn.00403b30
mov byte [ebp - 0x213], al
cmp dword [ebp - 0x210], 0
je 0x466f4e
mov byte [ebp - 0x213], 0x14
jmp 0x466f54
dec byte [ebp - 0x213]
lea eax, [ebp - 0x100]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x212]
dec ecx
mov edx, 1
lea eax, [ebp - 0x100]
call fcn.004028d8
mov byte [ebp - 0x200], 0
mov byte [ebp - 0x212], 0
xor eax, eax
mov al, byte [ebp - 0x212]
mov edx, dword [ebp - 0x208]
movzx eax, byte [edx + eax]
shr eax, 4
mov byte [ebp - 0x214], al
cmp byte [ebp - 0x214], 0
jb 0x46704e
cmp byte [ebp - 0x214], 0xa
jae 0x46704e
cmp byte [ebp - 0x200], 0
ja 0x466fc9
cmp byte [ebp - 0x214], 0
je 0x466fe6
inc byte [ebp - 0x200]
mov al, byte [ebp - 0x214]
or al, 0x30
xor edx, edx
mov dl, byte [ebp - 0x200]
mov byte [ebp + edx - 0x200], al
xor eax, eax
mov al, byte [ebp - 0x212]
mov edx, dword [ebp - 0x208]
mov al, byte [edx + eax]
and al, 0xf
mov byte [ebp - 0x214], al
cmp byte [ebp - 0x214], 0
jb 0x46704e
cmp byte [ebp - 0x214], 0xa
jae 0x46704e
mov al, byte [ebp - 0x212]
cmp al, byte [ebp - 0x213]
je 0x46704e
cmp byte [ebp - 0x200], 0
ja 0x467031
cmp byte [ebp - 0x214], 0
je 0x46704e
inc byte [ebp - 0x200]
mov al, byte [ebp - 0x214]
or al, 0x30
xor edx, edx
mov dl, byte [ebp - 0x200]
mov byte [ebp + edx - 0x200], al
inc byte [ebp - 0x212]
mov al, byte [ebp - 0x212]
cmp al, byte [ebp - 0x213]
ja 0x46706f
cmp byte [ebp - 0x214], 0xa
jb 0x466f82
cmp byte [ebp - 0x200], 3
jae 0x4670d8
mov dl, 3
sub dl, byte [ebp - 0x200]
lea ecx, [ebp - 0x434]
mov al, 0x30
call fcn.00407720
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x44c]
call fcn.0040569c
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x450]
lea edx, [ebp - 0x200]
call fcn.0040569c
mov edx, dword [ebp - 0x450]
pop eax
call fcn.00405700
mov edx, dword [ebp - 0x44c]
lea eax, [ebp - 0x200]
mov ecx, 0xff
call fcn.004056d4
cmp byte [ebp - 0x214], 0xd
jne 0x467388
lea eax, [ebp - 0x458]
lea edx, [ebp - 0x200]
call fcn.0040569c
mov ecx, dword [ebp - 0x458]
lea eax, [ebp - 0x454]
mov edx, 0x467e2c
call fcn.00405744
mov edx, dword [ebp - 0x454]
lea eax, [ebp - 0x200]
mov ecx, 0xff
call fcn.004056d4
jmp 0x467388
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x48
jne 0x467151
mov eax, dword [ebp - 0x208]
mov al, byte [eax]
lea edx, [ebp - 0x200]
call fcn.00407310
jmp 0x467388
mov eax, dword [ebp - 0x208]
movzx eax, byte [eax]
lea edx, [ebp - 0x200]
call fcn.00403af8
jmp 0x467388
cmp byte [ebp - 0x100], 5
ja 0x46718c
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x208]
movsx eax, word [eax]
call fcn.00403af8
jmp 0x467388
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x208]
mov eax, dword [eax]
call fcn.00403af8
jmp 0x467388
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x48
jne 0x4671cf
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x208]
mov ax, word [eax]
call fcn.00407350
jmp 0x467388
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x208]
movzx eax, word [eax]
call fcn.00403af8
jmp 0x467388
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x48
jne 0x467213
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x208]
mov ax, word [eax]
call fcn.00407350
jmp 0x467388
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x208]
movsx eax, word [eax]
call fcn.00403af8
jmp 0x467388
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x48
jne 0x467256
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x208]
mov eax, dword [eax]
call fcn.004073d4
jmp 0x467388
lea edx, [ebp - 0x200]
mov eax, dword [ebp - 0x208]
mov eax, dword [eax]
call fcn.00403af8
jmp 0x467388
mov eax, dword [ebp - 0x208]
fld dword [eax]
fstp xword [ebp - 0x228]
wait
jmp 0x4672b2
mov eax, dword [ebp - 0x208]
fld qword [eax]
fstp xword [ebp - 0x228]
wait
jmp 0x4672b2
mov eax, dword [ebp - 0x208]
mov edx, dword [eax]
mov dword [ebp - 0x228], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x224], edx
mov dx, word [eax + 8]
mov word [ebp - 0x220], dx
lea edx, [ebp - 0x100]
mov eax, 0x467e30
call fcn.00402cd4
test eax, eax
jle 0x4672ef
mov ax, word [ebp - 0x220]
push eax
push dword [ebp - 0x224]
push dword [ebp - 0x228]
lea ecx, [ebp - 0x200]
or edx, 0xffffffff
xor eax, eax
call fcn.00403eac
jmp 0x467388
lea edx, [ebp - 0x100]
mov eax, 0x467e34
call fcn.00402cd4
mov byte [ebp - 0x217], al
cmp byte [ebp - 0x217], 0
jbe 0x46735f
mov al, byte [ebp - 0x217]
inc eax
mov byte [ebp - 0x212], al
jmp 0x467323
inc byte [ebp - 0x212]
mov al, byte [ebp - 0x212]
cmp al, byte [ebp - 0x100]
ja 0x46734c
xor eax, eax
mov al, byte [ebp - 0x212]
mov al, byte [ebp + eax - 0x100]
sub al, 0x39
je 0x46731d
sub al, 0x21
je 0x46731d
sub al, 0x16
je 0x46731d
mov al, byte [ebp - 0x212]
sub al, byte [ebp - 0x217]
dec eax
mov byte [ebp - 0x217], al
mov ax, word [ebp - 0x220]
push eax
push dword [ebp - 0x224]
push dword [ebp - 0x228]
lea ecx, [ebp - 0x200]
xor edx, edx
mov dl, byte [ebp - 0x217]
xor eax, eax
call fcn.00403eac
lea eax, [ebp - 0x434]
push eax
mov ecx, 2
mov edx, 1
lea eax, [ebp - 0x100]
call fcn.004028d8
lea eax, [ebp - 0x434]
mov edx, 0x467e38
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004033c8
jne 0x4673de
mov byte [ebp - 0x229], 1
lea eax, [ebp - 0x100]
push eax
mov ecx, 0xff
mov edx, 3
lea eax, [ebp - 0x100]
call fcn.004028d8
lea eax, [ebp - 0x434]
push eax
mov ecx, 2
mov edx, 1
lea eax, [ebp - 0x100]
call fcn.004028d8
lea eax, [ebp - 0x434]
mov edx, 0x467e3c
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004033c8
jne 0x46743b
mov byte [ebp - 0x22a], 1
mov byte [ebp - 0x22b], 0
lea eax, [ebp - 0x100]
push eax
mov ecx, 0xff
mov edx, 3
lea eax, [ebp - 0x100]
call fcn.004028d8
lea eax, [ebp - 0x434]
push eax
mov ecx, 2
mov edx, 1
lea eax, [ebp - 0x100]
call fcn.004028d8
lea eax, [ebp - 0x434]
mov edx, 0x467e40
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.004033c8
jne 0x467498
mov byte [ebp - 0x22a], 1
mov byte [ebp - 0x22b], 1
lea eax, [ebp - 0x100]
push eax
mov ecx, 0xff
mov edx, 3
lea eax, [ebp - 0x100]
call fcn.004028d8
mov byte [ebp - 0x212], 1
jmp 0x4674d0
xor eax, eax
mov al, byte [ebp - 0x212]
cmp byte [ebp + eax - 0x100], 0x7a
jne 0x4674ca
mov byte [ebp - 0x229], 1
xor eax, eax
mov al, byte [ebp - 0x212]
mov byte [ebp + eax - 0x100], 0x5a
inc byte [ebp - 0x212]
mov al, byte [ebp - 0x212]
cmp al, byte [ebp - 0x100]
jbe 0x4674a1
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x48
jne 0x46753c
xor eax, eax
mov al, byte [ebp - 0x100]
mov byte [ebp + eax - 0x100], 0x39
jmp 0x467521
lea eax, [ebp - 0x200]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x200]
mov edx, 2
lea eax, [ebp - 0x200]
call fcn.004028d8
cmp byte [ebp - 0x200], 1
jbe 0x46753c
cmp byte [ebp - 0x1ff], 0x30
jne 0x46753c
cmp byte [ebp - 0x1fe], 0x2e
jne 0x467502
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x3d
jne 0x46767a
lea edx, [ebp - 0x100]
mov eax, 0x467e34
call fcn.00402cd4
mov byte [ebp - 0x213], al
cmp byte [ebp - 0x213], 0
jbe 0x46767a
lea edx, [ebp - 0x200]
mov eax, 0x467e34
call fcn.00402cd4
mov byte [ebp - 0x212], al
mov al, byte [ebp - 0x212]
inc eax
mov byte [ebp - 0x215], al
mov al, byte [ebp - 0x213]
inc eax
mov byte [ebp - 0x216], al
jmp 0x4675b3
inc byte [ebp - 0x215]
inc byte [ebp - 0x216]
mov al, byte [ebp - 0x215]
cmp al, byte [ebp - 0x200]
ja 0x46760c
xor eax, eax
mov al, byte [ebp - 0x216]
xor edx, edx
mov dl, byte [ebp - 0x100]
dec edx
cmp eax, edx
jg 0x46760c
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x200], 0x30
jne 0x46760c
xor eax, eax
mov al, byte [ebp - 0x216]
cmp byte [ebp + eax - 0x100], 0x39
je 0x4675a7
xor eax, eax
mov al, byte [ebp - 0x216]
cmp byte [ebp + eax - 0x100], 0x5a
je 0x4675a7
mov al, byte [ebp - 0x215]
cmp al, byte [ebp - 0x200]
ja 0x467628
mov al, byte [ebp - 0x216]
cmp al, byte [ebp - 0x100]
jne 0x467674
lea eax, [ebp - 0x200]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x212]
dec ecx
mov edx, 1
lea eax, [ebp - 0x200]
call fcn.004028d8
xor eax, eax
mov al, byte [ebp - 0x100]
mov al, byte [ebp + eax - 0x100]
xor edx, edx
mov dl, byte [ebp - 0x213]
mov byte [ebp + edx - 0x100], al
mov al, byte [ebp - 0x213]
mov byte [ebp - 0x100], al
jmp 0x46767a
dec byte [ebp - 0x100]
cmp byte [ebp - 0x100], 1
jbe 0x467698
xor eax, eax
mov al, byte [ebp - 0x100]
mov al, byte [ebp + eax - 0x100]
add al, 0xd4
sub al, 2
jb 0x46769c
xor eax, eax
jmp 0x46769e
mov al, 1
mov byte [ebp - 0x22c], al
cmp byte [ebp - 0x22c], 0
je 0x4676c8
xor eax, eax
mov al, byte [ebp - 0x100]
mov al, byte [ebp + eax - 0x100]
mov byte [ebp - 0x233], al
dec byte [ebp - 0x100]
cmp byte [ebp - 0x200], 0
jne 0x4676da
mov word [ebp - 0x200], 0x3001
xor eax, eax
mov al, byte [ebp - 0x200]
mov byte [ebp + eax - 0x1ff], 0
xor eax, eax
mov al, byte [ebp - 0x100]
mov byte [ebp + eax - 0xff], 0
cmp byte [ebp - 0x100], 1
jbe 0x467770
cmp byte [ebp - 0xff], 0x7b
jne 0x467770
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x7d
jne 0x467770
cmp byte [ebp - 0x1ff], 0x2d
je 0x46773d
push ebp
lea eax, [ebp - 0x200]
mov edx, 0xff
call fcn.004663fc
pop ecx
test al, al
je 0x467749
mov byte [ebp - 0x200], 0
jmp 0x467da3
lea eax, [ebp - 0x100]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x100]
sub ecx, 2
mov edx, 2
lea eax, [ebp - 0x100]
call fcn.004028d8
jmp 0x46781e
cmp byte [ebp - 0x100], 1
jbe 0x4677da
cmp byte [ebp - 0xff], 0x5b
jne 0x4677da
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x5d
jne 0x4677da
push ebp
lea eax, [ebp - 0x200]
mov edx, 0xff
call fcn.004663fc
pop ecx
test al, al
je 0x4677b6
mov byte [ebp - 0x200], 0
jmp 0x467da3
lea eax, [ebp - 0x100]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x100]
sub ecx, 2
mov edx, 2
lea eax, [ebp - 0x100]
call fcn.004028d8
jmp 0x46781e
cmp byte [ebp - 0x100], 1
jbe 0x46781e
cmp byte [ebp - 0xff], 0x28
jne 0x46781e
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x29
jne 0x46781e
cmp byte [ebp - 0x1ff], 0x2d
je 0x46781e
mov byte [ebp - 0xff], 0x5a
xor eax, eax
mov al, byte [ebp - 0x100]
mov byte [ebp + eax - 0x100], 0x5a
cmp byte [ebp - 0xff], 0x2b
jne 0x467839
cmp byte [ebp - 0x1ff], 0x2d
jne 0x467839
mov byte [ebp - 0xff], 0x2d
jmp 0x4678ac
cmp byte [ebp - 0xff], 0x2d
jne 0x467854
cmp byte [ebp - 0x1ff], 0x2d
je 0x467854
mov byte [ebp - 0xff], 0x5a
jmp 0x4678ac
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x2b
jne 0x467881
cmp byte [ebp - 0x1ff], 0x2d
jne 0x467881
xor eax, eax
mov al, byte [ebp - 0x100]
mov byte [ebp + eax - 0x100], 0x2b
jmp 0x4678ac
xor eax, eax
mov al, byte [ebp - 0x100]
cmp byte [ebp + eax - 0x100], 0x2d
jne 0x4678ac
cmp byte [ebp - 0x1ff], 0x2d
je 0x4678ac
xor eax, eax
mov al, byte [ebp - 0x100]
mov byte [ebp + eax - 0x100], 0x20
cmp byte [ebp - 0x1ff], 0x2d
jne 0x4678d4
lea eax, [ebp - 0x200]
push eax
xor ecx, ecx
mov cl, byte [ebp - 0x200]
mov edx, 2
lea eax, [ebp - 0x200]
call fcn.004028d8
lea edx, [ebp - 0x200]
mov eax, 0x467e34
call fcn.00402cd4
mov byte [ebp - 0x212], al
lea edx, [ebp - 0x100]
mov eax, 0x467e34
call fcn.00402cd4
mov byte [ebp - 0x213], al
cmp byte [ebp - 0x213], 0
jne 0x467916
mov al, byte [ebp - 0x100]
inc eax
mov byte [ebp - 0x213], al
cmp byte [ebp - 0x212], 0
jbe 0x467a25
mov al, byte [ebp - 0x213]
mov byte [ebp - 0x215], al
mov al, byte [ebp - 0x212]
inc eax
mov byte [ebp - 0x216], al
jmp 0x4679d3
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x100], 0x39
je 0x467977
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x100], 0x5a
je 0x467977
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x100], 0x58
jne 0x4679cd
mov al, byte [ebp - 0x216]
cmp al, byte [ebp - 0x200]
ja 0x4679bd
xor eax, eax
mov al, byte [ebp - 0x216]
cmp byte [ebp + eax - 0x200], 0x45
je 0x4679bd
xor eax, eax
mov al, byte [ebp - 0x216]
mov al, byte [ebp + eax - 0x200]
xor edx, edx
mov dl, byte [ebp - 0x215]
mov byte [ebp + edx - 0x100], al
inc byte [ebp - 0x216]
jmp 0x4679cd
xor eax, eax
mov al, byte [ebp - 0x215]
mov byte [ebp + eax - 0x100], 0x30
inc byte [ebp - 0x215]
mov al, byte [ebp - 0x215]
cmp al, byte [ebp - 0x100]
ja 0x467a6e
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x100], 0x45
je 0x467a6e
cmp byte [ebp - 0x22a], 0
je 0x467941
cmp byte [ebp - 0x22a], 0
je 0x467a6e
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x100], 0x28
jne 0x467941
jmp 0x467a6e
mov al, byte [ebp - 0x200]
inc eax
mov byte [ebp - 0x212], al
mov byte [ebp - 0x213], 0
cmp byte [ebp - 0x22a], 0
je 0x467a58
lea edx, [ebp - 0x100]
mov eax, 0x467e44
call fcn.00402cd4
mov byte [ebp - 0x213], al
cmp byte [ebp - 0x213], 0
jne 0x467a6e
mov al, byte [ebp - 0x100]
inc eax
mov byte [ebp - 0x213], al
mov al, byte [ebp - 0x213]
dec eax
mov byte [ebp - 0x215], al
mov al, byte [ebp - 0x212]
dec eax
mov byte [ebp - 0x216], al
cmp byte [ebp - 0x215], 0
jbe 0x467b5a
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x100], 0x39
je 0x467acb
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x100], 0x5a
je 0x467acb
xor eax, eax
mov al, byte [ebp - 0x215]
cmp byte [ebp + eax - 0x100], 0x58
jne 0x467b47
cmp byte [ebp - 0x216], 0
jbe 0x467afa
xor eax, eax
mov al, byte [ebp - 0x216]
mov al, byte [ebp + eax - 0x200]
xor edx, edx
mov dl, byte [ebp - 0x215]
mov byte [ebp + edx - 0x100], al
dec byte [ebp - 0x216]
jmp 0x467b47
xor eax, eax
mov al, byte [ebp - 0x215]
mov al, byte [ebp + eax - 0x100]
sub al, 0x39
je 0x467b13
sub al, 0x1f
je 0x467b25
jmp 0x467b37
xor eax, eax
mov al, byte [ebp - 0x215]
mov byte [ebp + eax - 0x100], 0x30
jmp 0x467b47
xor eax, eax
mov al, byte [ebp - 0x215]
mov byte [ebp + eax - 0x100], 0x5f
jmp 0x467b47
xor eax, eax
mov al, byte [ebp - 0x215]
mov byte [ebp + eax - 0x100], 0x20
dec byte [ebp - 0x215]
cmp byte [ebp - 0x215], 0
ja 0x467a95
mov al, byte [ebp - 0xff]
sub al, 0x20
je 0x467b70
sub al, 4
je 0x467b70
sub al, 7
je 0x467b70
sub al, 2
jne 0x467bd9
mov byte [ebp - 0x212], 1
jmp 0x467b8f
inc byte [ebp - 0x212]
xor eax, eax
mov al, byte [ebp - 0x212]
mov byte [ebp + eax - 0x100], 0x20
mov al, byte [ebp - 0x212]
cmp al, byte [ebp - 0x100]
jae 0x467bb4
xor eax, eax
mov al, byte [ebp - 0x212]
mov al, byte [ebp + eax - 0xff]
sub al, 0x20
je 0x467b79
sub al, 0xc
je 0x467b79
cmp byte [ebp - 0x212], 1
jbe 0x467bd9
xor eax, eax
mov al, byte [ebp - 0x212]
mov dl, byte [ebp - 0xff]
mov byte [ebp + eax - 0x100], dl
mov byte [ebp - 0xff], 0x20
cmp byte [ebp - 0x22c], 0
je 0x467c16
lea edx, [ebp - 0x100]
mov eax, 0x467e34
call fcn.00402cd4
mov byte [ebp - 0x212], al
cmp byte [ebp - 0x212], 1
jbe 0x467c16
xor eax, eax
mov al, byte [ebp - 0x212]
mov dl, byte [ebp - 0x233]
mov byte [ebp + eax - 0x100], dl
cmp byte [ebp - 0x22a], 0
je 0x467c91
cmp byte [ebp - 0x22b], 0
je 0x467c7b
lea eax, [ebp - 0x460]
lea edx, [ebp - 0x100]
call fcn.0040569c
mov ecx, dword [ebp - 0x460]
lea eax, [ebp - 0x45c]
mov edx, 0x467e50
call fcn.00405744
mov edx, dword [ebp - 0x45c]
lea eax, [ebp - 0x434]
mov ecx, 0xff
call fcn.004056d4
lea eax, [ebp - 0x434]
lea edx, [ebp - 0x200]
call fcn.004637b4
jmp 0x467da3
lea edx, [ebp - 0x200]
lea eax, [ebp - 0x100]
call fcn.004637b4
jmp 0x467da3
mov al, byte [ebp - 0x201]
sub al, 1
je 0x467c9f
sub al, 0x13
jne 0x467cac
cmp byte [ebp - 0xff], 0x3d
je 0x467da3
lea eax, [ebp - 0x200]
lea edx, [ebp - 0x100]
call fcn.0040331c
jmp 0x467da3
mov byte [ebp - 0x200], 0
mov byte [ebp - 0x212], 1
xor eax, eax
mov al, byte [ebp - 0x212]
mov edx, dword [ebp - 0x208]
mov al, byte [edx + eax - 1]
lea edx, [ebp - 0x434]
call fcn.00407310
lea edx, [ebp - 0x434]
lea eax, [ebp - 0x22f]
mov cl, 2
call fcn.00403328
lea eax, [ebp - 0x468]
lea edx, [ebp - 0x200]
call fcn.0040569c
push dword [ebp - 0x468]
lea eax, [ebp - 0x470]
mov dl, byte [ebp - 0x22d]
mov byte [eax + 1], dl
mov byte [eax], 1
lea edx, [ebp - 0x470]
lea eax, [ebp - 0x46c]
call fcn.0040569c
push dword [ebp - 0x46c]
lea eax, [ebp - 0x474]
mov dl, byte [ebp - 0x22e]
call fcn.00405620
push dword [ebp - 0x474]
lea eax, [ebp - 0x464]
mov edx, 3
call fcn.004057b8
mov edx, dword [ebp - 0x464]
lea eax, [ebp - 0x200]
mov ecx, 0xff
call fcn.004056d4
inc byte [ebp - 0x212]
cmp byte [ebp - 0x212], 9
jne 0x467cd0
jmp 0x467da3
lea eax, [ebp - 0x200]
lea edx, [ebp - 0x100]
call fcn.0040331c
cmp byte [ebp - 0x229], 0
je 0x467dbc
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x200]
call fcn.00407940
jmp 0x467dca
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x200]
call fcn.0040331c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x467dfa
lea eax, [ebp - 0x474]
call fcn.00405438
lea eax, [ebp - 0x46c]
mov edx, 0xe
call fcn.0040545c
ret