Function at 0x1004e900
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
sub eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 8]
jge 0x1004ed19
mov eax, dword [0x100d0a20]
or eax, dword [0x100d0a24]
sub eax, 0xbb4b358e
and eax, 0x8e3a5ce2
or eax, 0xb29c8afe
imul eax, eax, 0x2f04de27
xor eax, 0xa23e627b
and eax, 0x5356152f
add eax, 0x45be2767
mov ecx, 0xc7d4dcd7
xor edx, edx
div ecx
imul eax, eax, 0x81947641
sub eax, 0x7832fc7d
xor eax, 0xbc37d23
and eax, 0xb50a5ff4
mov ecx, 0x5a4291f1
xor edx, edx
div ecx
imul eax, eax, 0xed03ac2b
add eax, 0xf7ca4d0e
xor eax, 0x5e3d4da0
or eax, 0xcc3f848
sub eax, 0x2cad070f
mov ecx, 0xc6fc3ff5
xor edx, edx
div ecx
or eax, 0xbedcf87b
and eax, 0x9315fe14
sub eax, 0x5b710a2d
or eax, 0x968bffe6
and eax, 0xf658952f
sub eax, 0xbcee4d67
imul eax, eax, 0x4e7be9c8
sub eax, 0x57bc5baa
or eax, 0x9850cd05
xor eax, 0xde6f9ecc
sub eax, 0x24fb667
imul eax, eax, 0x84cd8b36
add eax, 0xc0eeff6a
mov ecx, 0x6ba7d828
xor edx, edx
div ecx
add eax, 0x86043e03
xor eax, 0x9dbf4988
mov ecx, 0xfdc2134
xor edx, edx
div ecx
or eax, 0xb7b05c79
and eax, 0x6801d8e5
imul eax, eax, 0xd2ba3699
or eax, 0x523d46d0
imul eax, eax, 0xef4d99e2
or eax, 0xcb5d6147
sub eax, 0xaedf1628
sub eax, 0x378bcd9e
mov ecx, 0xe862b077
xor edx, edx
div ecx
xor eax, 0xb303ea91
mov ecx, 0x6ef76978
xor edx, edx
div ecx
add eax, 0x292ce07d
xor eax, 0x3ac21463
sub eax, 0x46818b2b
mov ecx, 0x7b95353c
xor edx, edx
div ecx
or eax, 0x54660277
and eax, 0x3c8f0bd1
add eax, 0x9832e7d1
or eax, 0x7937f976
mov ecx, 0x3347623c
xor edx, edx
div ecx
imul eax, eax, 0xe3021e7e
or eax, 0xf63c9a5
imul eax, eax, 0xcfa63650
mov ecx, 0x42d7edfe
xor edx, edx
div ecx
or eax, 0x4e561613
sub eax, 0xa7472344
imul eax, eax, 0xa075c2f9
sub eax, 0xf6e9ad0a
add eax, 0xd16db481
imul eax, eax, 0x67f50366
sub eax, 0x1cc37b50
xor eax, 0xb2058fce
imul eax, eax, 0xe60ff25a
sub eax, 0x6df03f32
mov ecx, 0x843b0ecc
xor edx, edx
div ecx
mov ecx, 0x40e7d85b
xor edx, edx
div ecx
cmp eax, 0xce43e93
je 0x1004f45a
mov eax, dword [0x100d0a28]
and eax, dword [0x100d0a2c]
mov ecx, 0x8b92ab9b
xor edx, edx
div ecx
and eax, 0xb491e998
or eax, 0x7b85cf5
or eax, 0x35d5eab8
mov ecx, 0x9354f48d
xor edx, edx
div ecx
add eax, 0x8ce3b5bc
and eax, 0xe3af4b63
sub eax, 0x902ccb9a
mov ecx, 0xfae75937
xor edx, edx
div ecx
sub eax, 0x739fbdd9
and eax, 0x57dc29c0
imul eax, eax, 0x8faea22c
mov ecx, 0xfc29debf
xor edx, edx
div ecx
add eax, 0x7bd04551
and eax, 0xb99837fe
or eax, 0x9849d102
sub eax, 0xc05b6a32
imul eax, eax, 0x692c79db
add eax, 0x30defe1d
xor eax, 0xcc900812
sub eax, 0x775cfba5
imul eax, eax, 0x2eaac03d
xor eax, 0x61d0fac5
imul eax, eax, 0x50db2cb6
imul eax, eax, 0x9bb9e88d
mov ecx, 0xd829af41
xor edx, edx
div ecx
mov ecx, 0x64ad1cab
xor edx, edx
div ecx
or eax, 0x92c5c3ce
sub eax, 0x85b3e646
or eax, 0x5dbdf463
imul eax, eax, 0x14ace67c
sub eax, 0x2d0921bb
mov ecx, 0x69e45be4
xor edx, edx
div ecx
imul eax, eax, 0xed30e74c
mov ecx, 0xd1d1c57d
xor edx, edx
div ecx
or eax, 0xb4462963
sub eax, 0xc117e66b
add eax, 0xb5d4387b
mov ecx, 0xa47cff47
xor edx, edx
div ecx
xor eax, 0xe9e31f22
xor eax, 0x9cdff165
and eax, 0xdc2c1f02
and eax, 0x6b8eb265
or eax, 0xb0d44288
mov ecx, 0x60caa57e
xor edx, edx
div ecx
mov ecx, 0x7f13470b
xor edx, edx
div ecx
or eax, 0xc0b6c47d
and eax, 0x69490cbf
add eax, 0x3f0c6a30
add eax, 0xb0e02314
imul eax, eax, 0x1b5e22f6
and eax, 0xf3e32a30
mov ecx, 0x9e285ecf
xor edx, edx
div ecx
mov ecx, 0x7fbd02cf
xor edx, edx
div ecx
xor eax, 0xea74b84b
or eax, 0x8e652aa0
add eax, 0xb5804985
imul eax, eax, 0xe8bb611
or eax, 0x7e7d63df
imul eax, eax, 0xf8fcf907
mov ecx, 0x38669967
xor edx, edx
div ecx
or eax, 0x503055ea
xor eax, 0x961aa177
add eax, 0xa1841dfe
or eax, 0x22b4557c
sub eax, 0x7217363c
and eax, 0x4cfcfece
mov ecx, 0xe5b2d9a8
xor edx, edx
div ecx
xor eax, 0x557298f6
sub eax, 0x3fce1de7
sub eax, 0xe19dc513
xor eax, 0xd031f210
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
mov ecx, 2
cdq
idiv ecx
mov eax, dword [ebp - 0x20]
cmp edx, 0
sete cl
mov byte [ebp - 0x19], cl
cmp eax, 0x8eac83f0
jbe 0x1004eaeb
mov al, byte [ebp - 0x19]
test al, 1
jne 0x1004ecd9
jmp 0x1004ecf2
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
sub eax, ecx
mov dword [ebp - 0x10], eax
jmp 0x1004ed06
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x1004ed0b
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
jmp 0x1004e925
mov eax, dword [0x100d0a30]
and eax, dword [0x100d0a34]
imul eax, eax, 0xac8f7fb3
imul eax, eax, 0xde9b817f
add eax, 0x2c3a7479
mov ecx, 0x629481ab
xor edx, edx
div ecx
xor eax, 0xb5d489e9
sub eax, 0xfe6364d8
sub eax, 0x72ce0701
and eax, 0xdd82f502
mov ecx, 0x1bf92fb4
xor edx, edx
div ecx
mov ecx, 0xe7f89702
xor edx, edx
div ecx
or eax, 0x1fdae9c1
imul eax, eax, 0xdcaa3fa8
xor eax, 0xbca174f0
and eax, 0xef58904a
or eax, 0x191d2502
add eax, 0xd2af8070
add eax, 0x58f77443
sub eax, 0xe43efed6
and eax, 0xc86691e8
and eax, 0x3f2242bc
mov ecx, 0x8d346e8b
xor edx, edx
div ecx
xor eax, 0x381db69a
and eax, 0xcd55113
or eax, 0xf5b154b7
sub eax, 0x6a5bc99
xor eax, 0xaf1a750
sub eax, 0xd59ee846
imul eax, eax, 0x20bf077a
or eax, 0x51126752
add eax, 0x647983c2
xor eax, 0x98647ebc
sub eax, 0x9ade47a1
sub eax, 0x4b1e5323
imul eax, eax, 0x7a510ad2
xor eax, 0x3dcedf2
sub eax, 0xb15c66dc
and eax, 0x98ad5e76
or eax, 0x54ff39c8
sub eax, 0xb181b73d
mov ecx, 0x9cabbe6b
xor edx, edx
div ecx
add eax, 0xa509f287
or eax, 0x3abe91b2
sub eax, 0x4e97cce0
mov ecx, 0xcd7c17d2
xor edx, edx
div ecx
xor eax, 0x3b358f42
add eax, 0x49d27ee6
mov ecx, 0xa8f8fe41
xor edx, edx
div ecx
or eax, 0xbb3b2d53
xor eax, 0x2d5cbc3b
imul eax, eax, 0xce6c1221
mov ecx, 0xdbbcef3c
xor edx, edx
div ecx
xor eax, 0x84e42f6a
imul eax, eax, 0x4cd427a0
and eax, 0x90c7fdba
or eax, 0xa44d7541
add eax, 0x60f20be4
xor eax, 0xbd7bc6a4
xor eax, 0x89d14418
xor eax, 0x8588b4b8
or eax, 0xdae82787
xor eax, 0xd3a64030
or eax, 0x1d9d1b4e
add eax, 0x803267f0
add eax, 0xb7328db0
xor eax, 0xf80e17fd
add eax, 0x84a9805c
add eax, 0xd791e586
xor eax, 0x4c7db43
xor eax, 0x3f08946
add eax, 0xa904cfd
xor eax, 0x987729a4
xor eax, 0xa47426b2
cmp eax, 0xbb4422e7
jbe 0x1004f45f
mov eax, dword [0x100d0a38]
sub eax, dword [0x100d0a3c]
and eax, 0x707fcc65
or eax, 0x3a30e832
imul eax, eax, 0xe3ca323f
sub eax, 0x6f2a904b
imul eax, eax, 0x17a36712
or eax, 0xb6d311f0
or eax, 0x773ab4e4
imul eax, eax, 0x8394edee
and eax, 0xa556ee4c
add eax, 0x22b60468
add eax, 0x3df08e3c
add eax, 0xa6f38bdc
add eax, 0x1f29798a
sub eax, 0x783289f4
add eax, 0xf94a192b
or eax, 0xd8f0d1ab
mov ecx, 0x628ab22b
xor edx, edx
div ecx
xor eax, 0x75d97420
sub eax, 0xcdde7fec
imul eax, eax, 0x978642e4
imul eax, eax, 0xe1edb41b
xor eax, 0x3d41f102
add eax, 0xcdb2f57a
xor eax, 0xb4ee96a9
sub eax, 0x36c8027a
imul eax, eax, 0x3a35e5c9
imul eax, eax, 0xebbf8fd3
or eax, 0x8ca9f58c
imul eax, eax, 0x7ef2d83f
and eax, 0xdfe616d0
sub eax, 0x5a18272
add eax, 0x9d8ebb54
sub eax, 0x6afdf55b
or eax, 0xf15cb015
or eax, 0x857ea409
xor eax, 0xb1d65567
xor eax, 0xdd0599bd
and eax, 0x52fdfcc1
and eax, 0x1b6b3fe2
or eax, 0x7636a59d
xor eax, 0x420368c6
or eax, 0x69e649c9
mov ecx, 0x1ee07dc7
xor edx, edx
div ecx
xor eax, 0xf27cb84b
mov ecx, 0x177ac2f0
xor edx, edx
div ecx
sub eax, 0xfd0f5a7c
sub eax, 0x1dadc893
sub eax, 0xac39f1a3
imul eax, eax, 0xb8d99ac1
sub eax, 0xa150b764
and eax, 0x856d4ac2
sub eax, 0x29e418df
or eax, 0x51f0f157
xor eax, 0x1092654
mov ecx, 0x5fd47e6c
xor edx, edx
div ecx
sub eax, 0x52feacf9
and eax, 0xe872bc03
add eax, 0xc521cd4f
add eax, 0x25f22c84
imul eax, eax, 0xc42c960d
and eax, 0x57eecc39
mov ecx, 0xcf5e60f7
xor edx, edx
div ecx
sub eax, 0x6cbe08c8
xor eax, 0xb7276fad
imul eax, eax, 0x813c4293
mov ecx, 0x89f86261
xor edx, edx
div ecx
xor eax, 0x4c2a14c4
add eax, 0x9f123242
xor eax, 0x2a697401
mov ecx, 0x7e4a2fb1
xor edx, edx
div ecx
add eax, 0x6dcf52d9
imul eax, eax, 0xa0c65db8
mov dword [ebp - 0x18], 0
cmp eax, 0xf564c6b5
ja 0x1004f45f
jmp 0x1004f070
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp + 0xc]
jge 0x1004f443
mov eax, dword [0x100d0a40]
and eax, dword [0x100d0a44]
and eax, 0x537412ed
sub eax, 0x9f8c1f96
xor eax, 0x1360be8e
add eax, 0x6cb5860e
mov ecx, 0xf9792cb6
xor edx, edx
div ecx
xor eax, 0x80a0d028
or eax, 0x9ec7dac1
mov ecx, 0xa77ef893
xor edx, edx
div ecx
xor eax, 0x484117af
add eax, 0x26746e5d
and eax, 0x364feb4e
xor eax, 0x291f78a2
mov ecx, 0x419040a9
xor edx, edx
div ecx
imul eax, eax, 0x117230c0
or eax, 0x384c5c7e
xor eax, 0xe87571d3
sub eax, 0xf8cf1893
and eax, 0x8dca8ab6
imul eax, eax, 0x52c33658
mov ecx, 0xf2c00d66
xor edx, edx
div ecx
and eax, 0x588c8f2c
or eax, 0xef8d349b
sub eax, 0xafa40dae
xor eax, 0xec95e13f
and eax, 0x7d657dd
mov ecx, 0x23997532
xor edx, edx
div ecx
add eax, 0xa5aa2789
or eax, 0xccfb89d0
mov ecx, 0xc153167b
xor edx, edx
div ecx
add eax, 0x1121cc1d
xor eax, 0x4a8a8080
add eax, 0xb9c2939
sub eax, 0x5a0a4d09
or eax, 0x8bb0c434
and eax, 0xe3709375
add eax, 0xe78b65f4
or eax, 0xe3c4a9d5
mov ecx, 0xf8ea638b
xor edx, edx
div ecx
mov ecx, 0x4bc2a892
xor edx, edx
div ecx
and eax, 0x91351d7c
and eax, 0x25bc5c7a
and eax, 0xe3e5f8e
xor eax, 0x66b4a589
add eax, 0x49e54cc1
imul eax, eax, 0x1c1ccace
imul eax, eax, 0x8573f485
xor eax, 0x1708510b
imul eax, eax, 0x18e1344f
mov ecx, 0x35e7522c
xor edx, edx
div ecx
imul eax, eax, 0x9f9740af
mov ecx, 0x85f962c9
xor edx, edx
div ecx
add eax, 0x485a49ab
or eax, 0x76f48ffb
imul eax, eax, 0x67c17072
add eax, 0xf3689c3f
xor eax, 0xef2da592
sub eax, 0xfe23ef26
or eax, 0xdaeff043
or eax, 0xf92cd7b0
mov ecx, 0xb13e17ca
xor edx, edx
div ecx
or eax, 0xc765aa40
imul eax, eax, 0x768dd9c5
add eax, 0x5465e958
and eax, 0x42d75ba1
imul eax, eax, 0xa836222c
xor eax, 0xee31e63a
or eax, 0xc9e6402
sub eax, 0x4d5ec780
imul eax, eax, 0xba36f1e4
or eax, 0x27a80fd7
imul eax, eax, 0xb1eb5eba
sub eax, 0xda438928
cmp eax, 0xe148a112
je 0x1004f46b
mov eax, dword [0x100d0a48]
sub eax, dword [0x100d0a4c]
sub eax, 0x40225305
xor eax, 0xa4655145
sub eax, 0x3e230e85
sub eax, 0xe3843567
xor eax, 0x1902f61a
sub eax, 0x6db8d260
imul eax, eax, 0xdb2723bd
mov ecx, 0x7da400ac
xor edx, edx
div ecx
imul eax, eax, 0xa9a974a4
and eax, 0x92ee542a
imul eax, eax, 0xe3dcdaad
and eax, 0x5a49b9f4
imul eax, eax, 0x3a668e39
mov ecx, 0x723ac245
xor edx, edx
div ecx
xor eax, 0xa916290b
add eax, 0xc544856d
xor eax, 0xb708f3fe
add eax, 0x730eea77
sub eax, 0x7fbfb372
xor eax, 0x2f24a12d
or eax, 0xaede2c2b
xor eax, 0x6f7b4c09
add eax, 0xa73b7eac
imul eax, eax, 0xa345364
sub eax, 0x4addfc6b
xor eax, 0xb3274af5
xor eax, 0x5df2551a
sub eax, 0xec3a11c0
imul eax, eax, 0xead24f7c
mov ecx, 0x29a0d1f6
xor edx, edx
div ecx
add eax, 0xfba40c52
imul eax, eax, 0x5138103e
xor eax, 0x11603b83
and eax, 0xd5c02152
xor eax, 0x5b1c4de7
or eax, 0xee1ce351
add eax, 0x4517bd3
xor eax, 0xeefadd79
add eax, 0x58020fb2
mov ecx, 0xa8f8da0d
xor edx, edx
div ecx
sub eax, 0xe1b2f2b1
and eax, 0xd778d2c7
add eax, 0x5a315661
xor eax, 0xfefb21f6
mov ecx, 0x4565d412
xor edx, edx
div ecx
sub eax, 0x61050ec1
or eax, 0xf3547a8b
xor eax, 0x3cb289ff
or eax, 0x7819b722
sub eax, 0x5a187e6b
and eax, 0x5ebc1592
or eax, 0x47dbb304
imul eax, eax, 0xebfd690b
imul eax, eax, 0xf7fe6061
or eax, 0x81e6ffff
and eax, 0x70bf1e4b
sub eax, 0x12a2355b
xor eax, 0x47f50d1c
sub eax, 0x308bd3ea
mov ecx, 0xef0bfeee
xor edx, edx
div ecx
sub eax, 0xa70553e1
or eax, 0x3d933050
mov ecx, 0x4be01e8f
xor edx, edx
div ecx
add eax, 0x4c71b614
xor eax, 0x62b15e6b
and eax, 0x305ffcdc
or eax, 0xb4c2a5b4
mov ecx, 0x9b301961
xor edx, edx
div ecx
sub eax, 0xd63170e7
sub eax, 0x9ebc1eb0
xor eax, 0xa14bdeff
imul eax, eax, 0xbbfd7894
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov ecx, 2
cdq
idiv ecx
mov eax, dword [ebp - 0x28]
cmp edx, 0
sete cl
mov byte [ebp - 0x21], cl
cmp eax, 0x167fca23
je 0x1004f231
mov al, byte [ebp - 0x21]
test al, 1
jne 0x1004f403
jmp 0x1004f41c
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
jmp 0x1004f430
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x10]
sub eax, ecx
mov dword [ebp - 0x10], eax
jmp 0x1004f435
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
jmp 0x1004f070
mov eax, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
add esp, 0x28
pop ebp
ret
jmp 0x1004eaeb
mov dword [ebp - 0x18], 0
jmp 0x1004eebe
jmp 0x1004f231