Function at 0x10047a90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x14
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x100be7d4]
or eax, dword [0x100be7d8]
imul eax, eax, 0xc7bdafc8
or eax, 0xb34e2cad
and eax, 0xcb4dc8ec
mov ecx, 0x2446c497
xor edx, edx
div ecx
xor eax, 0x6b674d82
or eax, 0xc5476456
or eax, 0x566626d9
mov ecx, 0x3756d6f8
xor edx, edx
div ecx
or eax, 0x836de415
or eax, 0x25119292
xor eax, 0xd1fe9991
mov ecx, 0xa4f481a0
xor edx, edx
div ecx
sub eax, 0x4bbb7d10
sub eax, 0x1857a166
add eax, 0x8fce3375
and eax, 0x66d3157
imul eax, eax, 0x5d0becba
add eax, 0x7c81212e
xor eax, 0x948e108b
imul eax, eax, 0x94438d63
add eax, 0x5e149701
mov ecx, 0x3148dc4f
xor edx, edx
div ecx
mov ecx, 0xc9484954
xor edx, edx
div ecx
mov ecx, 0xfcb34e33
xor edx, edx
div ecx
imul eax, eax, 0x1c45f400
and eax, 0xe2f19808
xor eax, 0x22619b9
and eax, 0x48ef9492
mov ecx, 0x2dbd0f2b
xor edx, edx
div ecx
or eax, 0x20af280c
or eax, 0xe48dcfd8
imul eax, eax, 0x9edef90f
mov ecx, 0x6cd347cd
xor edx, edx
div ecx
mov ecx, 0xafc17dcc
xor edx, edx
div ecx
or eax, 0xb83323f1
and eax, 0x8cefba14
imul eax, eax, 0xf5120e0c
mov ecx, 0x27a2b57
xor edx, edx
div ecx
imul eax, eax, 0xce8e1f0f
imul eax, eax, 0x2f98aea2
xor eax, 0xe2faed42
or eax, 0x51b3ef73
sub eax, 0x76eba4fc
xor eax, 0x5b5e5869
or eax, 0xd0e17a40
xor eax, 0xc458b09b
sub eax, 0xb9f362f9
add eax, 0x3155beef
sub eax, 0x5aaddc11
xor eax, 0x82534b9f
add eax, 0x39e2d65d
mov ecx, 0xaa7aa064
xor edx, edx
div ecx
and eax, 0xd1c13d89
xor eax, 0x32034e11
add eax, 0xd0520c0e
xor eax, 0x2266f5a6
and eax, 0x2b23b70d
and eax, 0x5a5fed1d
or eax, 0x19292774
mov ecx, 0x35a3cf4
xor edx, edx
div ecx
or eax, 0x37b351d9
imul eax, eax, 0x1c84c93f
mov ecx, 0xbfd33167
xor edx, edx
div ecx
or eax, 0x6ed94ed8
or eax, 0xfea1de18
mov ecx, 0x888aa1f8
xor edx, edx
div ecx
imul eax, eax, 0x72478239
or eax, 0xe5aab9ea
imul eax, eax, 0x6d758d05
and eax, 0x264e63fb
add eax, 0x6f955d57
or eax, 0x6625840f
cmp eax, 0xec07c5bf
jbe 0x10048721
mov edi, dword [ebp - 0xc]
mov eax, 0x21800412
push eax
mov esi, esp
mov dword [ebp - 0x18], esi
push eax
mov edx, esp
mov dword [ebp - 0x14], edx
push eax
mov ecx, esp
mov dword [ebp - 0x10], ecx
mov dword [esi], edi
mov dword [edx], 0
mov dword [ecx], 0
cmp eax, 0xf2b31659
ja 0x10048721
jmp 0x10047c97
mov eax, dword [0x100be7e4]
xor eax, dword [0x100be7e8]
imul eax, eax, 0x73455d77
imul eax, eax, 0x7c8a9b82
or eax, 0x24c9a16
xor eax, 0xe0204178
mov ecx, 0xc728184f
xor edx, edx
div ecx
and eax, 0x2b6d500d
imul eax, eax, 0x6e366790
or eax, 0xfbb8c631
add eax, 0x815547fe
add eax, 0x3c2543e8
sub eax, 0x51dcb357
and eax, 0xb238e674
mov ecx, 0xe1db8df8
xor edx, edx
div ecx
add eax, 0x961703ee
mov ecx, 0x26a5cc60
xor edx, edx
div ecx
xor eax, 0xc57793c8
add eax, 0x42dceaab
add eax, 0x839ff07b
imul eax, eax, 0x1fbe808f
xor eax, 0x9450e2e8
xor eax, 0xedb4ff9f
xor eax, 0x8b74b571
add eax, 0x122dc93a
or eax, 0xcf09b8a3
mov ecx, 0x6075ba58
xor edx, edx
div ecx
sub eax, 0x38709465
sub eax, 0x7162af5
imul eax, eax, 0x65569a8b
mov ecx, 0x1479bda3
xor edx, edx
div ecx
mov ecx, 0xf3478d66
xor edx, edx
div ecx
imul eax, eax, 0x2c32f7f
or eax, 0xc4e50e2f
add eax, 0xb89c2b5e
sub eax, 0xa8d727f6
add eax, 0x476c923b
imul eax, eax, 0x258edf55
sub eax, 0x8475ab5
and eax, 0x82501a1d
xor eax, 0xa94bf237
or eax, 0xcc72a276
sub eax, 0x4fb0b4ca
sub eax, 0x94e80300
and eax, 0x568c1449
mov ecx, 0xa7a0acaf
xor edx, edx
div ecx
mov ecx, 0x899fb70e
xor edx, edx
div ecx
and eax, 0xfe881f19
sub eax, 0x8624bdd4
and eax, 0xc98d226d
mov ecx, 0x9f9cbb3b
xor edx, edx
div ecx
xor eax, 0x9b731047
add eax, 0x9c416557
and eax, 0x74245726
sub eax, 0x4f1909f7
and eax, 0xb7c26546
xor eax, 0xded7808b
sub eax, 0x9dcb1627
and eax, 0x698e988a
imul eax, eax, 0x7a75e8cf
xor eax, 0x33ad9f8
or eax, 0x50e7af6
mov ecx, 0x98ee3459
xor edx, edx
div ecx
imul eax, eax, 0x11ff14d1
add eax, 0xeaa5b285
imul eax, eax, 0xb5d4297f
add eax, 0x48be1fe9
add eax, 0x1acaaeef
add eax, 0xd237d805
or eax, 0xcfda6461
imul eax, eax, 0x38aa8b0f
or eax, 0x163c6c93
mov ecx, 0x1675ef6b
xor edx, edx
div ecx
and eax, 0x3f9698e
cmp eax, 0xdd23166d
je 0x10048740
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x100be7ec]
imul eax, dword [0x100be7f0]
add eax, 0x8b57b15b
and eax, 0x89a219d3
and eax, 0xffc3badb
and eax, 0x822747cd
sub eax, 0x8c6fb6c9
add eax, 0xfc7bf64e
add eax, 0x85f98a54
add eax, 0x5e3c90c3
xor eax, 0xcbad2320
xor eax, 0x47430d76
or eax, 0x896ec02a
or eax, 0x1b0f4d46
xor eax, 0x762fd602
xor eax, 0xdb928b5b
sub eax, 0xfe650d08
or eax, 0xef0bb445
or eax, 0xb666c885
sub eax, 0x93edd9cc
add eax, 0x8b3c1223
and eax, 0xa4e90216
imul eax, eax, 0x3c3b376a
xor eax, 0xc37f506e
mov esi, 0xd4d225c0
xor edx, edx
div esi
imul eax, eax, 0xc1e50732
add eax, 0xb43b28e4
sub eax, 0xc5f1cf3d
and eax, 0x31d6ce9a
sub eax, 0x879e926
imul eax, eax, 0xb50f4db3
add eax, 0xa46411ed
or eax, 0xb28aca99
xor eax, 0x1391312b
imul eax, eax, 0xafa0672c
and eax, 0x9d5ff8ae
or eax, 0x28d2e710
sub eax, 0xe94c1197
and eax, 0x53dd1d98
and eax, 0x5f6b6fc2
or eax, 0x7617fca2
imul eax, eax, 0xf3f9276d
xor eax, 0x7dfc578d
or eax, 0x813d556f
xor eax, 0x768de026
or eax, 0x3f178f71
or eax, 0x41c47c88
or eax, 0x42e23b1
and eax, 0xea4276a2
xor eax, 0x819cabdb
add eax, 0xcb4f8817
imul eax, eax, 0xe6aa79f4
imul eax, eax, 0x745880ee
xor eax, 0xc80fbe90
xor eax, 0xaee0c844
imul eax, eax, 0x73d8f330
or eax, 0x242fd8af
add eax, 0xf6d15ec1
add eax, 0x6d2da60e
xor eax, 0x83bfda67
or eax, 0xc1ac51
imul eax, eax, 0x6118e927
add eax, 0xfe207adc
and eax, 0x52886b27
imul eax, eax, 0x98999754
sub eax, 0xb8167eb7
xor eax, 0x74aac2b4
mov esi, 0xfd7ce8e4
xor edx, edx
div esi
mov edx, dword [ebp - 0x10]
or eax, 0x987f4370
or eax, 0xae58b634
sub eax, 0x76a51eb
imul eax, eax, 0x5cb16b34
or eax, 0x986e1047
add eax, 0x64fe7b65
mov ecx, dword [ecx]
mov edx, dword [edx]
movsx ecx, byte [ecx + edx]
cmp ecx, 0
setne cl
mov byte [ebp - 0x19], cl
cmp eax, 0x42fe2489
je 0x10047e4c
mov al, byte [ebp - 0x19]
test al, 1
jne 0x10048005
jmp 0x1004870c
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ecx, dword [ecx]
movsx eax, byte [eax + ecx]
cmp eax, 0x5c
jne 0x100483a2
mov eax, dword [0x100be7f4]
xor eax, dword [0x100be7f8]
or eax, 0xc85d19f0
imul eax, eax, 0xeb16a94e
xor eax, 0x5d751462
xor eax, 0x7be6db3f
or eax, 0x27bc1c04
mov ecx, 0x41f5658f
xor edx, edx
div ecx
xor eax, 0xab3d08db
and eax, 0x27868047
and eax, 0x357ecad9
mov ecx, 0xa72d846f
xor edx, edx
div ecx
mov ecx, 0x3d881689
xor edx, edx
div ecx
xor eax, 0x6231bb44
add eax, 0xdf892b55
sub eax, 0xc7ca5a12
or eax, 0x5175149
imul eax, eax, 0xe57ab81
mov ecx, 0xa8964355
xor edx, edx
div ecx
or eax, 0xe69456ad
mov ecx, 0xc3493dfa
xor edx, edx
div ecx
mov ecx, 0x900610ee
xor edx, edx
div ecx
xor eax, 0x74edac5d
mov ecx, 0xfe22955b
xor edx, edx
div ecx
imul eax, eax, 0x258e0946
xor eax, 0x14440f0f
and eax, 0x70fc038d
xor eax, 0xacf80ecd
xor eax, 0x28b7f0fb
add eax, 0xd372e166
or eax, 0xfd8b40c7
sub eax, 0x7315b8dd
or eax, 0x3774d4db
mov ecx, 0x2fdccb1d
xor edx, edx
div ecx
mov ecx, 0xbdaf262c
xor edx, edx
div ecx
mov ecx, 0xc952019d
xor edx, edx
div ecx
imul eax, eax, 0xe955bc8f
sub eax, 0xcd173f12
xor eax, 0x13926f71
sub eax, 0xa7c1796b
or eax, 0xb10a1cdd
sub eax, 0x2229881c
sub eax, 0x27fd823b
sub eax, 0x358794c4
or eax, 0x34c9ae56
add eax, 0xc1aa6669
mov ecx, 0x415d4c3d
xor edx, edx
div ecx
or eax, 0x4cf6f691
and eax, 0xf658cba5
xor eax, 0x1bf6f0e6
mov ecx, 0xf56d86b9
xor edx, edx
div ecx
sub eax, 0x741f1da1
xor eax, 0x64dfdd20
imul eax, eax, 0x8c61ee0b
xor eax, 0x44a8d098
xor eax, 0xf65ab222
mov ecx, 0xd49a5749
xor edx, edx
div ecx
sub eax, 0x548cabd5
xor eax, 0x1862b227
xor eax, 0x6c9b0d35
sub eax, 0x34044864
add eax, 0x2256321b
mov ecx, 0x3af9c874
xor edx, edx
div ecx
xor eax, 0x865cd5bb
imul eax, eax, 0x90f1ff2d
mov ecx, 0x76c76792
xor edx, edx
div ecx
sub eax, 0xba4ddd42
xor eax, 0x397bef39
and eax, 0xcfbef4b
or eax, 0x60c954ce
add eax, 0x68cca3ef
sub eax, 0x180bff2f
sub eax, 0x561f96d6
xor eax, 0xc2fff9b8
cmp eax, 0xfe797096
ja 0x10048745
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x100be7fc]
sub eax, dword [0x100be800]
and eax, 0x8a5e59c0
or eax, 0x1b4465c7
sub eax, 0xda26bcc4
and eax, 0x985eaf6e
xor eax, 0x7f960103
xor eax, 0x3f86b710
and eax, 0x9d4af6cc
and eax, 0xf051ad27
and eax, 0xc9c56808
and eax, 0x11770812
and eax, 0x5921c1a6
xor eax, 0x3f0f70ed
imul eax, eax, 0x8184f48c
xor eax, 0x75609644
mov esi, 0xfc2c62ad
xor edx, edx
div esi
or eax, 0x9daa726e
sub eax, 0x1e9af62e
xor eax, 0x5eb0f574
mov esi, 0x1ff881cd
xor edx, edx
div esi
xor eax, 0xfe40c0e9
imul eax, eax, 0x3a0ae4cb
imul eax, eax, 0xd9ef6dab
sub eax, 0x8cf78a06
add eax, 0xe3990546
sub eax, 0xfb8c4283
mov esi, 0xa3c18566
xor edx, edx
div esi
mov esi, 0x2a1f32f8
xor edx, edx
div esi
sub eax, 0xf1ebbaed
and eax, 0x230c754a
xor eax, 0xac67a744
mov esi, 0x5bec3d10
xor edx, edx
div esi
sub eax, 0x34a56e0a
mov esi, 0xd54c23d6
xor edx, edx
div esi
mov esi, 0x1619f545
xor edx, edx
div esi
and eax, 0x892c722f
mov esi, 0xd0aff73
xor edx, edx
div esi
add eax, 0x438188a1
mov esi, 0xd987fbbc
xor edx, edx
div esi
add eax, 0x7aa9ffd8
sub eax, 0xc8d0730f
imul eax, eax, 0x575c5111
and eax, 0xbc6226ae
or eax, 0x60ab632a
mov esi, 0x636933ae
xor edx, edx
div esi
add eax, 0xf38d9d01
mov esi, 0x9de0527d
xor edx, edx
div esi
or eax, 0x4594fda8
add eax, 0xb9e5abd5
add eax, 0xfea8b835
add eax, 0x152c4842
and eax, 0xca037da2
imul eax, eax, 0x28066e57
add eax, 0xbc97fd80
or eax, 0xbea6fa6
xor eax, 0xb521fb09
xor eax, 0x175387b2
and eax, 0xe29d81bd
and eax, 0x9a21df4c
sub eax, 0x7f0441e2
or eax, 0xf383500f
or eax, 0xb5fea758
add eax, 0xa00619a
or eax, 0xe8afb332
imul eax, eax, 0x751c420c
or eax, 0x323dc0b3
sub eax, 0xac6f8d4a
or eax, 0x2887634d
imul eax, eax, 0xdf08aade
imul eax, eax, 0x558937b0
imul eax, eax, 0xf75c5511
and eax, 0xbf2d03b5
mov esi, 0xfc84349e
xor edx, edx
div esi
mov edx, dword [ecx]
add edx, 1
mov dword [ecx], edx
cmp eax, 0x3a79076
ja 0x10048745
jmp 0x100483a2
jmp 0x100483a7
mov eax, dword [0x100be804]
sub eax, dword [0x100be808]
add eax, 0x21d4c076
or eax, 0x630c0d41
xor eax, 0x964c44c4
xor eax, 0xcd71e83c
mov ecx, 0xdb71396c
xor edx, edx
div ecx
or eax, 0xa15d76d0
sub eax, 0xa5e8a7ed
add eax, 0x92cb24d3
or eax, 0xe7d2e03
add eax, 0x7f2f8140
xor eax, 0xf3389261
sub eax, 0xfbe711ca
or eax, 0x8b1f938d
and eax, 0x6d27b465
mov ecx, 0x398e1757
xor edx, edx
div ecx
xor eax, 0xa0c7bc21
mov ecx, 0xa0938720
xor edx, edx
div ecx
or eax, 0x21286fd4
mov ecx, 0xaf4f4e86
xor edx, edx
div ecx
sub eax, 0x7a3d0f47
or eax, 0x9149ba82
sub eax, 0x4a458105
or eax, 0xbb09b21f
xor eax, 0xe75fb3d1
and eax, 0xec2854ea
and eax, 0x68d048b8
sub eax, 0x8a8c488c
mov ecx, 0xf1e3ad42
xor edx, edx
div ecx
add eax, 0x2d6b8715
imul eax, eax, 0xbe02290f
xor eax, 0xe12c674a
sub eax, 0x7fa43e0
add eax, 0x57a545c7
sub eax, 0xe25d6dd4
imul eax, eax, 0x79495eac
mov ecx, 0x56f7f80a
xor edx, edx
div ecx
or eax, 0xd7b6a4ae
add eax, 0x1bd1165a
sub eax, 0x8489df38
and eax, 0x2e8e29fb
or eax, 0xe33c6bc1
xor eax, 0x33bc2715
add eax, 0xccc95313
imul eax, eax, 0x2cd7502
add eax, 0xabbc66f2
and eax, 0x877f584d
sub eax, 0x4600d820
xor eax, 0x5e50585
xor eax, 0x86a457eb
mov ecx, 0x68db8a58
xor edx, edx
div ecx
sub eax, 0x8599fc29
or eax, 0xc8deffaf
and eax, 0x2dba5082
and eax, 0xbb98d474
or eax, 0x188d8c3d
mov ecx, 0x9eb7479f
xor edx, edx
div ecx
sub eax, 0xfcd17e6a
or eax, 0x2beeefb1
or eax, 0xdd207b
add eax, 0x2733da30
imul eax, eax, 0x84804a6f
xor eax, 0xb726267e
add eax, 0xfcd6cd03
sub eax, 0xe68a59a7
sub eax, 0x96ff57b1
or eax, 0xb0c6d70b
xor eax, 0x5ee77440
mov ecx, 0x58d5448b
xor edx, edx
div ecx
imul eax, eax, 0x7fe61e0d
and eax, 0x463f5330
and eax, 0x21c9c342
or eax, 0x540d3e56
cmp eax, 0x2d0784ca
jb 0x10048754
mov ecx, dword [ebp - 0x10]
mov eax, dword [0x100be80c]
or eax, dword [0x100be810]
mov esi, 0xdde364b
xor edx, edx
div esi
sub eax, 0xa12314cb
add eax, 0x4ed8faa8
or eax, 0x14dd1776
or eax, 0x959990c4
sub eax, 0xa4b52060
mov esi, 0x95ea489b
xor edx, edx
div esi
add eax, 0x1a1bbb66
imul eax, eax, 0x4460e502
sub eax, 0xa7edb9c9
imul eax, eax, 0x53b08cc6
mov esi, 0x53bf20ca
xor edx, edx
div esi
or eax, 0x5385c2d8
mov esi, 0xd67b8946
xor edx, edx
div esi
xor eax, 0xd837e56e
imul eax, eax, 0x92a0d12e
mov esi, 0x70d1f16e
xor edx, edx
div esi
sub eax, 0x1eb1be3b
or eax, 0xcc76394e
and eax, 0x388e87b5
mov esi, 0x6fa48e9f
xor edx, edx
div esi
or eax, 0xb08e85d9
and eax, 0x9f6c3aa8
xor eax, 0xed45790
and eax, 0xd8b2f719
sub eax, 0xba7c84b6
add eax, 0x140e06e4
sub eax, 0x90c43df6
imul eax, eax, 0x52b2d18c
mov esi, 0x1c5073e9
xor edx, edx
div esi
and eax, 0xdaee3d24
mov esi, 0x8b01e7ab
xor edx, edx
div esi
add eax, 0xbe3986fa
mov esi, 0x9cb18fdd
xor edx, edx
div esi
add eax, 0xdc0d4728
add eax, 0xd5c4ee9a
add eax, 0x87c78fe6
add eax, 0x96588137
xor eax, 0x92a31d39
or eax, 0x7ff8d2f1
or eax, 0xea2e68b
or eax, 0x18978098
sub eax, 0xd2d36849
or eax, 0xf1b67098
or eax, 0xf6a12884
and eax, 0xb69155dd
sub eax, 0x451357bc
add eax, 0xa8ced01b
xor eax, 0x854a455e
sub eax, 0xe7083ecc
and eax, 0xc815d696
or eax, 0x8336a8dd
mov esi, 0xda477448
xor edx, edx
div esi
or eax, 0x92dcc092
sub eax, 0xe8574549
add eax, 0x17a66f4b
xor eax, 0xe2a5d85e
sub eax, 0x2cc183e3
imul eax, eax, 0xa8fbb0a5
sub eax, 0x13dd44fd
xor eax, 0xcb00d653
or eax, 0xbd7c05c
xor eax, 0x8ba5e95d
and eax, 0xe17951bb
xor eax, 0xbe5b6bbc
add eax, 0xdd264ac5
and eax, 0x1da5a90d
xor eax, 0x23be22a4
mov esi, 0x891596de
xor edx, edx
div esi
and eax, 0x3b1c0f63
xor eax, 0xe7d7bc21
sub eax, 0xa660e5f3
mov edx, dword [ecx]
add edx, 1
mov dword [ecx], edx
cmp eax, 0x64c712f1
je 0x10048754
jmp 0x10047c97
mov eax, dword [ebp - 0x14]
cmp dword [eax], 5
setg al
and al, 1
movzx eax, al
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebp - 0xc]
push eax
mov edx, esp
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [edx], esi
mov dword [ecx], 0
mov dword [eax], 0
jmp 0x10047c5f
jmp 0x10047e4c
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x100481dc
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x1004854e