Function at 0x1007b930
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [ebp + 8]
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1009a680
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, esp
mov dword [eax], 0
lea ecx, [ebp - 0x20]
call fcn.100bb00d
sub esp, 4
mov eax, dword [0x10295e08]
mov dword [ebp - 0x24], eax
mov ecx, 0x10295dfc
call fcn.1003f060
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x10], 0
mov eax, esp
mov dword [eax], edx
call fcn.1003f4f0
sub esp, 4
mov dword [ebp - 0x38], eax
jmp 0x1007b9ab
mov edx, dword [0x102875bc]
imul edx, dword [0x102875c0]
mov ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0x55bcf57e
and edx, 0xaa430a81
or eax, edx
xor eax, 0x7bfca7f0
or ecx, 0xd1bfad71
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xf349e23e
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x6ce99135
and ecx, 0x93166eca
or eax, ecx
cmp eax, 0x1cec2256
jb 0x1007be26
mov ecx, dword [ebp - 0x38]
mov eax, dword [0x102875c4]
mov esi, dword [0x102875c8]
mov edx, eax
and edx, esi
shl edx, 1
xor eax, esi
add eax, edx
mov edx, eax
xor edx, 0x9928464a
and eax, 0x66d7b9b5
shl eax, 1
sub eax, edx
mov esi, 0xe2e684df
xor edx, edx
div esi
mov esi, eax
and esi, 0x7bbbe6db
mov edx, eax
or edx, 0x7bbbe6db
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, 0x84441924
or eax, 0x84441924
imul eax, esi
add eax, edx
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0
setne cl
mov byte [ebp - 0x39], cl
cmp eax, 0x5a9b77d8
jae 0x1007ba04
mov al, byte [ebp - 0x39]
test al, 1
jne 0x1007bd88
jmp 0x1007ba86
mov eax, dword [0x102875d4]
xor eax, dword [0x102875d8]
sub eax, 0xe0eb2d1d
add eax, 0xebbbad22
sub eax, 0xec285b6c
sub eax, 0xebbbad22
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x84b4e61c
add eax, ecx
cmp dword [ebp - 0x24], 0
setne cl
mov byte [ebp - 0x3a], cl
cmp eax, 0xd6a710ed
jae 0x1007be31
mov al, byte [ebp - 0x3a]
test al, 1
jne 0x1007bad9
jmp 0x1007bb2f
mov eax, dword [0x102875dc]
xor edx, edx
div dword [0x102875e0]
mov ecx, 0xa1af6d86
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x928e5be2
xor ecx, 0xffffffff
and ecx, 0x928e5be2
shl ecx, 1
sub ecx, 0x928e5be2
sub eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x681cb9c7
add eax, ecx
cmp eax, 0xb80a5530
jae 0x1007be36
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
jmp 0x1007bcac
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp + 8]
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x24]
mov dword [eax], ecx
call fcn.1007c000
mov dword [ebp - 0x40], eax
jmp 0x1007bb50
mov ecx, dword [ebp - 0x40]
mov esi, dword [str.hdl]
or esi, dword [0x10287608]
xor esi, 0x41efdf4b
or esi, 0x20f327c5
mov edx, esi
xor edx, 0xffffffff
mov eax, edx
and eax, 0xc29696ec
and esi, 0x3d696913
or eax, esi
xor eax, 0x14d7ca3e
or edx, 0x29bea32d
xor edx, 0xffffffff
or eax, edx
cmp ecx, 0xffffffff
sete cl
mov byte [ebp - 0x41], cl
cmp eax, 0x15bb4971
jbe 0x1007be41
mov al, byte [ebp - 0x41]
test al, 1
jne 0x1007bbb3
jmp 0x1007bc02
mov eax, dword [0x10287614]
mov edx, dword [0x10287618]
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x5c640f4b
xor edx, edx
div ecx
xor eax, 0xffffffff
and eax, 0x65e2ca2f
xor eax, 0xffffffff
add eax, 0x8384212d
cmp eax, 0x977fe4a9
ja 0x1007be46
mov dword [ebp - 0x10], 0
call fcn.100400c0
jmp 0x1007bc02
mov eax, dword [0x10287624]
xor edx, edx
div dword [0x10287628]
mov ecx, eax
sub ecx, 0x7abef141
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0x8f86ce81
xor ecx, 0xffffffff
or ecx, 0x8f86ce81
xor ecx, 0xffffffff
or eax, ecx
or eax, 0x653a8533
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x34]
mov dword [esp], eax
call fcn.10040190
sub esp, 4
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x48], ecx
cmp eax, 0xcf4ddfa9
jae 0x1007bc02
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x10], 1
mov eax, esp
mov dword [eax], ecx
call fcn.100bb1eb
jmp 0x1007bc81
mov ecx, dword [ebp - 0x30]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x24]
mov dword [0x10295e08], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x34]
call fcn.100401e0
lea ecx, [ebp - 0x34]
call fcn.10040230
jmp 0x1007bcac
mov ecx, dword [0x1028762c]
sub ecx, dword [0x10287630]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x5b77bfc2
xor eax, 0xffffffff
and ecx, 0xa488403d
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
and ecx, 0x868782c8
shl ecx, 1
xor eax, 0x868782c8
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe08d0328
mov ecx, eax
and ecx, 0x1f72fcd7
imul ecx, edx
mov edx, eax
and edx, 0xe08d0328
or eax, 0xe08d0328
imul eax, edx
add eax, ecx
cmp eax, 0x59b8553a
jbe 0x1007be4b
mov eax, dword [0x10287634]
mov esi, dword [0x10287638]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, esi
and edx, ecx
mov edi, esi
xor edi, 0xffffffff
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, esi
or eax, esi
imul eax, edx
add eax, ecx
mov ecx, 0xd0ace12a
xor edx, edx
div ecx
sub eax, 0xaf1a6fea
mov edx, eax
xor edx, 0xffffffff
and edx, 0x5576b2d9
mov ecx, eax
and ecx, 0xaa894d26
imul ecx, edx
mov edx, eax
and edx, 0x5576b2d9
or eax, 0x5576b2d9
imul eax, edx
add eax, ecx
cmp eax, 0x75c6406f
jbe 0x1007bd17
jmp 0x1007bd88
mov eax, dword [0x1028763c]
mov edx, dword [0x10287640]
xor edx, 0xffffffff
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xab38142d
xor ecx, 0xffffffff
and ecx, 0xab38142d
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0x9efe155c
and eax, 0xe49dbfaa
cmp eax, 0xa1e61384
jbe 0x1007be50
mov ecx, dword [0x10287644]
add ecx, dword [0x10287648]
add ecx, 0x9871a08f
mov eax, ecx
and eax, 0x8c73af0a
or ecx, 0x8c73af0a
add eax, ecx
xor eax, 0x1d5baec9
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x20]
call fcn.100bb03e
mov eax, dword [ebp - 0x50]
cmp eax, 0xa1814ecf
je 0x1007bdcc
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
jmp 0x1007ba04
jmp 0x1007ba86
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
jmp 0x1007bb24
jmp 0x1007bb50
jmp 0x1007bbb3
jmp 0x1007bd17
lea ecx, [ebp - 0x20]
call fcn.100bb03e
jmp 0x1007bdcc