Function at 0x629966
Capabilities:
Encode data using xor

Disassembly:
add ecx, 4
jmp 0x629d32
add ecx, eax
jmp 0x629b5d
push ebp
jmp 0x629ace
push ebp
push eax
mov eax, 0x16bf290b
mov ebp, eax
jmp 0x6296d9
mov ecx, 0x5fcb2807
jmp 0x6297e8
pop esi
mov edx, ecx
mov ecx, dword [esp]
push edi
mov edi, esp
add edi, 4
push ecx
mov ecx, 0x6d99834b
shr ecx, 2
jmp 0x629eed
mov dword [esp], eax
mov dword [esp], edi
mov edi, 0x345b0f49
sub edi, 0xb45fd369
add ebx, edi
pop edi
push dword [esp]
pop eax
add esp, 4
jmp 0x629fba
push ebp
mov ebp, 4
jmp 0x6297ab
pop edi
push edi
jmp 0x629f6b
mov ebx, 0x277b6d7d
add ebx, 0xd8849287
add eax, 0x5b97fa12
add eax, ebx
push esi
jmp 0x629c43
pop ecx
add edi, 0xbaa13cec
mov ecx, 0x32d2d7f5
add ecx, edi
jmp 0x6295b6
xchg dword [esp], eax
pop esp
jmp 0x629cab
neg ecx
sub ecx, 0x2667cb7c
jmp 0x6299a2
sub ebx, 0x6fe7430c
sub ebx, 0x73ff1b80
push dword [esp]
pop ebp
jmp 0x6294e4
mov ebp, 0x534adf14
sub esi, ebp
pop ebp
sub ecx, 0x7d9bdd67
sub ecx, 0x5e5f8d17
jmp 0x629525
mov edx, esi
pop esi
push ecx
mov ecx, 0x7fdfcb16
neg ecx
add ecx, 0xffffffff
jmp 0x62967d
xor dword [esp], edi
xor edi, dword [esp]
pop esp
add edx, 0x5f967f7e
neg edx
and edx, 0x57ba5b30
push edx
neg dword [esp]
pop edx
push edx
push edi
mov edx, dword [esp]
add esp, 4
pop edi
jmp 0x629bb6
mov ebx, 4
jmp 0x629b0a
add esp, 4
push ecx
push eax
jmp 0x629c63
add esp, 4
jmp 0x629a42
push edx
mov edx, 0x69ee873a
dec edx
add edx, 0x6c551877
shr edx, 8
xor edx, 0x77dfda12
and edx, 0x23ef4bb8
add edx, 0x39d23b73
add esi, edx
pop edx
push ebp
jmp 0x6293d4
mov dword [esp], ebx
push edx
mov edx, 0x743eb5fd
jmp 0x6296b4
sub ecx, esi
add ecx, 0x5e5f8d17
add ecx, 0x7d9bdd67
pop esi
shr ecx, 4
push ebx
mov ebx, 0x37dbef0b
xor ecx, ebx
pop ebx
add edi, 0x6bff08a8
add edi, ecx
jmp 0x6299b4
neg esi
shr esi, 5
add esi, 0xffffffff
dec esi
not esi
add esi, 0x72f18e21
xor edi, esi
pop esi
inc edi
neg edi
push ecx
jmp 0x629d03
pop edi
sub ecx, ebx
mov ebx, dword [esp]
add esp, 4
sub esi, 0x4dff0d34
add esi, 0x5d777977
add esi, ecx
sub esi, 0x5d777977
add esi, 0x4dff0d34
mov ecx, dword [esp]
push ecx
push esp
pop ecx
push eax
mov eax, 0x776a5d80
add eax, 0x4bdd3938
inc eax
xor eax, 0xc34796bd
jmp 0x6292f1
xor ebx, 0x5ce1a83e
sub ebx, 0xaa40fe99
sub edi, ebx
mov ebx, dword [esp]
add esp, 4
sub edi, 0x2bd7dc17
add edi, edx
add edi, 0x2bd7dc17
add edi, 0x75f90b76
push esi
mov dword [esp], ebx
push edi
mov edi, 0x78e22ab6
mov ebx, 0xf3bdad2c
sub ebx, edi
mov edi, dword [esp]
add esp, 4
dec ebx
push eax
mov eax, 0x61257bc6
jmp 0x629e6e
dec ecx
jmp 0x6297d2
add edi, 0x79ffc013
pop eax
push dword [esp]
mov eax, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
jmp 0x6292e6
shr ecx, 7
push ecx
not dword [esp]
pop ecx
jmp 0x6297f8
or edx, 0x79774a57
sub edx, 0x2bf3ed12
or edx, 0x3dfd2b0b
shr edx, 3
add edx, 0xad9a406
mov ebx, edx
pop edx
xor ecx, ebx
jmp 0x6297ca
pop eax
sub ecx, ebp
jmp 0x629c5b
mov esi, 0x6fd74fa0
jmp 0x6293ed
pop esp
push 0xb834198
mov dword [esp], eax
mov eax, 0x3bfd80f9
jmp 0x629db9
push edx
push 0x5ff72047
mov edx, dword [esp]
add esp, 4
jmp 0x629e32
pop esp
push edx
mov edx, 0xffffffff
sub edi, 0x1bfef9b3
push ebx
jmp 0x62974a
or dword [esp], 0x7d15d612
xor dword [esp], 0x6d17eb09
mov dword [esp], eax
push ecx
jmp 0x629f90
add ebx, 0x73ff1b80
push edx
mov edx, 0x6fe7430c
add ebx, edx
push dword [esp]
pop edx
add esp, 4
add ebx, ebp
jmp 0x6293bf
pop ebx
xor esi, ecx
jmp 0x62990b
sub ecx, 0xa9f17ba4
sub edx, ecx
jmp 0x6297df
pop ecx
xor edi, edx
pop edx
jmp 0x6292fe
sub ecx, 0xe4eda312
xor eax, ecx
pop ecx
add ebp, eax
jmp 0x629818
add ecx, 0x5bb09c30
add eax, 0x7af6b141
sub eax, ecx
jmp 0x629dab
add esp, 4
add esp, 4
jmp 0x6299d4
pop eax
add ebp, 4
xor ebp, dword [esp]
jmp 0x629ae6
not ecx
shr ecx, 8
sub ecx, 0x77fd7c08
push 0x572ad803
mov dword [esp], edi
mov edi, 0x6fef4a00
jmp 0x6298f0
sub edi, eax
add edi, 0x7bfb3b54
push eax
mov eax, 0x6d2ca11c
inc eax
xor eax, 0x10d1cfb8
sub edi, 0x79ffc013
sub edi, eax
jmp 0x629683
pop ebx
jmp 0x62936c
pop ebx
not ecx
sub ecx, 0x546523b5
sub edi, ecx
jmp 0x629396
shr edi, 8
sub edi, 0x7f723b73
push edx
mov edx, 0x5efc4568
dec edx
xor edx, 0x210b72aa
jmp 0x629a06
mov ecx, dword [esp]
jmp 0x6294a7
and edx, 0x17bdc3a1
sub edx, 0x4fbf0ec9
jmp 0x629f44
push ebp
mov ebp, esp
push ebx
mov dword [esp], eax
mov eax, 0x7add84f1
push 0xdfb17b9
mov dword [esp], ecx
jmp 0x629314
push esi
mov dword [esp], 0x77e55c7f
jmp 0x6299e6
xor eax, edi
jmp 0x629377
add edi, ecx
pop ecx
jmp 0x629a3a
sub edi, 0x6bff08a8
mov ecx, dword [esp]
add esp, 4
xor edi, 0x69ffd620
sub edi, 0x48323929
jmp 0x629bfb
push 0xd0b546
mov dword [esp], ecx
mov ecx, 0x7a2f747f
jmp 0x629824
shl dword [esp], 3
and dword [esp], 0x533ffb81
inc dword [esp]
shl dword [esp], 8
neg dword [esp]
jmp 0x629a16
push ebx
jmp 0x62946c
inc edx
add edx, 0xe5de4e60
add edi, edx
pop edx
push edx
jmp 0x629cde
xor dword [esp], 0xbba9cf87
or dword [esp], 0x7ce67c51
not dword [esp]
dec dword [esp]
shl dword [esp], 7
and dword [esp], 0x5aefefde
jmp 0x629d0f
xor edi, dword [esp]
jmp 0x629400
add ebx, 4
xor ebx, dword [esp]
xor dword [esp], ebx
jmp 0x629ce4
push 0x4a8ff6ec
jmp 0x629d2a
pop eax
jmp 0x629d72
mov ebp, 0x7dfd6ea5
add edi, ebp
mov ebp, dword [esp]
add esp, 4
sub edi, 0x7bfb3b54
jmp 0x629841
xor dword [esp], ebp
jmp 0x629ccf
add ecx, 0x16bf290b
mov edi, dword [esp]
add esp, 4
push ebx
mov dword [esp], 0x390b15d1
jmp 0x629517
add edx, ebx
pop ebx
add edx, 4
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
mov esp, dword [esp]
jmp 0x629bf1
shl eax, 3
push 0x7cefbb04
mov dword [esp], edi
mov edi, 0x7ef75296
add edi, 0x7bff3e92
add edi, 0xe4b132f8
jmp 0x62998c
pop eax
add ecx, 4
xchg dword [esp], ecx
pop esp
push ebx
mov dword [esp], 0x7f91084d
mov dword [esp], ebx
push 0x108e69
mov dword [esp], esi
jmp 0x629c1a
sub edi, 1
push edx
push edi
pop edx
pop edi
xor edx, 0x3820a20
push ebp
push edx
mov edx, 0x6fefbeb2
sub esp, 4
mov dword [esp], edx
xor dword [esp], 0x76df7bea
pop ebp
jmp 0x629ef5
push 0x660a965e
jmp 0x629c53
add edx, edi
mov edi, dword [esp]
add esp, 4
mov eax, edx
pop edx
sub esp, 4
mov dword [esp], eax
push edx
push 0x7fbb0ae0
jmp 0x629cc9
pop ebx
push 0x3745c900
mov dword [esp], ecx
mov dword [esp], 0x68187b0f
jmp 0x629ca3
mov dword [esp], ecx
push ebx
mov ebx, 0x33eeac46
mov ecx, ebx
jmp 0x629d1e
mov dword [esp], edi
jmp 0x629c8b
pop ebp
add ecx, edi
jmp 0x629aee
mov eax, esp
add eax, 4
sub eax, 4
jmp 0x6293a9
sub esp, 4
mov dword [esp], ecx
mov ecx, 0xffffffff
sub dword [esp + 4], 0x74ffc6d0
jmp 0x629e08
mov dword [esp], ebx
jmp 0x629cf4
mov dword [esp], ebx
mov ebx, 0x67f54122
sub esp, 4
mov dword [esp], edi
mov edi, 0x7fb56f9f
push esi
mov esi, 0x7dbd8694
jmp 0x62954d
pop edx
jmp 0x629913
xor ebp, dword [esp]
pop esp
push dword [esp]
mov edx, dword [esp]
jmp 0x62980a
push esi
jmp 0x62972d
xor ebx, dword [esp]
jmp 0x629781
mov eax, dword [esp]
jmp 0x629d4c
push eax
mov eax, 0x4dfd9066
xor dword [esp + 4], eax
jmp 0x629cec
mov ecx, 0xe237dca
neg ecx
jmp 0x629d3e
sub dword [esp], 0x8af8522d
push dword [esp]
jmp 0x629ac8
pop ebx
xor ecx, 0x3fbfa2f1
jmp 0x6296a7
mov dword [esp], ebx
jmp 0x62937e
xchg dword [esp], ecx
pop esp
push edx
mov edx, esp
jmp 0x629a00
dec ecx
push ebx
mov ebx, 0x7afea745
add ecx, ebx
jmp 0x629881
add esp, 4
jmp 0x629d57
pop dword [eax + edi]
xor dword [eax + edi], 0x4dfd9066
push dword [esp]
mov ebx, dword [esp]
add esp, 4
jmp 0x629d7a
push eax
mov eax, esp
jmp 0x629a53
push ebx
push esp
mov ebx, dword [esp]
add esp, 4
add ebx, 4
add ebx, 4
push 0x4812bd7
mov dword [esp], ebx
push dword [esp + 4]
mov ebx, dword [esp]
add esp, 4
pop dword [esp]
jmp 0x629737
sub eax, 0x7af6b141
pop ecx
mov ebx, dword [esp]
jmp 0x629dd2
push eax
mov dword [esp], ebx
mov dword [esp], edi
mov edi, 0x77e5ace7
xor eax, edi
pop edi
sub eax, 0x4c182c1d
jmp 0x6292f8
push edi
push esp
pop edi
add edi, 4
push esi
mov esi, 4
add edi, esi
pop esi
xchg dword [esp], edi
pop esp
add eax, 4
jmp 0x629df0
xchg dword [esp], eax
mov esp, dword [esp]
push 0xec5d9f
mov dword [esp], edx
push 0x7f9d2117
jmp 0x629e3f
add dword [esp + 4], 0x3ecf9e35
add dword [esp + 4], ecx
push ebx
mov ebx, 0x3ecf9e35
sub dword [esp + 8], ebx
pop ebx
add dword [esp + 4], 0x74ffc6d0
pop ecx
mov edi, dword [esp]
push ebx
push esp
jmp 0x62986a
neg edx
sub edx, 1
jmp 0x629e64
push dword [esp]
pop edx
add esp, 4
push edi
push edi
mov dword [esp], 0x7f76e197
pop edi
push ecx
push edi
mov edi, 0x6fa7ee47
mov ecx, 0xcf0155e6
jmp 0x629f22
push 0x7fdf48f2
jmp 0x629e91
xor ebx, eax
mov eax, dword [esp]
add esp, 4
add edi, ebx
pop ebx
mov edx, dword [esp]
add esp, 4
push edx
push ecx
mov ecx, 0x6f1d474b
jmp 0x629ebc
mov dword [esp], esi
mov esi, 0x232d3d87
add edx, 0x7fd9b480
jmp 0x629ea4
sub edx, esi
sub edx, 0x7fd9b480
pop esi
mov ebx, edx
pop edx
jmp 0x6295f8
add edi, edx
jmp 0x629f09
shl ecx, 7
and ecx, 0x6f39c1c7
xchg ecx, edi
not edi
jmp 0x629ece
xchg ecx, edi
push esi
jmp 0x629ed6
mov esi, 0x57254b05
add esi, 0x1dd761a2
jmp 0x629ee6
sub ecx, esi
jmp 0x62931e
shl ecx, 6
jmp 0x6293b2
xor ebp, 0x76df7bea
pop edx
jmp 0x629f01
add edi, ebp
pop ebp
jmp 0x629eb5
sub edi, 0x6fefbeb2
pop edx
cmp edi, 0xffffa7a4
jne 0x629341
sti
jmp 0x62997f
sub ecx, edi
pop edi
jmp 0x629f2a
not ecx
add ecx, 0x3efa0e4a
push esi
mov esi, 0x55ff7078
sub esi, 1
inc esi
add esi, 1
jmp 0x6294ec
push ebx
mov ebx, 0x2f7fa59e
jmp 0x629f4f
not ebx
sub ebx, 0x5888e2e9
add edx, ebx
pop ebx
xor edx, 0x1e2be6
mov eax, edx
pop edx
shl eax, 5
jmp 0x629b24
mov dword [esp], 0x4ff77600
and dword [esp], 0x76d774cf
xor dword [esp], 0x755b5585
push edx
mov edx, 0x7dee3721
xor dword [esp + 4], edx
pop edx
jmp 0x629794
mov ecx, 0x7ffb3be0
sub dword [esp + 4], ecx
mov ecx, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
jmp 0x629fb0
rol dword [eax + eax], 0
add byte [ebx + 0xc8704c1], al
and al, 0xe9
add byte [eax], al
add byte [eax], al
pop esp
pop ebx
sub esp, 4
jmp 0x62934c
leave
rol byte [edx + 0x71], 1
mov ah, dl
rep movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
mov ah, 0x5a
cmp eax, 0xc2d1b4a6
xor eax, 0xbbc15bf7
loop 0x629fa0
scasd eax, dword es:[edi]
xor ebp, dword [edi - 0x33513d2f]
pop ebx
in al, dx
stosb byte es:[edi], al
mov ch, 0x47
jl 0x629fc1
sub eax, 0xc99cdec5
jo 0x629fbb