Function at 0x100cca20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
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], 0x100e32c0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x10144cec]
add eax, dword [0x10144cf0]
sub eax, 0xe45a34d4
imul eax, eax, 0x4db65154
sub eax, 0xdff0f254
or eax, 0xa210cf7e
mov ecx, 0x3bd47294
xor edx, edx
div ecx
add eax, 0xc2f0582f
sub eax, 0x771dcdb9
or eax, 0x1dc29f0b
or eax, 0x5e93bea4
imul eax, eax, 0x9e979a8f
imul eax, eax, 0x1351abb6
add eax, 0x144f7f51
mov ecx, 0x953725c2
xor edx, edx
div ecx
xor eax, 0x66e1af8
xor eax, 0x7673035a
add eax, 0xa8278311
sub eax, 0x65e64f47
imul eax, eax, 0x7d5fe2aa
and eax, 0x37e75480
imul eax, eax, 0xab5aa1f7
cmp eax, 0x46a2fc4f
jb 0x100cd603
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x24]
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
push eax
mov edx, esp
mov dword [ebp - 0x34], edx
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
push eax
mov edi, esp
mov dword [ebp - 0x2c], edi
mov dword [edx], esi
mov dword [eax], ecx
cmp dword [eax], 0
sete al
mov byte [ebp - 0x25], al
mov al, byte [ebp - 0x25]
test al, 1
jne 0x100ccb1d
jmp 0x100ccb2b
mov eax, dword [ebp - 0x38]
mov dword [eax], 0x80070057
jmp 0x100cd40c
mov eax, dword [0x10144d54]
xor edx, edx
div dword [0x10144d58]
sub eax, 0x76015c8f
and eax, 0x128a77dc
xor eax, 0x5c892967
add eax, 0x48d2407f
xor eax, 0xbb6b78b8
sub eax, 0x7beb7179
or eax, 0x84e94a94
imul eax, eax, 0x7b7e69f8
xor eax, 0xc73d55e0
imul eax, eax, 0xed363a2f
add eax, 0x773fbaf7
imul eax, eax, 0xd92efdef
or eax, 0x3e35d588
add eax, 0x475db6e6
add eax, 0xb6860962
or eax, 0x523593a5
add eax, 0xc6045a6
sub eax, 0x6fec74fd
and eax, 0x3ae0941e
add eax, 0x4a049520
cmp eax, 0x4696f8f0
jb 0x100cd618
mov eax, dword [0x10144d5c]
imul eax, dword [0x10144d60]
mov ecx, 0xd2ea8dcd
xor edx, edx
div ecx
imul eax, eax, 0xfa84d416
mov ecx, 0xf48d8125
xor edx, edx
div ecx
or eax, 0x461b2090
add eax, 0x2308a41c
sub eax, 0xa0f9b439
add eax, 0x72722c7e
or eax, 0xf2299807
xor eax, 0x5b44edce
xor eax, 0x65a6cf50
sub eax, 0xd2c293d5
and eax, 0xfe580d54
xor eax, 0xed8b666f
sub eax, 0x46db171
and eax, 0x5cfa52a4
mov ecx, 0x1709c24e
xor edx, edx
div ecx
and eax, 0x5959c1b1
sub eax, 0x7b2654ba
sub eax, 0x69c1e8c6
add eax, 0x4e64c872
cmp eax, 0x2d808713
jbe 0x100ccbaa
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
cmp dword [eax], 0
jne 0x100ccc4e
mov eax, dword [ebp - 0x38]
mov dword [eax], 0
jmp 0x100cd40c
mov eax, dword [0x10144d84]
or eax, dword [0x10144d88]
xor eax, 0x4753534e
sub eax, 0x43a3a91e
imul eax, eax, 0xa3b833ec
mov ecx, 0x3f62bfee
xor edx, edx
div ecx
add eax, 0xb6c0e6fa
or eax, 0xefd2c4cb
xor eax, 0x5b7444f4
and eax, 0xcbff9284
or eax, 0xcd672c70
or eax, 0xc46d259d
add eax, 0x402acea3
sub eax, 0xca6264b
add eax, 0x28d88c64
sub eax, 0xe1719e67
add eax, 0x991937d4
xor eax, 0x3621d338
mov ecx, 0x9f48bb4b
xor edx, edx
div ecx
and eax, 0xf3e4456e
or eax, 0x18559e4a
sub eax, 0xe1240f2d
cmp eax, 0xbf46653e
ja 0x100cd61d
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
cmp dword [eax], 0x2c
je 0x100ccced
mov eax, dword [ebp - 0x38]
mov dword [eax], 0x80070057
jmp 0x100cd40c
mov eax, dword [0x10144d94]
or eax, dword [0x10144d98]
and eax, 0xdeb579b2
imul eax, eax, 0xa9f95382
sub eax, 0xea0fb813
or eax, 0x81a13c40
xor eax, 0x3e141bb6
sub eax, 0x50608c68
xor eax, 0xff8075c2
or eax, 0xba2158af
imul eax, eax, 0x467dfcfd
or eax, 0x6ba30cd9
xor eax, 0x87d6ecf0
and eax, 0xcac63c1f
and eax, 0x884071fc
imul eax, eax, 0xe438e8e6
sub eax, 0x46910f8b
sub eax, 0x68d3ed69
add eax, 0x5c1e2517
and eax, 0x54098088
sub eax, 0x5ae92861
and eax, 0x5f59e243
cmp eax, 0x50f5f012
jbe 0x100cd538
mov ecx, dword [ebp - 0x2c]
mov eax, dword [0x10144da4]
add eax, dword [0x10144da8]
xor eax, 0xbb8bdfd3
or eax, 0x696a1b47
imul eax, eax, 0xd4162832
xor eax, 0xe43ffb11
mov esi, 0xb35c3037
xor edx, edx
div esi
sub eax, 0x573576ca
or eax, 0xc35fc648
sub eax, 0xfb193025
xor eax, 0x6372dae5
add eax, 0xa4430eb5
or eax, 0xe504c514
sub eax, 0xec413c32
xor eax, 0x2a0dae62
imul eax, eax, 0x7415f2ad
and eax, 0xa3889b28
and eax, 0xd1cb5f26
sub eax, 0xec229445
or eax, 0x9909f7f0
and eax, 0x6dc2dd31
xor eax, 0xc9f3599d
mov dword [ecx], 0
cmp eax, 0x49531f11
jbe 0x100cd622
mov eax, dword [0x10144dcc]
or eax, dword [0x10144dd0]
mov ecx, 0x49117d2e
xor edx, edx
div ecx
sub eax, 0x14cd8d46
xor eax, 0x6bef2bc8
xor eax, 0x71e86fc7
or eax, 0x6b5da8ff
imul eax, eax, 0xfd4ac35e
sub eax, 0xada90d23
sub eax, 0x62f345fb
xor eax, 0xc73688d3
add eax, 0x36f5828d
imul eax, eax, 0x8db2afe1
or eax, 0x18e51949
and eax, 0xfa83c986
imul eax, eax, 0xcc17edba
or eax, 0x8a44ac54
sub eax, 0x6ba57b54
imul eax, eax, 0x289f8788
add eax, 0x7646846c
add eax, 0x3dcd5fc2
add eax, 0xffa545e0
cmp eax, 0xe834a32d
ja 0x100cd630
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov dword [ebp - 0x40], ecx
mov eax, dword [eax]
add eax, 0x20
mov dword [ebp - 0x3c], eax
mov eax, dword [0x10144ddc]
add eax, dword [0x10144de0]
and eax, 0x9bbd16e4
imul eax, eax, 0x968fce4
add eax, 0xa06cdbaf
xor eax, 0x1e6f0617
add eax, 0xce88f1e5
and eax, 0x9f0c3e4c
add eax, 0xe9638eb5
xor eax, 0x4949cac3
and eax, 0xffc1429a
sub eax, 0xe1c2c675
add eax, 0xa6758f96
mov ecx, 0x4604ffb0
xor edx, edx
div ecx
xor eax, 0xb649d24d
and eax, 0x953246a0
xor eax, 0x691d18bd
mov ecx, 0x8022bb93
xor edx, edx
div ecx
imul eax, eax, 0xa78d357e
imul eax, eax, 0x2d0dc079
or eax, 0x118c09fd
add eax, 0x9a2f4c3b
cmp eax, 0x3a5c94ef
jb 0x100cd546
mov eax, dword [0x10144de4]
or eax, dword [0x10144de8]
imul eax, eax, 0x9e450c0e
mov ecx, 0xf28ce425
xor edx, edx
div ecx
imul eax, eax, 0xc401c74a
sub eax, 0x4a06d382
imul eax, eax, 0x328299d7
xor eax, 0x2d6a38fb
add eax, 0xafdb6cb0
imul eax, eax, 0x23e877c4
imul eax, eax, 0xb00733aa
or eax, 0x252c7d86
mov ecx, 0xf3a8b021
xor edx, edx
div ecx
imul eax, eax, 0xfb60c57b
and eax, 0x1f432d81
xor eax, 0xfc0fc13b
sub eax, 0x18715a9b
or eax, 0xab76fb67
xor eax, 0xfe9c323b
xor eax, 0x69d4439
sub eax, 0x86002340
sub eax, 0xc88f0102
cmp eax, 0xc8c14ef2
jae 0x100cd635
mov ecx, dword [ebp - 0x3c]
call fcn.100cd7b0
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [0x10144dfc]
or eax, dword [0x10144e00]
sub eax, 0x3ee821c9
or eax, 0xbcef0c5f
xor eax, 0x4540dee9
sub eax, 0x7a31e9b5
imul eax, eax, 0xa28b2005
mov esi, 0x2b0b0781
xor edx, edx
div esi
imul eax, eax, 0x6328ed3
imul eax, eax, 0x336bc1d1
and eax, 0x1c78bc82
mov esi, 0xe4ef115
xor edx, edx
div esi
sub eax, 0x5a063128
mov esi, 0x9cab0df6
xor edx, edx
div esi
mov edx, dword [ebp - 0x44]
imul eax, eax, 0xa7c2255a
or eax, 0x74593071
sub eax, 0x5077c83d
imul eax, eax, 0x57f1c31e
and eax, 0xd8b2d66b
or eax, 0x86c149d0
or eax, 0x6d7efc80
imul eax, eax, 0x6e95ace3
cmp ecx, edx
setl cl
mov byte [ebp - 0x45], cl
cmp eax, 0x9e07eccc
jae 0x100cd63a
mov al, byte [ebp - 0x45]
test al, 1
jne 0x100cd04a
jmp 0x100cd3de
mov eax, dword [0x10144e0c]
add eax, dword [0x10144e10]
xor eax, 0xa67729f9
mov ecx, 0x978ce146
xor edx, edx
div ecx
and eax, 0x9c928b00
xor eax, 0xeccd7991
imul eax, eax, 0xf4f5905
sub eax, 0xf21ac0e2
xor eax, 0x6a9151e4
imul eax, eax, 0x4e943949
and eax, 0xcb3e0011
sub eax, 0x4ed01d2a
and eax, 0xce04a083
and eax, 0x215c7dfd
or eax, 0x14343b1b
or eax, 0x2834038a
add eax, 0xf8c6d63a
add eax, 0xf1951114
and eax, 0xd1e8daaf
or eax, 0x9b3ddf03
sub eax, 0x8d8287d8
xor eax, 0xd69b1c67
cmp eax, 0xc4de52c3
jbe 0x100cd04a
mov eax, dword [0x10144e14]
xor eax, dword [0x10144e18]
imul eax, eax, 0x94cbedc9
and eax, 0x896e0af4
xor eax, 0x30ae7d34
imul eax, eax, 0x828574ff
mov ecx, 0x325d916a
xor edx, edx
div ecx
and eax, 0x83ac6628
add eax, 0xa37281a4
imul eax, eax, 0x9d71d2bd
imul eax, eax, 0x7db275f2
and eax, 0x93d73c03
imul eax, eax, 0x9dd74e50
and eax, 0xf215c449
xor eax, 0x284b57a8
mov ecx, 0xd67df26d
xor edx, edx
div ecx
or eax, 0xe0965470
imul eax, eax, 0xbefb08da
mov ecx, 0xe4445735
xor edx, edx
div ecx
xor eax, 0xd885ef8b
imul eax, eax, 0xcfc8c6f8
add eax, 0xb3d71885
cmp eax, 0x498babc9
jbe 0x100cd54b
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov edx, dword [edx]
mov dword [ebp - 0x54], edx
mov ecx, dword [ecx]
add ecx, 0x20
mov dword [ebp - 0x50], ecx
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.100cd880
mov dword [ebp - 0x58], eax
jmp 0x100cd193
mov ecx, dword [ebp - 0x58]
mov eax, dword [0x10144e5c]
add eax, dword [0x10144e60]
xor eax, 0x5e9f779c
add eax, 0x718fd2ea
imul eax, eax, 0x4069b8e1
or eax, 0x5f21aec9
or eax, 0xf1450a66
imul eax, eax, 0xafd85566
mov esi, 0x19a6b09a
xor edx, edx
div esi
and eax, 0xf1ebd27a
add eax, 0xb14bd6df
xor eax, 0x348d8f18
xor eax, 0x3fe59a0d
mov esi, 0xa8079784
xor edx, edx
div esi
mov edx, eax
mov eax, dword [ebp - 0x54]
add edx, 0x7eed9794
or edx, 0x8b96064e
xor edx, 0x306394a3
or edx, 0xd348599
sub edx, 0x6036c27a
imul edx, edx, 0x9bb49878
sub edx, 0xa64a4c31
imul edx, edx, 0xa4927ad4
mov dword [ebp - 0x5c], edx
movzx ecx, word [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov eax, dword [ebp - 0x5c]
cmp eax, 0x94b097a6
ja 0x100cd550
mov eax, dword [0x10144e74]
xor edx, edx
div dword [0x10144e78]
mov ecx, 0x2775a66f
xor edx, edx
div ecx
xor eax, 0x809c1e4c
xor eax, 0x71de3853
and eax, 0x98d3ab76
mov ecx, 0x895d08b3
xor edx, edx
div ecx
xor eax, 0x2985c8b3
imul eax, eax, 0xcb94b65c
add eax, 0xab0b473a
sub eax, 0xe22e8718
sub eax, 0x26a19f2c
imul eax, eax, 0x89923932
imul eax, eax, 0x73b976f4
add eax, 0x47d27dca
and eax, 0x32d18eea
add eax, 0x958771d0
sub eax, 0x34f0e7d1
sub eax, 0xd50c55fd
mov ecx, 0xcabac6dc
xor edx, edx
div ecx
add eax, 0x9b9c3d4a
sub eax, 0xabc3ef72
cmp eax, 0x51715dc2
jb 0x100cd5ef
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
mov eax, dword [0x10144e94]
xor edx, edx
div dword [0x10144e98]
or eax, 0xf27344a6
imul eax, eax, 0x1209c2a8
xor eax, 0xf7028061
sub eax, 0xaa0cf693
xor eax, 0x9b191e9c
mov ecx, 0x6c4fd7a9
xor edx, edx
div ecx
add eax, 0x6195f5c4
imul eax, eax, 0xbc770988
xor eax, 0x4834d914
add eax, 0x2a1c214e
xor eax, 0xcf46cf24
or eax, 0x6abc876c
or eax, 0xf5620294
imul eax, eax, 0xf08d6c3d
imul eax, eax, 0x2f57cf4a
add eax, 0x60052a70
or eax, 0xe8854ecb
and eax, 0xe0b1749b
add eax, 0x64450faa
xor eax, 0x278d294a
cmp eax, 0xf3297d12
jae 0x100cd63f
mov eax, dword [0x10144e9c]
and eax, dword [0x10144ea0]
add eax, 0xf1561f1d
and eax, 0x65ae4251
or eax, 0x18237a90
and eax, 0x40598df9
xor eax, 0x4bfb574a
or eax, 0x8e0c02b3
or eax, 0xfb7fbd49
xor eax, 0x4146dd6d
add eax, 0x1546a82
and eax, 0x2a6d6ad
xor eax, 0xa3cb22d3
add eax, 0x3766d07c
or eax, 0x8452b657
and eax, 0xc58e9d9d
mov ecx, 0x167ec2cf
xor edx, edx
div ecx
or eax, 0x1c778211
imul eax, eax, 0xee8d5e29
or eax, 0x645679ba
imul eax, eax, 0x119a1f41
sub eax, 0x8b3202a7
cmp eax, 0x99a50f75
jae 0x100cd63f
jmp 0x100ccdf3
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.100cea00
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax]
add ecx, 4
call fcn.100caab0
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 [0x10144ec4]
sub eax, dword [0x10144ec8]
and eax, 0x7a9d68f9
add eax, 0x8a0c8486
mov ecx, 0x73c17cdc
xor edx, edx
div ecx
add eax, 0xa72024b1
and eax, 0xfb8ad766
add eax, 0x67751b9b
add eax, 0x506d0b9f
sub eax, 0x7a482cfc
xor eax, 0xc1cf473a
imul eax, eax, 0x3bb0dd63
and eax, 0x715115fe
imul eax, eax, 0x4c5a6b19
mov ecx, 0xa4d5c57c
xor edx, edx
div ecx
add eax, 0xce31aa26
add eax, 0xadc2451d
or eax, 0x69957a03
mov ecx, 0x7158c9ce
xor edx, edx
div ecx
add eax, 0x2f5fe751
or eax, 0xdf116a0a
sub eax, 0xb11f9cff
cmp eax, 0x322c1516
jbe 0x100cd5fe
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov eax, dword [0x10144ee4]
xor edx, edx
div dword [0x10144ee8]
imul eax, eax, 0xff7cd31f
add eax, 0x8737ced2
add eax, 0x44eedb65
add eax, 0xcd17fa96
xor eax, 0x1eba80fe
and eax, 0xc9821d6f
mov ecx, 0x57d20c79
xor edx, edx
div ecx
or eax, 0x396e580f
sub eax, 0x63b2e7be
mov ecx, 0x5394588a
xor edx, edx
div ecx
add eax, 0x820b4b43
or eax, 0x68678f2c
add eax, 0x8caf207d
add eax, 0xfbda3e0a
or eax, 0xdb04a9f2
sub eax, 0x6fdcb634
sub eax, 0xfa769c1a
sub eax, 0x9d7e7ee9
sub eax, 0xe37ceb87
add eax, 0xa52a0248
cmp eax, 0x2c043c0b
jbe 0x100cd644
mov eax, dword [ebp - 0x60]
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 eax, dword [ebp - 0x2c]
mov dword [eax], 0
jmp 0x100ccd6a
jmp 0x100ccdf3
jmp 0x100cd157
mov eax, dword [0x10144f54]
and eax, dword [0x10144f58]
or eax, 0xdeb7f41c
or eax, 0x4234808a
add eax, 0x349a385c
sub eax, 0xfd2fc0e
or eax, 0xb643a253
add eax, 0xad5f4fa
add eax, 0x1c14da93
imul eax, eax, 0x8e3cb1d7
imul eax, eax, 0x55f4c241
xor eax, 0xed629015
or eax, 0xa3772a2e
add eax, 0xf87ecc03
imul eax, eax, 0xb90a187e
xor eax, 0xb824b4ac
sub eax, 0xf0aa7fb2
and eax, 0xd177ac9a
sub eax, 0x42020a8
or eax, 0xd1feeaab
mov ecx, 0x1354afb6
xor edx, edx
div ecx
xor eax, 0x40f11538
cmp eax, 0x8b90adbe
jae 0x100cd649
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
movzx ecx, word [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
jmp 0x100cd193
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x100cd2cb
jmp 0x100cd494
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 0x100ccae2
jmp 0x100ccbaa
jmp 0x100cccd1
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
jmp 0x100ccd6a
jmp 0x100cce75
jmp 0x100ccf95
jmp 0x100ccfa0
jmp 0x100cd359
jmp 0x100cd521
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
movzx ecx, word [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.USER32.dll_UnregisterClassA]
jmp 0x100cd5d1