Function at 0x100785c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x24
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [str._f]
and eax, dword [0x101495ac]
add eax, 0x3b3d3d2b
sub eax, 0x7a501ff
imul eax, eax, 0xa9a4bcc9
or eax, 0x2f566e2
xor eax, 0xb199793b
mov ecx, 0xa7db7f1b
xor edx, edx
div ecx
mov ecx, 0xaf1d4b3f
xor edx, edx
div ecx
xor eax, 0xae4c935f
or eax, 0x96dcd849
xor eax, 0xdd1aa218
mov ecx, 0x2957da67
xor edx, edx
div ecx
sub eax, 0x54291f54
and eax, 0x41d47544
or eax, 0x8b221340
add eax, 0x974ed4ff
add eax, 0xd566411b
or eax, 0xea98ce0d
add eax, 0x7c9ef40e
and eax, 0x3131a977
or eax, 0xc687c7a6
and eax, 0xc8965285
xor eax, 0x24055316
xor eax, 0xd064fdfb
or eax, 0x6b01f6e2
imul eax, eax, 0xa583a048
add eax, 0xf73fba2c
imul eax, eax, 0xea134c15
mov ecx, 0xa96e34e4
xor edx, edx
div ecx
xor eax, 0xd1f3903e
imul eax, eax, 0x5379230
imul eax, eax, 0x89b8343f
xor eax, 0xc872f68
and eax, 0x4e91dfb9
cmp eax, 0x4e32b9df
je 0x10078f97
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, 0xb166d226
mov dword [ebp - 0x18], eax
push eax
mov edx, esp
mov dword [ebp - 0x24], edx
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [ebp - 0x20], ecx
mov dword [edx], ecx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.10048130
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, 0
sete cl
mov byte [ebp - 0x11], cl
cmp eax, 0x6a6c47e3
jbe 0x10078f97
mov al, byte [ebp - 0x11]
test al, 1
jne 0x10078dc4
jmp 0x100786fa
mov eax, dword [0x101495b8]
xor edx, edx
div dword [0x101495bc]
imul eax, eax, 0x366187ef
and eax, 0x6210047
and eax, 0x28813cc0
or eax, 0x41974350
sub eax, 0xff2e7b13
mov ecx, 0xb8403564
xor edx, edx
div ecx
mov ecx, 0xbc237942
xor edx, edx
div ecx
add eax, 0x1a454d66
and eax, 0xa91ae61
sub eax, 0x902a5267
xor eax, 0xb60a35d
imul eax, eax, 0x31d8b334
or eax, 0x8229eb3a
add eax, 0xb021a369
sub eax, 0x93a93326
or eax, 0xaab2c6ef
imul eax, eax, 0xff18d852
xor eax, 0x60339768
add eax, 0x2945ea3
or eax, 0xe7347d8d
or eax, 0xeea58216
imul eax, eax, 0x1f3ad737
xor eax, 0xc8d5b0d7
mov ecx, 0x97c197b2
xor edx, edx
div ecx
or eax, 0x4bed6e23
mov ecx, 0xe29409b2
xor edx, edx
div ecx
imul eax, eax, 0xcc21c103
imul eax, eax, 0x9d58b700
sub eax, 0x25ac7fa9
add eax, 0xde8b8c4a
mov ecx, 0xbed95518
xor edx, edx
div ecx
mov ecx, 0x7a337d46
xor edx, edx
div ecx
add eax, 0xb4d771a
cmp eax, 0x3d604897
ja 0x10078fb8
mov eax, dword [str.bQ7_A]
xor edx, edx
div dword [0x101495c4]
imul eax, eax, 0x2733a647
imul eax, eax, 0xfe60a8c6
or eax, 0x5c348c8a
mov ecx, 0xa817109c
xor edx, edx
div ecx
imul eax, eax, 0x12b8ed68
mov ecx, 0xd383cb94
xor edx, edx
div ecx
or eax, 0xc9897028
xor eax, 0xf1742ddb
and eax, 0xbde9214e
sub eax, 0xf04ef87f
sub eax, 0x37107e16
and eax, 0x7f2495bf
add eax, 0xf095fad
mov ecx, 0x3fd413b0
xor edx, edx
div ecx
imul eax, eax, 0x1486d435
and eax, 0x9e7b79aa
sub eax, 0xc5a771b2
mov ecx, 0xafb68825
xor edx, edx
div ecx
sub eax, 0xa8a7fa7c
and eax, 0x439eb05a
mov ecx, 0x19d1a4b3
xor edx, edx
div ecx
xor eax, 0xb0d78e29
and eax, 0xe21d5245
sub eax, 0x39978d7f
add eax, 0x8bbed56e
or eax, 0xc8919f8c
mov ecx, 0x4fb5362e
xor edx, edx
div ecx
xor eax, 0x60987918
sub eax, 0x56792699
or eax, 0x5cca2d0c
xor eax, 0xed01cd98
sub eax, 0xe69a90f4
add eax, 0x86282e14
cmp eax, 0xb4d8a310
ja 0x100787d5
mov eax, dword [0x101495c8]
xor eax, dword [str.r2HO_]
mov ecx, 0xdefea353
xor edx, edx
div ecx
xor eax, 0xf2a2a87f
sub eax, 0xcdd1f735
and eax, 0x6ac22dce
add eax, 0x34c52ee6
mov ecx, 0x1a5501d3
xor edx, edx
div ecx
xor eax, 0x2f873d47
imul eax, eax, 0xf9e7ee41
imul eax, eax, 0xcf0f3d7
mov ecx, 0x798543e0
xor edx, edx
div ecx
add eax, 0x706e3038
xor eax, 0x5337c255
add eax, 0xb64739f3
mov ecx, 0x7ca5bc91
xor edx, edx
div ecx
imul eax, eax, 0x8baac65c
mov ecx, 0xab64ef30
xor edx, edx
div ecx
sub eax, 0x59b77f61
imul eax, eax, 0x91083e33
sub eax, 0x145c6727
or eax, 0x4954fe53
mov ecx, 0xa5cad99b
xor edx, edx
div ecx
or eax, 0xae4a46e7
and eax, 0x8591654f
and eax, 0xcdb52f3b
or eax, 0x2265d5d3
imul eax, eax, 0x5d267e47
and eax, 0x46aac924
mov ecx, 0x468fa704
xor edx, edx
div ecx
sub eax, 0x97559624
sub eax, 0x62e21aaf
sub eax, 0xcde2e5fa
sub eax, 0x62ccd13e
sub eax, 0xf1f62d6a
cmp eax, 0x12c744d6
jb 0x10078dd2
mov eax, dword [0x101495d0]
and eax, dword [0x101495d4]
mov ecx, 0x59d4d01e
xor edx, edx
div ecx
and eax, 0x1f3fa87e
add eax, 0xb9d61dd5
or eax, 0x257da882
and eax, 0xd49681e0
add eax, 0x259a4899
or eax, 0x5110bd2d
sub eax, 0xc3c2952d
imul eax, eax, 0x8bf96755
add eax, 0xdfbc1936
imul eax, eax, 0xe8842e18
xor eax, 0xaf5e95e7
imul eax, eax, 0xb889d466
and eax, 0x1125b5dd
xor eax, 0x1d708c11
mov ecx, 0x50e6086f
xor edx, edx
div ecx
mov ecx, 0x7d458878
xor edx, edx
div ecx
or eax, 0xa5fdb579
sub eax, 0x8028dea0
imul eax, eax, 0x12c56786
imul eax, eax, 0x80d58c2a
or eax, 0x19ce669b
sub eax, 0x32dcb325
add eax, 0x52b45703
imul eax, eax, 0x424e10c1
xor eax, 0x7b7dbad2
or eax, 0x92fb0459
sub eax, 0x512b2667
sub eax, 0xf2930411
mov ecx, 0xf74161d6
xor edx, edx
div ecx
mov ecx, 0x428f6d86
xor edx, edx
div ecx
add eax, 0xb554665f
imul eax, eax, 0x4f933592
cmp eax, 0x144ea68d
je 0x10078fbd
mov eax, dword [0x101495d8]
or eax, dword [0x101495dc]
sub eax, 0x371e9f83
and eax, 0x15ad3532
mov ecx, 0xb8e3fc
xor edx, edx
div ecx
sub eax, 0x715aab8a
imul eax, eax, 0x51c38ea0
imul eax, eax, 0x9c0ad71e
mov ecx, 0x61452128
xor edx, edx
div ecx
imul eax, eax, 0xe4ab1d22
add eax, 0x63a695b0
xor eax, 0x845a8086
mov ecx, 0xab92fed
xor edx, edx
div ecx
add eax, 0x2c1c7117
sub eax, 0x283c9f2b
and eax, 0xdb414d32
and eax, 0x5fc2e23c
sub eax, 0x7f2b2803
mov ecx, 0x9dbb9542
xor edx, edx
div ecx
sub eax, 0xb0217e48
add eax, 0x2d7c25e3
imul eax, eax, 0x74b17684
sub eax, 0x507b5e8f
mov ecx, 0x58920769
xor edx, edx
div ecx
add eax, 0x72141153
xor eax, 0xd020a2d2
or eax, 0xa9c05ff6
mov ecx, 0x677056d1
xor edx, edx
div ecx
xor eax, 0x1d38f61e
xor eax, 0x81843f59
or eax, 0xdb4ba794
add eax, 0x9776e30e
imul eax, eax, 0xc9bd5eb7
add eax, 0x2fc6c803
mov ecx, 0x51dab14c
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
mov eax, dword [ebp - 0x28]
add esp, 4
cmp eax, 0x921c2bc
je 0x10078a60
mov eax, dword [0x101495e0]
sub eax, dword [0x101495e4]
sub eax, 0xd2a7c19b
sub eax, 0xc67aa142
add eax, 0xae232337
mov ecx, 0x41516aa9
xor edx, edx
div ecx
add eax, 0xae7666ea
sub eax, 0x91966ccb
sub eax, 0x736a63dd
imul eax, eax, 0x28d2e7c7
and eax, 0xaa20c765
or eax, 0x2765b965
imul eax, eax, 0x5af2524e
xor eax, 0x9f3b28f4
add eax, 0x38302a69
or eax, 0x3acdd5ed
xor eax, 0x98942280
mov ecx, 0x8c97e94a
xor edx, edx
div ecx
and eax, 0xfea968b8
add eax, 0x8155510c
sub eax, 0xfdd378e7
mov ecx, 0x7111d6c
xor edx, edx
div ecx
mov ecx, 0xfdc262bd
xor edx, edx
div ecx
xor eax, 0xe401f4f7
sub eax, 0x59eab77f
mov ecx, 0xf47c7c6c
xor edx, edx
div ecx
or eax, 0xe337ad38
and eax, 0xcea74d60
and eax, 0xdb65fc97
or eax, 0x471b504b
and eax, 0x9822174c
imul eax, eax, 0x7f4e8961
xor eax, 0xdbc0f025
mov ecx, 0xefcd494d
xor edx, edx
div ecx
sub eax, 0x4d53731b
cmp eax, 0x30c673bc
jb 0x10078dd2
mov eax, dword [0x101495e8]
or eax, dword [0x101495ec]
xor eax, 0x8e91f2e4
add eax, 0xc9f59a49
xor eax, 0x5c99472b
and eax, 0xa66d0df9
add eax, 0xc751432f
and eax, 0x2eebb122
sub eax, 0x9815850c
or eax, 0x387f3d69
add eax, 0x1e1eeff5
sub eax, 0x73ac0bfd
imul eax, eax, 0xb0cc26aa
sub eax, 0x79d5b8bc
mov ecx, 0x91bfc5e0
xor edx, edx
div ecx
sub eax, 0x522a0ecf
sub eax, 0xd23d089b
xor eax, 0x8d583ec1
add eax, 0x685daa7f
xor eax, 0xd0c8adaa
and eax, 0x7b396461
xor eax, 0x5733e4d3
imul eax, eax, 0x5c437166
xor eax, 0xda5406b3
or eax, 0x72c618e5
mov ecx, 0x5257397d
xor edx, edx
div ecx
or eax, 0xf8ece81c
xor eax, 0x56c3fed9
sub eax, 0x79dbd6c8
sub eax, 0x97469a01
and eax, 0xa9ebc821
sub eax, 0xeae77e94
and eax, 0xf931e6ac
mov ecx, 0x9edf543e
xor edx, edx
div ecx
mov ecx, 0xdeae5a37
xor edx, edx
div ecx
cmp eax, 0xc154d0a5
jae 0x10078fd3
mov eax, dword [0x101495f0]
sub eax, dword [0x101495f4]
sub eax, 0xf459e770
add eax, 0xc2220358
add eax, 0x89b63a21
sub eax, 0x7b4fb3cb
and eax, 0x3a40debc
and eax, 0x3968e2a7
sub eax, 0x65110b0f
or eax, 0xe136d20f
add eax, 0x247e0fd6
add eax, 0xe8c94ece
and eax, 0x8ab21cd7
add eax, 0x5b6c41fb
imul eax, eax, 0x8b67728b
and eax, 0xc8b5d6c4
or eax, 0x66fcfdec
or eax, 0x5a87cd01
add eax, 0x333b4116
xor eax, 0x84abedb3
and eax, 0x8202455d
sub eax, 0x299d3847
or eax, 0x3ae84253
add eax, 0x796fe96d
xor eax, 0xea64897a
or eax, 0xc7e94183
mov ecx, 0xd41166a
xor edx, edx
div ecx
imul eax, eax, 0xf8fd540
mov ecx, 0x245000b9
xor edx, edx
div ecx
add eax, 0xeb782335
and eax, 0x55e98f0b
or eax, 0x4f877d36
and eax, 0x39815ba7
imul eax, eax, 0x2e889ef4
imul eax, eax, 0xed48f952
cmp eax, 0x476dcbb1
ja 0x10078cf8
jmp 0x10078dc4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [0x101495f8]
add eax, dword [0x101495fc]
imul eax, eax, 0x1a84600
sub eax, 0x767e28df
mov ecx, 0xbba054cd
xor edx, edx
div ecx
mov ecx, 0xc02659cc
xor edx, edx
div ecx
or eax, 0xddcf8cb2
and eax, 0x3d645a7d
imul eax, eax, 0x293b8679
xor eax, 0x2c12f309
imul eax, eax, 0x9c9fedd3
add eax, 0xe835a0e5
imul eax, eax, 0xda453f32
or eax, 0x6cfe7ff9
add eax, 0xdae5aa73
sub eax, 0xb18ab626
xor eax, 0xf2e08b0d
imul eax, eax, 0x5912ace5
xor eax, 0x3e03452f
add eax, 0xda4f72ad
imul eax, eax, 0x21e0773c
add eax, 0xe5cb5162
and eax, 0xb528b0f
and eax, 0x1abe124b
imul eax, eax, 0xc4914549
add eax, 0x64490ce3
mov ecx, 0x6bf04cd5
xor edx, edx
div ecx
and eax, 0x4c4e38d4
and eax, 0x3a02adf1
imul eax, eax, 0x9aa896c3
add eax, 0x3f0a3946
mov ecx, 0x6096bfb5
xor edx, edx
div ecx
and eax, 0xefb1488c
and eax, 0xeb1d8e13
imul eax, eax, 0xccfa848b
cmp eax, 0x1cd1fb4c
je 0x10078fd8
mov eax, dword [0x10149600]
add eax, dword [0x10149604]
mov ecx, 0x1b8a4bd9
xor edx, edx
div ecx
imul eax, eax, 0x2d323583
sub eax, 0x2ec57f13
imul eax, eax, 0xa9261924
xor eax, 0xa8e52ddc
xor eax, 0x4b7c4f57
imul eax, eax, 0xa4430150
and eax, 0xec9def21
and eax, 0x221630a3
sub eax, 0x1a1594ec
mov ecx, 0x149a1cb5
xor edx, edx
div ecx
sub eax, 0xc081174a
sub eax, 0x24ba4a9
add eax, 0xe2bfcc0
sub eax, 0x9c57f0da
or eax, 0x356f8806
and eax, 0x4fb6afd
add eax, 0xf348ddfd
or eax, 0xa8505766
or eax, 0xed7c8e0a
mov ecx, 0x962b3b06
xor edx, edx
div ecx
and eax, 0xf4a2c078
sub eax, 0x6ec424ed
imul eax, eax, 0xa87faea8
sub eax, 0xcc19dd38
add eax, 0xed623f2b
sub eax, 0x9266892c
imul eax, eax, 0x9f1fbd1a
imul eax, eax, 0x8e5f61a2
and eax, 0x2959525e
mov ecx, 0x3d7a97d9
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
add ecx, 0x36984b3f
or ecx, 0xf24186ff
mov dword [ebp - 0x2c], ecx
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
mov eax, dword [ebp - 0x2c]
add esp, 4
cmp eax, 0x806eb769
jbe 0x10078ea6
jmp 0x1007898a
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
push eax
mov eax, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [esi], edi
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
call fcn.10048130
jmp 0x100786a1
jmp 0x100787d5
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
add esp, 4
jmp 0x10078a60
jmp 0x10078cf8
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
add esp, 4
jmp 0x10078ea6