Function at 0x100a1900
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x6c
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x28], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0x24], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x20], eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100b4cb0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x1028d890]
add eax, dword [0x1028d894]
mov ecx, 0x156185f3
xor edx, edx
div ecx
imul ecx, eax, 0xd9808156
mov eax, ecx
and eax, 0x9cad0e60
xor ecx, 0x9cad0e60
or eax, ecx
cmp eax, 0x13e20e0d
jbe 0x100a1e93
push eax
mov esi, esp
push eax
mov edx, esp
mov eax, edx
mov dword [ebp - 0x64], eax
push eax
mov ecx, esp
mov eax, ecx
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
sub esp, 0x20
mov edi, esp
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x5c], edi
push eax
mov edi, esp
mov dword [ebp - 0x58], edi
sub esp, 8
mov edi, esp
mov ebx, edi
mov dword [ebp - 0x54], ebx
push eax
mov ebx, esp
mov dword [ebp - 0x50], ebx
push eax
mov ebx, esp
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x38]
mov dword [esi], ebx
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x30]
mov dword [edx], esi
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2c]
mov dword [ecx], edx
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x28]
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax], edx
sub esp, 8
mov eax, esp
mov dword [eax + 4], esi
mov dword [eax], ecx
call fcn.1005d720
mov eax, dword [ebp - 0x48]
add esp, 8
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], edi
call fcn.1003ed50
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x10], 0
sub esp, 0x14
mov eax, esp
mov dword [eax + 0x10], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 0xc], 0x800
call fcn.100a5dd0
add esp, 0x14
mov word [ebp - 0x3e], ax
jmp 0x100a1a4a
mov edx, dword [0x1028d8a0]
add edx, dword [0x1028d8a4]
mov ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0x84aac14b
and edx, 0x7b553eb4
or eax, edx
xor eax, 0xe09fe982
or ecx, 0x9bcad736
xor ecx, 0xffffffff
or eax, ecx
imul eax, eax, 0x32cc84f8
sub eax, 0x6aac0e29
cmp eax, 0x37408acf
jb 0x100a1ef9
mov ecx, dword [ebp - 0x54]
mov eax, dword [0x1028d8a8]
mov edx, dword [str.L__]
xor edx, 0xffffffff
add eax, edx
add eax, 1
mov esi, 0x8dd82d8d
xor edx, edx
div esi
mov dx, word [ebp - 0x3e]
mov edi, eax
mov eax, dword [ebp - 0x58]
mov esi, edi
and esi, 0x1c4a6405
xor edi, 0xffffffff
or edi, 0xe3b59bfa
xor edi, 0xffffffff
or esi, edi
mov ebx, esi
and ebx, 0x2642b2f7
mov edi, esi
or edi, 0x2642b2f7
xor edi, 0xffffffff
imul edi, ebx
mov ebx, esi
and ebx, 0xd9bd4d08
or esi, 0xd9bd4d08
imul esi, ebx
add esi, edi
mov dword [ebp - 0x6c], esi
mov word [eax], dx
call fcn.100284c0
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
movsx ecx, byte [ecx]
cmp ecx, 0
setl cl
mov byte [ebp - 0x65], cl
cmp eax, 0x792b4cdf
jb 0x100a1a90
mov al, byte [ebp - 0x65]
test al, 1
jne 0x100a1b2f
jmp 0x100a1b4a
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov dword [ecx], 2
mov eax, dword [eax]
mov dword [eax], 0
jmp 0x100a1da4
mov edx, dword [0x1028d8c0]
mov ecx, dword [0x1028d8c4]
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xc86617e5
mov ecx, eax
and ecx, 0x3799e81a
imul ecx, edx
mov edx, eax
and edx, 0xc86617e5
or eax, 0xc86617e5
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xa9aafd21
xor eax, 0xa9aafd21
or ecx, eax
mov eax, ecx
xor eax, 0x74adea9f
and eax, ecx
cmp eax, 0x27178ec2
je 0x100a1f10
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x58]
movsx ecx, byte [ecx]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.100bbcc8
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x5c]
add esp, 0x10
mov esi, eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [edx]
mov dword [edx], esi
cmp dword [eax], ecx
je 0x100a1c8a
mov eax, dword [0x1028d8d0]
mov esi, dword [0x1028d8d4]
mov edi, esi
xor edi, 0xffffffff
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, esi
or eax, esi
imul eax, edx
add eax, ecx
add eax, 0x86f9a993
mov ecx, 0xfd066d51
xor edx, edx
div ecx
sub eax, 0x34bfc2d9
cmp eax, 0x34729c8f
jbe 0x100a1f47
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x1028d8d8]
xor edx, edx
div dword [0x1028d8dc]
mov edx, eax
xor edx, 0x858b86ad
and eax, 0x7a747952
shl eax, 1
sub eax, edx
mov esi, 0x1209ddc0
xor edx, edx
div esi
sub eax, 0x2c885339
cmp dword [ecx], 0
setne cl
mov byte [ebp - 0x6d], cl
cmp eax, 0x6cbeacfa
jb 0x100a1c37
mov al, byte [ebp - 0x6d]
test al, 1
jne 0x100a1c8a
jmp 0x100a1ca0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx]
mov dword [ecx], 2
mov eax, dword [eax]
mov dword [eax], 0
mov eax, dword [0x1028d8e0]
mov ecx, dword [0x1028d8e4]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xa4e0c3ad
and eax, 0x5b1f3c52
shl eax, 1
sub eax, ecx
add eax, 0xaa2f70e8
add eax, 0xa31372c1
sub eax, 0xaa2f70e8
and eax, 0xeee796d7
cmp eax, 0xfd91113
jbe 0x100a1f4c
mov ecx, dword [ebp - 0x58]
mov eax, dword [0x1028d8e8]
xor edx, edx
div dword [str.K_]
sub eax, 0x8253fc98
mov edx, eax
xor edx, 0xffffffff
and edx, 0x31d8cf0f
and eax, 0xce2730f0
sub eax, edx
mov edx, eax
xor edx, 0x3cda58fa
and eax, 0xc325a705
shl eax, 1
sub eax, edx
mov cl, byte [ecx + 1]
mov byte [ebp - 0x6e], cl
cmp eax, 0xaaa18eaf
ja 0x100a1ce6
mov al, byte [ebp - 0x6e]
test al, 1
jne 0x100a1d3f
jmp 0x100a1d9f
mov eax, dword [0x1028d8f0]
xor ecx, ecx
sub ecx, dword [0x1028d8f4]
add eax, ecx
mov ecx, 0xe13d4284
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0x5b7bd921
xor eax, 0xffffffff
and eax, 0x5b7bd921
shl eax, 1
sub eax, 0x5b7bd921
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
or eax, 0x1907be0d
xor ecx, 0xffffffff
or ecx, 0x1907be0d
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x319e3e4e
jb 0x100a1f51
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [eax], 2
jmp 0x100a1da4
mov eax, dword [0x1028d900]
or eax, dword [0x1028d904]
mov ecx, eax
and ecx, 0xa296c0b5
xor eax, 0xa296c0b5
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x2e2a46b6
and ecx, 0xd1d5b949
or eax, ecx
xor eax, 0x851db05e
mov dword [ebp - 0x10], 0xffffffff
cmp eax, 0xd3ee9f7d
ja 0x100a1f61
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100a9340
add esp, 8
test al, 1
jne 0x100a1e0c
jmp 0x100a1e6e
mov ecx, dword [ebp - 0x60]
mov eax, dword [0x1028d918]
and eax, dword [0x1028d91c]
and eax, 0xf7675349
mov edx, eax
and edx, 0x4bd21df7
shl edx, 1
add eax, 0x4bd21df7
sub eax, edx
sub eax, 0x3f414e26
mov ecx, dword [ecx]
mov edi, dword [ecx]
mov esi, edi
xor esi, 0xffffffff
mov edx, esi
and edx, 0x13461e2c
and edi, 0xecb9e1d3
or edx, edi
xor edx, 0x13461e2d
or esi, 0xfffffffe
xor esi, 0xffffffff
or edx, esi
mov dword [ecx], edx
cmp eax, 0x7900feaa
ja 0x100a1e0c
jmp 0x100a1e6e
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x20]
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
mov ebx, dword [ebp - 0x28]
push eax
mov esi, esp
push eax
mov ecx, esp
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x78], edx
push eax
mov edx, esp
sub esp, 8
mov edi, esp
mov dword [ebp - 0x74], edi
mov edi, dword [ebp - 0x38]
mov dword [esi], edi
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x30]
mov dword [ecx], esi
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dword [edi], ebx
mov dword [edx], esi
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.1005d720
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
add esp, 8
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003ed50
jmp 0x100a198d
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov dx, word [ebp - 0x3e]
mov word [eax], dx
call fcn.100284c0
jmp 0x100a1a90
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
movsx ecx, byte [ecx]
sub esp, 0x10
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.100bbcc8
add esp, 0x10
mov ecx, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [eax], ecx
jmp 0x100a1bb0
jmp 0x100a1c37
jmp 0x100a1ce6
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [eax], 2
jmp 0x100a1d94
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.100a9340
add esp, 8
jmp 0x100a1de7