Function at 0x10010b60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x48
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
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], 0x1004f030
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x1027ac24]
mov ecx, dword [0x1027ac28]
sub eax, 0x9111f0d8
sub eax, ecx
add eax, 0x9111f0d8
and eax, 0xc17a2d1d
mov ecx, eax
and ecx, 0x2ebb392b
shl ecx, 1
xor eax, 0x2ebb392b
add eax, ecx
xor eax, 0x223af7bd
cmp eax, 0x4ebb6724
jb 0x10011156
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x24]
mov eax, dword [0x1027ac2c]
mov ecx, dword [0x1027ac30]
or eax, ecx
add eax, 0xa926a7de
or eax, 0x1f2dedc9
and eax, 0x1f2fedcf
push eax
mov ecx, esp
mov dword [ebp - 0x38], ecx
push eax
mov esi, esp
mov dword [ebp - 0x34], esi
push eax
mov ecx, esp
mov dword [ebp - 0x30], ecx
push eax
mov ebx, esp
mov dword [ebp - 0x2c], ebx
mov dword [esi], edi
mov dword [ecx], edx
cmp dword [ecx], 0
sete cl
mov byte [ebp - 0x25], cl
cmp eax, 0xa285979d
jae 0x10010bd8
mov al, byte [ebp - 0x25]
test al, 1
jne 0x10010c3a
jmp 0x10010c94
mov eax, dword [0x1027ac34]
or eax, dword [0x1027ac38]
xor eax, 0x79bb9d6e
mov ecx, 0x906ecc94
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd9f71abd
mov ecx, eax
and ecx, 0x2608e542
imul ecx, edx
mov edx, eax
and edx, 0xd9f71abd
or eax, 0xd9f71abd
imul eax, edx
add eax, ecx
cmp eax, 0xe0c71c7e
jae 0x1001116b
mov eax, dword [ebp - 0x38]
mov dword [eax], 0x80070057
jmp 0x10011100
mov ecx, dword [ebp - 0x30]
mov edi, dword [0x1027ac4c]
mov esi, dword [0x1027ac50]
mov eax, edi
xor eax, 0xffffffff
and eax, 0x8b1375f7
and edi, 0x74ec8a08
mov edx, esi
xor edx, 0xffffffff
and edx, 0x8b1375f7
and esi, 0x74ec8a08
or eax, edi
or edx, esi
xor eax, edx
and eax, 0x8a0f85c6
and eax, 0x7ef87165
sub eax, 0x736feae2
sub eax, 0xe4db1ef1
add eax, 0x736feae2
mov ecx, dword [ecx]
cmp dword [ecx], 0
sete cl
mov byte [ebp - 0x39], cl
cmp eax, 0x9cce068e
ja 0x10011179
mov al, byte [ebp - 0x39]
test al, 1
jne 0x10010d09
jmp 0x10010d53
mov eax, dword [0x1027ac54]
xor edx, edx
div dword [0x1027ac58]
mov ecx, eax
sub ecx, 0xe11063c
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x56178850
and ecx, 0xa9e877af
or eax, ecx
xor eax, 0x64d27290
xor eax, 0x5da1045c
cmp eax, 0x43c05a7d
jbe 0x1001117e
mov eax, dword [ebp - 0x38]
mov dword [eax], 0
jmp 0x10011100
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
cmp dword [eax], 0x2c
je 0x10010e1d
mov ecx, dword [0x1027ac64]
add ecx, dword [0x1027ac68]
xor ecx, 0xb5b88961
mov edx, ecx
and edx, 0x500dba66
mov eax, ecx
or eax, 0x500dba66
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xaff24599
or ecx, 0xaff24599
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
or eax, 0x8f6c376a
xor eax, 0xffffffff
or ecx, 0x7093c895
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x91ba934f
jb 0x1001118c
mov ecx, dword [ebp - 0x38]
mov eax, dword [0x1027ac6c]
xor edx, edx
div dword [0x1027ac70]
mov esi, 0xa7be5e7a
xor edx, edx
div esi
mov esi, eax
xor esi, 0xffffffff
and esi, 0x7a75d563
mov edx, eax
and edx, 0x858a2a9c
imul edx, esi
mov esi, eax
and esi, 0x7a75d563
or eax, 0x7a75d563
imul eax, esi
add eax, edx
sub eax, 0x812ee7c3
mov dword [ecx], 0x80070057
cmp eax, 0x22c1026d
jb 0x10010dc1
jmp 0x10011100
mov eax, dword [0x1027ac74]
or eax, dword [0x1027ac78]
xor eax, 0x3d9ca137
add eax, 0x5286e37f
or eax, 0x85fdcc5c
cmp eax, 0xcebb7922
ja 0x1001119a
mov ecx, dword [ebp - 0x2c]
mov edx, dword [0x1027ac7c]
mov eax, dword [0x1027ac80]
add edx, 0xfb2cda0b
add edx, eax
sub edx, 0xfb2cda0b
sub edx, 0x857880d5
mov eax, edx
and eax, 0xdbf1cd4d
xor edx, 0xdbf1cd4d
or eax, edx
or eax, 0x11a7b744
mov dword [ecx], 0
cmp eax, 0x9873e56d
jbe 0x10010e42
jmp 0x10010e8e
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax]
add ecx, 0x20
call fcn.10011350
mov dword [ebp - 0x40], eax
mov eax, dword [0x1027ac84]
xor eax, dword [0x1027ac88]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x922ca20
add eax, ecx
add eax, 0xda7be783
add eax, 0xdb18ab7e
sub eax, 0xda7be783
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xb969a3df
add eax, ecx
cmp eax, 0xc190a0b9
jae 0x100111a8
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov eax, dword [0x1027ac8c]
xor eax, dword [0x1027ac90]
mov esi, eax
xor esi, 0x2fc80476
xor esi, 0xffffffff
or eax, 0x2fc80476
and eax, esi
mov edi, eax
xor edi, 0xffffffff
and edi, 0xdf3895f9
mov esi, eax
and esi, 0x20c76a06
imul esi, edi
mov edi, eax
and edi, 0xdf3895f9
or eax, 0xdf3895f9
imul eax, edi
add eax, esi
xor eax, 0xffffffff
or eax, 0xcc374ea9
xor eax, 0xffffffff
cmp ecx, edx
setl cl
mov byte [ebp - 0x45], cl
cmp eax, 0x8a8510f7
ja 0x10010ee9
mov al, byte [ebp - 0x45]
test al, 1
jne 0x10010f62
jmp 0x10011057
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov edx, dword [edx]
mov dword [ebp - 0x50], edx
mov ecx, dword [ecx]
add ecx, 0x20
mov edx, dword [eax]
mov dword [ebp - 0x10], 0
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.10011370
mov dword [ebp - 0x4c], eax
jmp 0x10010f92
mov ecx, dword [0x1027ac94]
or ecx, dword [0x1027ac98]
mov eax, ecx
xor eax, 0xae297d92
and eax, ecx
mov edx, eax
and edx, 0xe58474c1
mov ecx, eax
or ecx, 0xe58474c1
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x1a7b8b3e
or eax, 0x1a7b8b3e
imul eax, edx
add eax, ecx
imul eax, eax, 0x876f7319
cmp eax, 0x672dc7b4
jb 0x100111ad
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [0x1027ac9c]
mov esi, dword [0x1027aca0]
sub edx, 0xb2d153e7
add edx, esi
add edx, 0xb2d153e7
add edx, 0x31cf5007
sub edx, 0xc7b342b3
sub edx, 0x31cf5007
xor edx, 0xeedd1b7f
xor edx, 0xffffffff
or edx, 0xab4175df
xor edx, 0xffffffff
mov dword [ebp - 0x54], edx
movzx ecx, word [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_UnregisterClassW]
mov eax, dword [ebp - 0x54]
cmp eax, 0xc679f452
jae 0x10010fe0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x10010e8e
mov ecx, dword [0x1027acb4]
or ecx, dword [0x1027acb8]
mov eax, ecx
xor eax, 0x3f978bfb
xor eax, 0xffffffff
or ecx, 0x3f978bfb
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x60ed8efd
and ecx, 0x9f127102
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xf63a39e4
and ecx, 0x9c5c61b
or eax, ecx
xor eax, 0x69f2af5c
cmp eax, 0x44f2f4bb
ja 0x100111cb
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.100115f0
mov eax, dword [0x1027acc4]
sub eax, dword [0x1027acc8]
sub eax, 0xce6271c5
mov ecx, 0xe3cec744
xor edx, edx
div ecx
sub eax, 0x5023bb35
cmp eax, 0xe7727a5a
ja 0x100111d0
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
add ecx, 4
call fcn.1000fe60
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ecx]
mov dword [ecx], 0
mov dword [eax], 0
mov eax, dword [0x1027acd4]
mov edx, dword [0x1027acd8]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
or eax, 0x47dedbea
add eax, 0xf4faf750
sub eax, 0xbfb9132c
sub eax, 0xf4faf750
xor eax, 0x5173446e
cmp eax, 0xa72a087
jb 0x100111f6
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x10010bd8
mov eax, dword [ebp - 0x38]
mov dword [eax], 0x80070057
jmp 0x10010c86
jmp 0x10010c94
mov eax, dword [ebp - 0x38]
mov dword [eax], 0
jmp 0x10010d45
mov eax, dword [ebp - 0x38]
mov dword [eax], 0x80070057
jmp 0x10010dc1
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
jmp 0x10010e42
jmp 0x10010ee9
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
movzx ecx, word [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_UnregisterClassW]
jmp 0x10010fe0
jmp 0x100110a9
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
add ecx, 4
call fcn.1000fe60
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ecx]
mov dword [ecx], 0
mov dword [eax], 0
jmp 0x100110df
jmp 0x1001113d