Function at 0x4683a0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
mov ebp, eax
push esi
push ebx
sub esp, 0x10c
mov eax, dword [eax + 0x78]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x84], ecx
mov edx, dword [ebp]
mov esi, eax
or esi, dword [ebp + 0x7c]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 8]
jne 0x4684e4
mov dword [esp], edx
call eax
test eax, eax
je 0x46a010
lea edx, [esp + 0xf0]
mov eax, ebp
call fcn.00467230
mov esi, dword [ebp + 0x44]
lea eax, [ebp + 0x98]
mov ecx, 0x800
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x98]
mov ebx, esi
shl ebx, 5
add ebx, ebp
shr eax, 0xb
movzx edx, word [ebx + 0x32614]
imul eax, edx
sub ecx, edx
shr ecx, 5
add edx, ecx
cmp eax, 0xffffff
mov dword [ebp + 0x98], eax
mov word [ebx + 0x32614], dx
jbe 0x46a0ea
mov eax, dword [esi*4 + 0x745ce0]
mov ebx, ebp
mov dword [ebp + 0x44], eax
mov eax, dword [ebp]
mov dword [esp], eax
call dword [ebp + 0xc]
sub eax, dword [ebp + 0x30]
mov esi, dword [ebp + 0x60]
mov dword [esp + 0x20], esi
movzx eax, byte [eax]
or ah, 1
mov esi, eax
jmp 0x46849c
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add edx, ecx
cmp eax, 0xffffff
mov dword [ebx + 0x98], eax
mov word [edi], dx
ja 0x46848e
shl eax, 8
mov dword [ebx + 0x98], eax
mov eax, dword [esp + 0x24]
call fcn.00466f60
add esi, esi
cmp esi, 0xffff
ja 0x46a080
mov edi, dword [esp + 0x20]
mov eax, esi
mov ebp, dword [ebx + 0x98]
shr eax, 8
lea edi, [edi + eax*2]
mov eax, ebp
shr eax, 0xb
movzx edx, word [edi]
imul eax, edx
test esi, 0x80
mov dword [esp + 0x18], edx
je 0x468460
mov edx, dword [esp + 0x18]
xor ecx, ecx
add dword [ebx + 0xa0], eax
adc dword [ebx + 0xa4], ecx
sub ebp, eax
mov eax, ebp
mov ecx, edx
shr ecx, 5
sub edx, ecx
jmp 0x46846c
mov esi, dword [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 0x30], esi
call eax
test eax, eax
je 0x46a0a0
lea eax, [ebp + 0x98]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x468892
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x469474
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0xf0], eax
mov eax, dword [ebp + 0x28]
cmp eax, 1
mov dword [esp + 0x18], eax
jbe 0x469330
cmp eax, 0x111
mov edi, 0x111
cmovbe edi, eax
mov eax, dword [ebp]
mov dword [esp], eax
call dword [ebp + 0xc]
mov esi, dword [ebp + 0x2c]
movzx ecx, byte [eax - 1]
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], esi
xor esi, esi
mov edx, eax
sub edx, dword [ebp + esi*4 + 0x34]
sub edx, 2
cmp cl, byte [edx]
jne 0x468586
movzx ebx, byte [edx + 1]
cmp byte [eax], bl
je 0x468f83
add esi, 1
cmp esi, 4
jne 0x46856d
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x34]
lea edi, [ebp + 0x31140]
mov dword [esp + 0x38], edi
cmp ebx, eax
jb 0x469490
mov eax, dword [esp + 0xf0]
mov eax, dword [ebp + eax*4 + 0x3113c]
add eax, 4
mov dword [esp + 0x24], eax
mov eax, ebx
sub eax, 1
je 0x469fc4
add dword [ebp + 0x30], eax
mov dword [esp + 4], eax
mov eax, dword [ebp]
mov dword [esp], eax
call dword [ebp + 0x14]
mov eax, dword [ebp + 0x44]
mov edi, dword [esp + 0x30]
and edi, dword [ebp + 0x58]
mov dword [esp + 0x18], eax
shl eax, 4
cmp dword [esp + 0x20], 1
lea eax, [edi + eax + 0x19308]
mov dword [esp + 0x2c], edi
movzx edx, word [ebp + eax*2 + 4]
jne 0x468617
cmp dword [esp + 0x24], 0xffffffff
je 0x469351
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x20], 1
mov eax, dword [ebp + 0x98]
mov ecx, dword [esp + 0x18]
xor ebx, ebx
mov esi, eax
shr esi, 0xb
imul esi, edx
add dword [ebp + 0xa0], esi
adc dword [ebp + 0xa4], ebx
mov ebx, edx
shl ecx, 4
shr ebx, 5
lea ecx, [edi + ecx + 0x19308]
sub eax, esi
sub edx, ebx
cmp eax, 0xffffff
mov dword [ebp + 0x98], eax
mov word [ebp + ecx*2 + 4], dx
ja 0x46867b
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x98]
mov edi, dword [esp + 0x18]
lea esi, [ebp + edi*2]
mov edi, eax
shr edi, 0xb
movzx edx, word [esi + 0x32794]
imul edi, edx
cmp dword [esp + 0x24], 3
ja 0x4688d0
xor ebx, ebx
mov ecx, edx
add dword [ebp + 0xa0], edi
adc dword [ebp + 0xa4], ebx
sub eax, edi
shr ecx, 5
sub edx, ecx
cmp eax, 0xffffff
mov dword [ebp + 0x98], eax
mov word [esi + 0x32794], dx
ja 0x4686e7
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x98]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov edx, eax
shr edx, 0xb
lea edi, [ebp + esi*2]
movzx esi, word [edi + 0x327ac]
imul edx, esi
test ecx, ecx
jne 0x469085
mov eax, 0x800
mov dword [ebp + 0x98], edx
sub eax, esi
shr eax, 5
add esi, eax
cmp edx, 0xffffff
mov word [edi + 0x327ac], si
ja 0x46874a
mov eax, dword [esp + 0x28]
shl edx, 8
mov dword [ebp + 0x98], edx
call fcn.00466f60
mov eax, dword [ebp + 0x44]
mov edx, dword [ebp + 0x98]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
shl eax, 4
add eax, dword [esp + 0x2c]
lea edi, [ebp + eax*2]
mov eax, edx
shr eax, 0xb
movzx esi, word [edi + 0x327f4]
imul eax, esi
cmp dword [esp + 0x20], 1
jne 0x4695e4
mov edx, 0x800
mov dword [ebp + 0x98], eax
sub edx, esi
shr edx, 5
add esi, edx
cmp eax, 0xffffff
mov word [edi + 0x327f4], si
ja 0x46a070
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
cmp dword [esp + 0x20], 1
jne 0x4691ac
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [eax*4 + str._t_t_t_t_t_t_t_v_v_v_v_v]
mov dword [esp + 0x20], 1
mov dword [ebp + 0x44], eax
mov eax, dword [esp + 0x20]
mov ebx, dword [ebp + 0x30]
add dword [esp + 0x30], eax
sub ebx, eax
mov eax, dword [ebp + 0x64]
test ebx, ebx
mov dword [ebp + 0x30], ebx
jne 0x468506
test eax, eax
jne 0x468806
cmp dword [ebp + 0x80], 0x7f
ja 0x469720
cmp dword [ebp + 0x84], 0xf
ja 0x469650
mov eax, dword [ebp]
mov dword [esp], eax
call dword [ebp + 8]
mov esi, dword [esp + 0x30]
sub esi, dword [esp + 0x48]
test eax, eax
je 0x468874
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x468f20
lea eax, [esi + 0x112c]
cmp eax, dword [esp + 0x120]
jae 0x468874
mov eax, dword [ebp + 0xa8]
add eax, dword [ebp + 0xc0]
mov edx, dword [ebp + 0xac]
adc edx, dword [ebp + 0xc4]
mov ecx, dword [ebp + 0xb0]
add eax, 0x2000
adc edx, 0
sub ecx, dword [ebp + 0xb8]
mov ebx, ecx
sar ebx, 0x1f
add eax, ecx
adc edx, ebx
cmp edx, 0
jbe 0x469570
xor edi, edi
add dword [ebp + 0x78], esi
mov edx, dword [esp + 0x30]
adc dword [ebp + 0x7c], edi
mov eax, ebp
call fcn.00467530
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 0x1c]
cmp dword [ebp + 0x18], edx
je 0x4691f3
lea eax, [edx + edx*2]
shl eax, 4
add eax, ebp
mov ecx, dword [eax + 0x758]
mov eax, dword [eax + 0x75c]
mov esi, ecx
mov dword [esp + 0x24], eax
mov dword [ebp + 0x1c], ecx
sub esi, edx
mov dword [esp + 0x20], esi
jmp 0x4685d8
mov eax, 0x800
mov dword [ebp + 0x98], edi
sub eax, edx
shr eax, 5
add edx, eax
cmp edi, 0xffffff
mov word [esi + 0x32794], dx
ja 0x46890a
mov eax, dword [esp + 0x28]
shl edi, 8
mov dword [ebp + 0x98], edi
call fcn.00466f60
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
lea edx, [ebp + 0x30f40]
mov edi, dword [esp + 0x2c]
mov eax, dword [eax*4 + str._a_a_a_a_a_a_a_n_n_n_n_n]
mov dword [ebp + 0x44], eax
mov dword [esp + 8], edx
xor edx, edx
mov ebx, dword [ebp + 0x64]
mov eax, dword [esp + 0x20]
mov dword [esp], edi
test ebx, ebx
lea ecx, [eax - 2]
lea eax, [ebp + 0x32c78]
sete dl
mov dword [esp + 4], edx
mov edx, dword [esp + 0x28]
call fcn.00467d70
mov eax, dword [esp + 0x24]
sub eax, 4
cmp eax, 0x7f
mov dword [esp + 0x2c], eax
ja 0x469052
movzx eax, byte [ebp + eax + 0x30740]
mov dword [esp + 0x18], eax
mov ebx, eax
mov edi, dword [esp + 0x20]
mov eax, 5
mov esi, dword [ebp + 0x98]
cmp edi, 5
cmovbe eax, edi
shr ebx, 5
shl eax, 7
mov edi, ebx
lea eax, [ebp + eax + 0x32874]
movzx edx, word [eax + 2]
mov dword [esp + 0x24], eax
mov eax, esi
shr eax, 0xb
imul eax, edx
and edi, 1
je 0x468ff3
xor ebx, ebx
mov ecx, edx
add dword [ebp + 0xa0], eax
adc dword [ebp + 0xa4], ebx
sub esi, eax
shr ecx, 5
mov eax, esi
sub edx, ecx
mov ebx, dword [esp + 0x24]
cmp eax, 0xffffff
mov dword [ebp + 0x98], eax
mov word [ebx + 2], dx
ja 0x4689f2
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
mov eax, dword [ebp + 0x98]
mov esi, dword [esp + 0x24]
mov ebx, edi
mov edi, dword [esp + 0x18]
or ebx, 2
mov edx, eax
shr edx, 0xb
lea esi, [esi + ebx*2]
shr edi, 4
movzx ecx, word [esi]
mov dword [esp + 0x38], esi
imul edx, ecx
and edi, 1
mov dword [esp + 0x34], edi
je 0x468fe0
xor edi, edi
add dword [ebp + 0xa0], edx
adc dword [ebp + 0xa4], edi
sub eax, edx
mov edx, eax
mov eax, ecx
shr eax, 5
sub ecx, eax
mov eax, dword [esp + 0x38]
cmp edx, 0xffffff
mov dword [ebp + 0x98], edx
mov word [eax], cx
ja 0x468a67
mov eax, dword [esp + 0x28]
shl edx, 8
mov dword [ebp + 0x98], edx
call fcn.00466f60
mov edx, dword [ebp + 0x98]
lea edi, [ebx + ebx]
or edi, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
lea eax, [eax + edi*2]
shr ebx, 3
movzx ecx, word [eax]
mov dword [esp + 0x38], eax
mov eax, edx
shr eax, 0xb
imul eax, ecx
and ebx, 1
mov dword [esp + 0x34], ebx
je 0x469041
xor esi, esi
add dword [ebp + 0xa0], eax
adc dword [ebp + 0xa4], esi
sub edx, eax
mov eax, edx
mov edx, ecx
shr edx, 5
sub ecx, edx
mov edx, ecx
mov ebx, dword [esp + 0x38]
cmp eax, 0xffffff
mov dword [ebp + 0x98], eax
mov word [ebx], dx
ja 0x468adf
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
mov eax, dword [ebp + 0x98]
lea esi, [edi + edi]
or esi, dword [esp + 0x34]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov edx, eax
shr edx, 0xb
lea edi, [edi + esi*2]
shr ebx, 2
mov dword [esp + 0x38], edi
movzx edi, word [edi]
imul edx, edi
and ebx, 1
mov dword [esp + 0x34], ebx
je 0x469030
xor ebx, ebx
add dword [ebp + 0xa0], edx
adc dword [ebp + 0xa4], ebx
sub eax, edx
mov edx, eax
mov eax, edi
shr eax, 5
sub edi, eax
mov eax, dword [esp + 0x38]
cmp edx, 0xffffff
mov dword [ebp + 0x98], edx
mov word [eax], di
ja 0x468b56
mov eax, dword [esp + 0x28]
shl edx, 8
mov dword [ebp + 0x98], edx
call fcn.00466f60
mov edx, dword [ebp + 0x98]
lea ebx, [esi + esi]
or ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
lea eax, [eax + ebx*2]
shr edi, 1
mov dword [esp + 0x40], edi
movzx ecx, word [eax]
mov dword [esp + 0x38], eax
mov eax, edx
shr eax, 0xb
imul eax, ecx
and edi, 1
mov dword [esp + 0x34], edi
je 0x469015
xor edi, edi
add dword [ebp + 0xa0], eax
adc dword [ebp + 0xa4], edi
sub edx, eax
mov eax, edx
mov edx, ecx
shr edx, 5
sub ecx, edx
mov edi, dword [esp + 0x38]
cmp eax, 0xffffff
mov dword [ebp + 0x98], eax
mov word [edi], cx
ja 0x468bcf
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
mov eax, dword [ebp + 0x98]
add ebx, ebx
or ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
mov edx, eax
shr edx, 0xb
lea edi, [esi + ebx*2]
mov ebx, dword [esp + 0x18]
movzx esi, word [edi]
imul edx, esi
and ebx, 1
mov dword [esp + 0x24], ebx
je 0x469004
xor ebx, ebx
add dword [ebp + 0xa0], edx
adc dword [ebp + 0xa4], ebx
sub eax, edx
mov edx, eax
mov eax, esi
shr eax, 5
sub esi, eax
cmp edx, 0xffffff
mov dword [ebp + 0x98], edx
mov word [edi], si
ja 0x468c34
mov eax, dword [esp + 0x28]
shl edx, 8
mov dword [ebp + 0x98], edx
call fcn.00466f60
mov edi, dword [esp + 0x18]
cmp edi, 3
jbe 0x468ef4
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x2c]
lea ebx, [eax - 1]
mov eax, dword [esp + 0x24]
mov ecx, ebx
mov dword [esp + 0x3c], ebx
or eax, 2
shl eax, cl
sub esi, eax
cmp edi, 0xd
mov dword [esp + 0x18], esi
ja 0x469582
sub eax, edi
lea esi, [ebp + 0x32b74]
test ebx, ebx
lea eax, [eax + eax - 2]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], eax
jle 0x468ef4
xor ebx, ebx
mov edi, 1
mov dword [esp + 0x24], ebx
jmp 0x468ce1
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add edx, ecx
cmp eax, 0xffffff
mov dword [ebp + 0x98], eax
mov word [esi], dx
ja 0x468cc1
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
lea eax, [edi + edi]
mov edi, dword [esp + 0x34]
add dword [esp + 0x24], 1
shr dword [esp + 0x18], 1
or edi, eax
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x3c], eax
je 0x468ef4
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
lea esi, [eax + edi*2]
add esi, dword [esp + 0x40]
mov eax, dword [ebp + 0x98]
mov dword [esp + 0x38], eax
shr eax, 0xb
movzx edx, word [esi]
imul eax, edx
and ebx, 1
mov dword [esp + 0x34], ebx
je 0x468c93
mov ecx, dword [esp + 0x38]
xor ebx, ebx
add dword [ebp + 0xa0], eax
adc dword [ebp + 0xa4], ebx
sub ecx, eax
mov eax, ecx
mov ecx, edx
shr ecx, 5
sub edx, ecx
jmp 0x468c9f
movzx esi, word [ebp + 0x32c5a]
mov edi, dword [esp + 0x18]
mov ecx, ebx
shr ecx, 0xb
lea eax, [ebp + 0x32c58]
mov dword [esp + 0x24], eax
imul ecx, esi
and edi, 1
je 0x469881
xor edx, edx
mov eax, esi
add dword [ebp + 0xa0], ecx
adc dword [ebp + 0xa4], edx
sub ebx, ecx
shr eax, 5
mov ecx, ebx
sub esi, eax
cmp ecx, 0xffffff
mov dword [ebp + 0x98], ecx
mov word [ebp + 0x32c5a], si
ja 0x468d9c
mov eax, dword [esp + 0x28]
shl ecx, 8
mov dword [ebp + 0x98], ecx
call fcn.00466f60
mov ecx, dword [ebp + 0x98]
mov esi, edi
lea edi, [ebp + 0x32c58]
mov eax, dword [esp + 0x18]
or esi, 2
mov ebx, ecx
lea edi, [edi + esi*2]
mov dword [esp + 0x34], esi
shr ebx, 0xb
shr eax, 1
movzx esi, word [edi]
imul ebx, esi
and eax, 1
mov dword [esp + 0x24], eax
je 0x469870
xor edx, edx
mov eax, esi
add dword [ebp + 0xa0], ebx
adc dword [ebp + 0xa4], edx
sub ecx, ebx
shr eax, 5
mov ebx, ecx
sub esi, eax
cmp ebx, 0xffffff
mov dword [ebp + 0x98], ebx
mov word [edi], si
ja 0x468e0e
mov eax, dword [esp + 0x28]
shl ebx, 8
mov dword [ebp + 0x98], ebx
call fcn.00466f60
mov ebx, dword [ebp + 0x98]
mov eax, dword [esp + 0x34]
lea edi, [ebp + 0x32c58]
mov ecx, ebx
shr ecx, 0xb
add eax, eax
or eax, dword [esp + 0x24]
mov esi, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
lea edi, [edi + esi*2]
movzx esi, word [edi]
shr eax, 2
imul ecx, esi
and eax, 1
mov dword [esp + 0x24], eax
je 0x469835
xor edx, edx
mov eax, esi
add dword [ebp + 0xa0], ecx
adc dword [ebp + 0xa4], edx
sub ebx, ecx
shr eax, 5
mov ecx, ebx
sub esi, eax
cmp ecx, 0xffffff
mov dword [ebp + 0x98], ecx
mov word [edi], si
ja 0x468e88
mov eax, dword [esp + 0x28]
shl ecx, 8
mov dword [ebp + 0x98], ecx
call fcn.00466f60
mov ecx, dword [ebp + 0x98]
mov eax, dword [esp + 0x34]
lea esi, [ebp + 0x32c58]
mov ebx, ecx
shr ebx, 0xb
add eax, eax
or eax, dword [esp + 0x24]
lea edi, [esi + eax*2]
movzx esi, word [edi]
imul ebx, esi
test byte [esp + 0x18], 8
je 0x469824
xor edx, edx
mov eax, esi
add dword [ebp + 0xa0], ebx
adc dword [ebp + 0xa4], edx
sub ecx, ebx
shr eax, 5
mov ebx, ecx
sub esi, eax
cmp ebx, 0xffffff
mov dword [ebp + 0x98], ebx
mov word [edi], si
ja 0x468eed
mov eax, dword [esp + 0x28]
shl ebx, 8
mov dword [ebp + 0x98], ebx
call fcn.00466f60
add dword [ebp + 0x84], 1
mov eax, dword [ebp + 0x3c]
add dword [ebp + 0x80], 1
mov dword [ebp + 0x40], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x3c], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x34], eax
jmp 0x4687cd
cmp esi, 0x1ffff
jbe 0x468503
mov eax, dword [ebp + 0x90]
xor edi, edi
add dword [ebp + 0x78], esi
adc dword [ebp + 0x7c], edi
test eax, eax
jne 0x468887
mov edx, dword [ebp + 0xc8]
mov eax, dword [ebp + 0x2ac]
test edx, edx
je 0x46b8d3
test eax, eax
mov dword [ebp + 0x90], 9
je 0x46b8ed
mov dword [ebp + 0x90], 8
mov eax, 8
mov dword [ebp + 0x6c], 1
jmp 0x468887
cmp dword [esp + 0x18], 2
je 0x46a0e0
movzx ebx, byte [edx + 2]
cmp byte [eax + 1], bl
mov ebx, 2
jne 0x468fb8
mov byte [esp + 0x38], cl
jmp 0x468fac
movzx ecx, byte [edx + ebx]
cmp byte [eax + ebx - 1], cl
jne 0x468fb3
add ebx, 1
cmp ebx, edi
jb 0x468fa2
movzx ecx, byte [esp + 0x38]
cmp ebx, dword [esp + 0x34]
jae 0x46a0b0
cmp ebx, dword [esp + 0x2c]
jbe 0x468586
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], esi
jmp 0x468586
mov eax, 0x800
sub eax, ecx
shr eax, 5
add ecx, eax
mov eax, esi
jmp 0x468a3e
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add edx, ecx
jmp 0x4689c5
mov eax, 0x800
sub eax, esi
shr eax, 5
add esi, eax
jmp 0x468c11
mov edx, 0x800
sub edx, ecx
shr edx, 5
add ecx, edx
jmp 0x468ba3
mov eax, 0x800
sub eax, edi
shr eax, 5
add edi, eax
jmp 0x468b29
mov edx, 0x800
sub edx, ecx
shr edx, 5
add edx, ecx
jmp 0x468ab3
cmp eax, 0x20000
mov edi, eax
sbb eax, eax
and eax, 0xffffffec
cmp edi, 0x20000
sbb ecx, ecx
and ecx, 0xfffffff6
add ecx, 0x10
shr edi, cl
movzx edx, byte [ebp + edi + 0x30740]
lea eax, [eax + edx + 0x20]
mov dword [esp + 0x18], eax
mov ebx, eax
jmp 0x46896f
mov ebx, dword [esp + 0x24]
mov ebx, dword [ebp + ebx*4 + 0x34]
mov dword [esp + 0x34], ebx
xor ebx, ebx
add dword [ebp + 0xa0], edx
adc dword [ebp + 0xa4], ebx
sub eax, edx
mov edx, esi
shr edx, 5
mov dword [ebp + 0x98], eax
sub esi, edx
cmp eax, 0xffffff
mov word [edi + 0x327ac], si
ja 0x4690db
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x98]
mov esi, dword [esp + 0x18]
mov edx, eax
shr edx, 0xb
lea edi, [ebp + esi*2]
movzx esi, word [edi + 0x327c4]
imul edx, esi
cmp dword [esp + 0x24], 1
je 0x469795
xor ebx, ebx
add dword [ebp + 0xa0], edx
adc dword [ebp + 0xa4], ebx
sub eax, edx
mov edx, esi
shr edx, 5
mov dword [ebp + 0x98], eax
sub esi, edx
cmp eax, 0xffffff
mov word [edi + 0x327c4], si
ja 0x469147
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x98]
mov esi, dword [esp + 0x18]
mov edx, eax
shr edx, 0xb
lea edi, [ebp + esi*2]
movzx esi, word [edi + 0x327dc]
imul edx, esi
cmp dword [esp + 0x24], 2
jne 0x4697d1
mov eax, 0x800
mov dword [ebp + 0x98], edx
sub eax, esi
shr eax, 5
add eax, esi
cmp edx, 0xffffff
mov word [edi + 0x327dc], ax
jbe 0x469892
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x3c], eax
mov eax, dword [ebp + 0x34]
cmp dword [esp + 0x20], 1
mov dword [ebp + 0x38], eax
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x34], eax
je 0x4687b4
lea edx, [ebp + 0x30f40]
mov eax, dword [esp + 0x20]
mov dword [esp + 8], edx
mov esi, dword [ebp + 0x64]
xor edx, edx
lea ecx, [eax - 2]
lea eax, [ebp + 0x374c0]
test esi, esi
mov esi, dword [esp + 0x2c]
sete dl
mov dword [esp + 4], edx
mov edx, dword [esp + 0x28]
mov dword [esp], esi
call fcn.00467d70
mov eax, dword [ebp + 0x44]
mov eax, dword [eax*4 + str._b_b_b_b_b_b_b_v_v_v_v_v]
mov dword [ebp + 0x44], eax
jmp 0x4687cd
mov eax, dword [ebp + 0x30]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0
test eax, eax
je 0x469850
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0xdc], eax
mov ebx, dword [ebp + 0x28]
cmp ebx, 1
mov dword [esp + 0x20], ebx
jbe 0x469620
cmp ebx, 0x111
mov eax, 0x111
cmovbe eax, ebx
mov esi, eax
mov eax, dword [ebp]
mov dword [esp], eax
call dword [ebp + 0xc]
movzx ebx, byte [eax - 1]
lea edi, [eax - 1]
mov dword [esp + 0x24], 0
xor ecx, ecx
mov dword [esp + 0x18], edi
lea edi, [esp + 0xf0]
mov byte [esp + 0x38], bl
mov edx, dword [ebp + ecx*4 + 0x34]
movzx ebx, byte [esp + 0x38]
mov dword [esp + ecx*4 + 0xe0], edx
not edx
add edx, dword [esp + 0x18]
cmp bl, byte [edx]
jne 0x46928c
movzx ebx, byte [edx + 1]
cmp byte [eax], bl
je 0x469730
mov dword [edi + ecx*4], 0
add ecx, 1
cmp ecx, 4
jne 0x469266
mov esi, dword [esp + 0x24]
mov edx, dword [ebp + 0x2c]
mov esi, dword [esp + esi*4 + 0xf0]
cmp esi, edx
mov dword [esp + 0x20], esi
jb 0x469981
mov eax, esi
sub eax, 1
jne 0x4685c8
mov eax, dword [ebp + 0x44]
mov esi, dword [esp + 0x30]
and esi, dword [ebp + 0x58]
mov dword [esp + 0x18], eax
shl eax, 4
lea eax, [esi + eax + 0x19308]
mov dword [esp + 0x2c], esi
movzx edx, word [ebp + eax*2 + 4]
jmp 0x46860b
mov edx, dword [ebp + 0x24]
mov ebx, dword [esp + 0x38]
mov ecx, dword [ebx + edx*4 - 4]
cmp esi, ecx
jbe 0x4692f9
cmp eax, edi
jae 0x469330
lea edx, [edi + 1]
cmp eax, edx
je 0x46b869
ja 0x469330
add eax, 1
cmp eax, edi
jb 0x469e5a
cmp edi, 2
je 0x469e5a
mov eax, esi
shr eax, 7
cmp ecx, eax
jae 0x469e5a
mov esi, esi
lea edi, [edi]
mov eax, dword [ebp + 0x44]
mov esi, dword [esp + 0x30]
and esi, dword [ebp + 0x58]
mov dword [esp + 0x18], eax
shl eax, 4
lea eax, [esi + eax + 0x19308]
mov dword [esp + 0x2c], esi
movzx edx, word [ebp + eax*2 + 4]
mov eax, dword [ebp + 0x98]
mov ebx, dword [esp + 0x18]
mov ecx, 0x800
mov edi, dword [esp + 0x2c]
sub ecx, edx
shr ecx, 5
shr eax, 0xb
shl ebx, 4
imul eax, edx
lea ebx, [edi + ebx + 0x19308]
add edx, ecx
cmp eax, 0xffffff
mov dword [ebp + 0x98], eax
mov word [ebp + ebx*2 + 4], dx
ja 0x46939f
shl eax, 8
mov dword [ebp + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
mov eax, dword [ebp]
mov edi, 8
mov dword [esp], eax
call dword [ebp + 0xc]
sub eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x48]
mov edx, dword [esp + 0x30]
and edx, dword [ebp + 0x54]
sub edi, ecx
movzx esi, byte [eax - 1]
movzx ebx, byte [eax]
shl edx, cl
mov ecx, edi
sar esi, cl
add edx, esi
lea edx, [edx + edx*2]
shl edx, 9
add edx, dword [ebp + 0x60]
cmp dword [ebp + 0x44], 6
mov dword [esp + 0x18], edx
ja 0x469ec5
movzx esi, bl
mov ebx, ebp
or esi, 0x100
jmp 0x46942c
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add edx, ecx
cmp eax, 0xffffff
mov dword [ebx + 0x98], eax
mov word [edi], dx
ja 0x46941e
shl eax, 8
mov dword [ebx + 0x98], eax
mov eax, dword [esp + 0x28]
call fcn.00466f60
add esi, esi
cmp esi, 0xffff
ja 0x469f80
mov edi, dword [esp + 0x18]
mov eax, esi
mov ebp, dword [ebx + 0x98]
shr eax, 8
lea edi, [edi + eax*2]
mov eax, ebp
shr eax, 0xb
movzx edx, word [edi]
imul eax, edx
test esi, 0x80
mov dword [esp + 0x20], edx
je 0x4693f0
mov edx, dword [esp + 0x20]
xor ecx, ecx
add dword [ebx + 0xa0], eax
adc dword [ebx + 0xa4], ecx
sub ebp, eax
mov eax, ebp
mov ecx, edx
shr ecx, 5
sub edx, ecx
jmp 0x4693fc
lea edi, [esp + 0xf0]
mov eax, ebp
mov edx, edi
call fcn.00467230
mov dword [esp + 0x20], eax
jmp 0x46852a
cmp ebx, 1
mov esi, ebx
jbe 0x469542
mov ecx, dword [esp + 0xf0]
lea eax, [ecx*4 - 4]
cmp ecx, 2
mov ebx, dword [ebp + eax + 0x31140]
jbe 0x46b547
mov edi, dword [edi + eax - 0xc]
lea edx, [edi + 1]
cmp esi, edx
jne 0x46b547
mov esi, dword [esp + 0x38]
mov edx, ebx
shr edx, 7
mov esi, dword [esi + eax - 8]
cmp edx, esi
jbe 0x46b834
mov ebx, dword [esp + 0x38]
lea edx, [ecx - 2]
sub ecx, 3
and ecx, 0xfffffffe
mov dword [esp + 0x34], ebp
lea eax, [ebx + eax - 0x14]
mov ebx, edx
sub ebx, ecx
mov dword [esp + 0x20], ebx
jmp 0x46951f
mov ecx, dword [eax]
lea ebx, [ecx + 1]
cmp edi, ebx
jne 0x469525
sub eax, 8
mov ebx, dword [eax + 0xc]
mov ebp, esi
shr ebp, 7
cmp ebp, ebx
jbe 0x469525
mov edi, ecx
mov esi, ebx
sub edx, 2
cmp edx, dword [esp + 0x20]
jne 0x469500
mov ebp, dword [esp + 0x34]
mov dword [esp + 0xf0], edx
cmp edi, 2
jne 0x469df0
cmp esi, 0x7f
jbe 0x469df0
cmp dword [esp + 0x2c], 1
jbe 0x469620
mov esi, dword [esp + 0x2c]
lea eax, [esi - 1]
add dword [ebp + 0x30], eax
mov dword [esp + 4], eax
mov eax, dword [ebp]
mov dword [esp], eax
call dword [ebp + 0x14]
mov dword [esp + 0x20], esi
jmp 0x4685d8
cmp eax, dword [esp + 0x84]
jae 0x468874
jmp 0x468503
mov edi, dword [esp + 0x40]
shr esi, 4
mov ebx, dword [ebp + 0x98]
sub edi, 5
jmp 0x46959c
test edi, edi
je 0x468d30
sub edi, 1
mov eax, esi
shr ebx, 1
mov ecx, edi
xor edx, edx
mov dword [ebp + 0x98], ebx
shr eax, cl
and eax, 1
neg eax
and eax, ebx
add dword [ebp + 0xa0], eax
adc dword [ebp + 0xa4], edx
cmp ebx, 0xffffff
ja 0x469594
mov eax, dword [esp + 0x28]
shl ebx, 8
mov dword [ebp + 0x98], ebx
call fcn.00466f60
mov ebx, dword [ebp + 0x98]
jmp 0x469594
xor ebx, ebx
add dword [ebp + 0xa0], eax
adc dword [ebp + 0xa4], ebx
sub edx, eax
mov eax, edx
mov dword [ebp + 0x98], edx
mov edx, esi
shr edx, 5
sub esi, edx
cmp eax, 0xffffff
mov word [edi + 0x327f4], si
ja 0x4691ac
jmp 0x468797
mov eax, dword [ebp + 0x44]
mov edi, dword [esp + 0x30]
and edi, dword [ebp + 0x58]
mov dword [esp + 0x18], eax
shl eax, 4
lea eax, [edi + eax + 0x19308]
mov dword [esp + 0x2c], edi
movzx edx, word [ebp + eax*2 + 4]
jmp 0x469351
movzx eax, word [ebp + 0x32c5a]
lea edi, [ebp + 0x30f40]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], eax
lea eax, [ebp + 0x32c58]
mov dword [esp + 0x18], eax
nop
mov edx, ebx
mov ecx, dword [esp + 0x18]
mov eax, ebx
and edx, 1
shr eax, 1
mov esi, edx
and eax, 1
neg edx
or esi, 2
mov ebp, eax
and edx, 0x7ff
movzx ecx, word [ecx + esi*2]
xor edx, dword [esp + 0x24]
neg ebp
and ebp, 0x7ff
add esi, esi
or eax, esi
mov esi, dword [esp + 0x18]
xor ecx, ebp
sar edx, 4
sar ecx, 4
mov edx, dword [edi + edx*4]
movzx esi, word [esi + eax*2]
add edx, dword [edi + ecx*4]
add eax, eax
mov ecx, edx
mov edx, ebx
shr edx, 2
and edx, 1
mov ebp, edx
or eax, edx
mov edx, ebx
neg ebp
shr edx, 3
and ebp, 0x7ff
neg edx
xor esi, ebp
and edx, 0x7ff
sar esi, 4
add ecx, dword [edi + esi*4]
mov esi, dword [esp + 0x18]
movzx eax, word [esi + eax*2]
xor eax, edx
sar eax, 4
add ecx, dword [edi + eax*4]
mov eax, dword [esp + 0x20]
mov dword [eax + ebx*4 + 0x325d4], ecx
add ebx, 1
cmp ebx, 0x10
jne 0x469670
mov ebp, eax
mov dword [eax + 0x84], 0
jmp 0x468806
mov eax, ebp
call fcn.004672f0
jmp 0x4687f9
cmp dword [esp + 0x20], 2
mov dword [esp + 0x2c], 2
je 0x46b532
movzx ebx, byte [edx + 2]
cmp byte [eax + 1], bl
jne 0x46b532
mov ebx, 2
mov dword [esp + 0x34], ecx
jmp 0x46976a
movzx ecx, byte [edx + ebx]
cmp byte [eax + ebx - 1], cl
jne 0x469771
add ebx, 1
cmp esi, ebx
ja 0x469760
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], ebx
mov edx, ebx
mov ebx, dword [esp + 0x24]
mov dword [edi + ecx*4], edx
cmp dword [esp + ebx*4 + 0xf0], edx
cmovb ebx, ecx
mov dword [esp + 0x24], ebx
jmp 0x469293
mov eax, 0x800
mov dword [ebp + 0x98], edx
sub eax, esi
shr eax, 5
add eax, esi
cmp edx, 0xffffff
mov word [edi + 0x327c4], ax
ja 0x469194
mov eax, dword [esp + 0x28]
shl edx, 8
mov dword [ebp + 0x98], edx
call fcn.00466f60
jmp 0x469194
mov ecx, edx
xor ebx, ebx
add ecx, dword [ebp + 0xa0]
adc ebx, dword [ebp + 0xa4]
sub eax, edx
mov edx, eax
mov eax, esi
shr eax, 5
mov dword [ebp + 0x98], edx
sub esi, eax
cmp edx, 0xffffff
mov dword [ebp + 0xa0], ecx
mov dword [ebp + 0xa4], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov word [edi + 0x327dc], si
jbe 0x4698a6
mov eax, dword [ebp + 0x3c]
mov dword [ebp + 0x40], eax
jmp 0x46918e
mov eax, 0x800
sub eax, esi
shr eax, 5
add esi, eax
jmp 0x468eca
mov eax, 0x800
sub eax, esi
shr eax, 5
add esi, eax
jmp 0x468e5f
lea eax, [esp + 0xdc]
mov edx, eax
mov eax, ebp
call fcn.00467230
mov dword [esp + 0x3c], eax
jmp 0x46921d
mov eax, 0x800
sub eax, esi
shr eax, 5
add esi, eax
jmp 0x468de5
mov eax, 0x800
sub eax, esi
shr eax, 5
add esi, eax
jmp 0x468d6f
mov esi, dword [ebp + 0xa0]
mov edi, dword [ebp + 0xa4]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x18]
shl edx, 8
mov dword [ebp + 0x98], edx
mov edx, dword [esp + 0x1c]
cmp eax, 0xfeffffff
mov ecx, eax
ja 0x469ff0
movzx ecx, byte [ebp + 0x9c]
mov ebx, dword [ebp + 0xb0]
jmp 0x469914
mov eax, dword [ebp + 0xa8]
mov edx, dword [ebp + 0xac]
mov ecx, 0xffffffff
mov edi, dword [ebp + 0xa4]
mov esi, dword [ebp + 0xa0]
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp + 0x1c], edi
mov dword [ebp + 0xa8], eax
mov edi, edx
mov dword [ebp + 0xac], edx
mov dword [esp + 0x18], esi
or edi, eax
je 0x46a024
mov eax, dword [esp + 0x1c]
lea edx, [ebx + 1]
add ecx, eax
mov byte [ebx], cl
cmp edx, dword [ebp + 0xb4]
mov ebx, edx
mov dword [ebp + 0xb0], edx
jne 0x4698d3
mov edi, dword [ebp + 0xc8]
test edi, edi
jne 0x4698d3
mov edx, dword [ebp + 0xb8]
mov eax, dword [ebp + 0xbc]
sub ebx, edx
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], ebx
call dword [eax]
cmp ebx, eax
je 0x469962
mov dword [ebp + 0xc8], 9
xor edx, edx
add dword [ebp + 0xc0], ebx
mov ebx, dword [ebp + 0xb8]
adc dword [ebp + 0xc4], edx
mov dword [ebp + 0xb0], ebx
jmp 0x4698d3
mov esi, dword [esp + 0x3c]
lea ebx, [ebp + 0x31140]
mov dword [esp + 0x24], ebx
cmp edx, esi
jbe 0x469fa4
mov esi, dword [esp + 0xe0]
cmp dword [esp + 0x3c], 1
mov edx, esi
mov dword [esp + 0x58], esi
mov esi, dword [ebp + 0x44]
not edx
movzx ebx, byte [eax + edx - 1]
setbe dl
cmp byte [esp + 0x38], bl
mov dword [esp + 0x18], esi
mov byte [esp + 0x40], bl
setne cl
and ecx, edx
cmp dword [esp + 0x20], 1
mov edx, dword [esp + 0x30]
setbe bl
and edx, dword [ebp + 0x58]
mov dword [esp + 0x2c], edx
mov edx, esi
shl edx, 4
add edx, dword [esp + 0x2c]
test cl, bl
lea edx, [ebp + edx*2]
mov dword [esp + 0x54], edx
movzx edx, word [edx + 0x32614]
jne 0x469351
mov dword [ebp + 0x744], esi
mov ebx, dword [esp + 0x30]
mov esi, dword [ebp + 0x48]
and ebx, dword [ebp + 0x54]
movzx eax, byte [eax - 2]
mov ecx, esi
shl ebx, cl
mov ecx, 8
sub ecx, esi
xor esi, esi
sar eax, cl
add ebx, eax
lea eax, [ebx + ebx*2]
mov ebx, edx
shr bx, 4
shl eax, 9
add eax, dword [ebp + 0x60]
mov word [esp + 0x50], bx
mov dword [esp + 0x44], eax
invalid
invalid