Function at 0x10177410
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x103220bd
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x1043900c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x104c14e0]
mov ebx, dword [eax + ecx*4]
mov eax, dword [0x1061233c]
mov dword [ebp - 0x30], ebx
cmp eax, dword [ebx + 4]
jg 0x101775d9
mov eax, dword [0x106122bc]
cmp eax, dword [ebx + 4]
jg 0x1017791b
mov eax, dword [0x10612338]
cmp eax, dword [ebx + 4]
jg 0x10177a02
mov eax, dword [0x106122d8]
cmp eax, dword [ebx + 4]
jg 0x10177af2
mov eax, dword [0x10612324]
cmp eax, dword [ebx + 4]
jg 0x10177be2
mov eax, dword [0x10612304]
cmp eax, dword [ebx + 4]
jg 0x10177cd2
mov ecx, dword [0x10612328]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x1061230c]
fstp dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x34], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x106122c0]
fstp dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x3c], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
movss xmm1, dword [ebp - 0x2c]
lea ecx, [ebp - 0x38]
fstp dword [ebp - 0x38]
movss xmm0, dword [ebp - 0x38]
lea eax, [ebp - 0x3c]
comiss xmm0, dword [ebp - 0x30]
lea esi, [ebp - 0x34]
movss dword [ebp - 0x38], xmm0
cmovae eax, ecx
mov ecx, dword [0x10612330]
comiss xmm1, xmm0
cmovae esi, eax
test ecx, ecx
je 0x10177533
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x2c], eax
call dword [ebp - 0x2c]
jmp 0x10177544
mov ecx, dword [0x1061232c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x2c], eax
call dword [ebp - 0x2c]
mov ecx, dword [0x10612314]
fstp dword [ebp - 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x30], eax
call dword [ebp - 0x30]
movss xmm0, dword [esi]
divss xmm0, dword [ebp - 0x2c]
fstp dword [ebp - 0x30]
movss xmm1, dword [ebp - 0x30]
comiss xmm1, xmm0
jbe 0x10177589
mov ecx, dword [0x10612314]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x34], eax
call dword [ebp - 0x34]
fstp dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x34]
jmp 0x101775bd
mov ecx, dword [0x10612330]
test ecx, ecx
je 0x101775a0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x2c], eax
call dword [ebp - 0x2c]
jmp 0x101775b1
mov ecx, dword [0x1061232c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x2c], eax
call dword [ebp - 0x2c]
movss xmm0, dword [esi]
fstp dword [ebp - 0x2c]
divss xmm0, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.102bb91c
mov esp, ebp
pop ebp
ret
push 0x1061233c
call fcn.102bba07
add esp, 4
cmp dword [0x1061233c], 0xffffffff
jne 0x1017745e
mov dword [ebp - 4], 0
cmp byte [0x104b1aa0], 0
jne 0x101778c5
mov edi, dword [0x104b1ab0]
mov ebx, edi
mov esi, dword [0x104b1ab4]
xor ebx, 0x1de26cd5
mov eax, ebx
mov byte [0x104b1aa0], 1
mov edx, esi
xor edx, 0xd28f2c5
mov ecx, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b1aa1]
mov ecx, edx
xor al, bl
mov ebx, edi
mov byte [0x104b1aa1], al
xor ebx, 0x1de26cd4
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b1aa2]
mov ecx, edx
xor al, bl
mov ebx, edi
mov byte [0x104b1aa2], al
xor ebx, 0x1de26cd7
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b1aa3]
mov ecx, edx
xor al, bl
mov ebx, edi
mov byte [0x104b1aa3], al
xor ebx, 0x1de26cd6
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor ebx, eax
xor edx, ecx
mov eax, ebx
mov ecx, edx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b1aa4]
mov ecx, edx
xor al, bl
mov ebx, edi
mov byte [0x104b1aa4], al
xor ebx, 0x1de26cd1
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b1aa5]
mov ecx, edx
xor al, bl
mov ebx, edi
mov byte [0x104b1aa5], al
xor ebx, 0x1de26cd0
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b1aa6]
mov ecx, edx
xor al, bl
mov ebx, edi
mov byte [0x104b1aa6], al
xor ebx, 0x1de26cd3
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
shl eax, 0x11
xor al, byte [0x104b1aa7]
xor al, bl
mov ebx, edi
xor ebx, 0x1de26cd2
mov byte [0x104b1aa7], al
xor edx, 0xd28f2c5
mov eax, ebx
mov ecx, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, esi
xor esi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b1aa8]
mov ecx, edx
xor al, bl
mov ebx, edi
mov byte [0x104b1aa8], al
xor ebx, 0x1de26cdd
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
xor ebx, eax
shr ecx, 7
xor edx, ecx
mov eax, ebx
shld edx, eax, 0x11
mov edx, edi
mov ecx, esi
shl eax, 0x11
xor edx, 0x1de26cdc
xor al, byte [0x104b1aa9]
xor al, bl
mov ebx, dword [ebp - 0x30]
mov byte [0x104b1aa9], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor esi, ecx
xor edx, eax
mov ecx, esi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor esi, ecx
mov eax, edx
shld esi, eax, 0x11
shl eax, 0x11
xor al, byte [0x104b1aaa]
xor al, dl
mov byte [0x104b1aaa], al
jmp 0x101778c5
push ecx
push 0x104b1aaa
push 0x104b1aa1
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov byte [ebp - 4], 1
lea edx, [ebp - 0x28]
mov ecx, dword [0x1060b27c]
cmp dword [ebp - 0x14], 0x10
cmovae edx, dword [ebp - 0x28]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x40]
call eax
lea ecx, [ebp - 0x28]
mov dword [0x10612314], eax
call fcn.10019dd0
push 0x1061233c
mov dword [ebp - 4], 0xffffffff
call fcn.102bb9b6
add esp, 4
jmp 0x1017745e
push 0x106122bc
call fcn.102bba07
add esp, 4
cmp dword [0x106122bc], 0xffffffff
jne 0x1017746f
mov dword [ebp - 4], 2
cmp byte [0x104b1a10], 0
jne 0x101779ac
mov byte [0x104b1a10], 1
xor esi, esi
jmp 0x10177950
xor edx, edx
mov ebx, esi
xor edx, dword [0x104b1a2c]
xor ebx, dword [0x104b1a28]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x104b1a11]
xor cl, bl
mov byte [esi + 0x104b1a11], cl
inc esi
cmp esi, 0x10
jb 0x10177950
mov ebx, dword [ebp - 0x30]
jmp 0x101779ac
push ecx
push 0x104b1a20
push 0x104b1a11
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov byte [ebp - 4], 3
lea edx, [ebp - 0x28]
mov ecx, dword [0x1060b27c]
cmp dword [ebp - 0x14], 0x10
cmovae edx, dword [ebp - 0x28]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x40]
call eax
lea ecx, [ebp - 0x28]
mov dword [0x106122c0], eax
call fcn.10019dd0
push 0x106122bc
mov dword [ebp - 4], 0xffffffff
call fcn.102bb9b6
add esp, 4
jmp 0x1017746f
push 0x10612338
call fcn.102bba07
add esp, 4
cmp dword [0x10612338], 0xffffffff
jne 0x10177480
mov dword [ebp - 4], 4
cmp byte [0x104b1ac0], 0
jne 0x10177a9c
mov byte [0x104b1ac0], 1
xor esi, esi
jmp 0x10177a40
xor edx, edx
mov ebx, esi
xor edx, dword [0x104b1ae4]
xor ebx, dword [0x104b1ae0]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, bl
xor cl, byte [esi + str.cx_]
mov byte [esi + str.cx_], cl
inc esi
cmp esi, 0x1b
jb 0x10177a40
mov ebx, dword [ebp - 0x30]
jmp 0x10177a9c
push ecx
push 0x104b1adb
push str.cx_
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov byte [ebp - 4], 5
lea edx, [ebp - 0x28]
mov ecx, dword [0x1060b27c]
cmp dword [ebp - 0x14], 0x10
cmovae edx, dword [ebp - 0x28]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x40]
call eax
lea ecx, [ebp - 0x28]
mov dword [0x1061230c], eax
call fcn.10019dd0
push 0x10612338
mov dword [ebp - 4], 0xffffffff
call fcn.102bb9b6
add esp, 4
jmp 0x10177480
push 0x106122d8
call fcn.102bba07
add esp, 4
cmp dword [0x106122d8], 0xffffffff
jne 0x10177491
mov dword [ebp - 4], 6
cmp byte [0x104b1a70], 0
jne 0x10177b8c
mov byte [0x104b1a70], 1
xor esi, esi
jmp 0x10177b30
xor edx, edx
mov ebx, esi
xor edx, dword [0x104b1a94]
xor ebx, dword [0x104b1a90]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x104b1a71]
xor cl, bl
mov byte [esi + 0x104b1a71], cl
inc esi
cmp esi, 0x1b
jb 0x10177b30
mov ebx, dword [ebp - 0x30]
jmp 0x10177b8c
push ecx
push 0x104b1a8b
push 0x104b1a71
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov byte [ebp - 4], 7
lea edx, [ebp - 0x28]
mov ecx, dword [0x1060b27c]
cmp dword [ebp - 0x14], 0x10
cmovae edx, dword [ebp - 0x28]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x40]
call eax
lea ecx, [ebp - 0x28]
mov dword [0x10612328], eax
call fcn.10019dd0
push 0x106122d8
mov dword [ebp - 4], 0xffffffff
call fcn.102bb9b6
add esp, 4
jmp 0x10177491
push 0x10612324
call fcn.102bba07
add esp, 4
cmp dword [0x10612324], 0xffffffff
jne 0x101774a2
mov dword [ebp - 4], 8
cmp byte [0x104b1970], 0
jne 0x10177c7c
mov byte [0x104b1970], 1
xor esi, esi
jmp 0x10177c20
xor edx, edx
mov ebx, esi
xor edx, dword [0x104b1984]
xor ebx, dword [0x104b1980]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x104b1971]
xor cl, bl
mov byte [esi + 0x104b1971], cl
inc esi
cmp esi, 0xe
jb 0x10177c20
mov ebx, dword [ebp - 0x30]
jmp 0x10177c7c
push ecx
push 0x104b197e
push 0x104b1971
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov byte [ebp - 4], 9
lea edx, [ebp - 0x28]
mov ecx, dword [0x1060b27c]
cmp dword [ebp - 0x14], 0x10
cmovae edx, dword [ebp - 0x28]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x40]
call eax
lea ecx, [ebp - 0x28]
mov dword [0x1061232c], eax
call fcn.10019dd0
push 0x10612324
mov dword [ebp - 4], 0xffffffff
call fcn.102bb9b6
add esp, 4
jmp 0x101774a2
push 0x10612304
call fcn.102bba07
add esp, 4
cmp dword [0x10612304], 0xffffffff
jne 0x101774b3
mov dword [ebp - 4], 0xa
cmp byte [0x104b19c0], 0
jne 0x10177d69
mov byte [0x104b19c0], 1
xor esi, esi
jmp 0x10177d10
xor edx, edx
mov ebx, esi
xor edx, dword [0x104b19dc]
xor ebx, dword [0x104b19d8]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor ebx, eax
mov ecx, edx
mov eax, ebx
shrd eax, ecx, 7
shr ecx, 7
xor ebx, eax
xor edx, ecx
mov ecx, ebx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [esi + 0x104b19c1]
xor cl, bl
mov byte [esi + 0x104b19c1], cl
inc esi
cmp esi, 0x11
jb 0x10177d10
jmp 0x10177d69
push ecx
push 0x104b19d1
push 0x104b19c1
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x28]
mov ecx, dword [0x1060b27c]
cmp dword [ebp - 0x14], 0x10
cmovae edx, dword [ebp - 0x28]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x40]
call eax
lea ecx, [ebp - 0x28]
mov dword [0x10612330], eax
call fcn.10019dd0
push 0x10612304
mov dword [ebp - 4], 0xffffffff
call fcn.102bb9b6
add esp, 4
jmp 0x101774b3