Function at 0x10048e30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x1c
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp], 0x64
call fcn.10082711
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp + 8]
xor eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x1004958b
mov eax, dword [0x100da8a0]
add eax, dword [0x100da8a4]
xor eax, 0x1995b914
mov ecx, 0x621ad908
xor edx, edx
div ecx
mov ecx, 0x280fd140
xor edx, edx
div ecx
add eax, 0xc34db9ea
or eax, 0xe8623966
xor eax, 0x8753c864
sub eax, 0x43a08e3
imul eax, eax, 0xbc708e82
add eax, 0x4e163bf5
sub eax, 0xddf77357
imul eax, eax, 0x112bbb8b
mov ecx, 0x9e27fdcf
xor edx, edx
div ecx
imul eax, eax, 0x6b4b3b6
add eax, 0x3bf1240e
or eax, 0x1383327d
or eax, 0xb6c475bd
or eax, 0x5e45bd6b
add eax, 0x2c30858d
add eax, 0xf5b2484
mov ecx, 0xbc47594
xor edx, edx
div ecx
mov ecx, 0x28eec29f
xor edx, edx
div ecx
or eax, 0x69316cb1
or eax, 0x28104f64
mov ecx, 0xf000657f
xor edx, edx
div ecx
add eax, 0xe693a2f4
or eax, 0x292eec01
add eax, 0xbbd489e0
add eax, 0x73be6880
xor eax, 0xd028e7ee
and eax, 0xec77920c
add eax, 0xa86642f7
or eax, 0xaa648acc
or eax, 0xc6eb55b
and eax, 0x7bb11022
mov ecx, 0xd825146a
xor edx, edx
div ecx
and eax, 0x60152a5d
xor eax, 0xeb717b15
or eax, 0xfeebb4bf
imul eax, eax, 0x3fcf0b84
imul eax, eax, 0xf37c2764
sub eax, 0x920d9250
and eax, 0x11b35332
imul eax, eax, 0xd4a4974a
imul eax, eax, 0x22c6f760
and eax, 0x42dd4490
sub eax, 0xe6abaa0
or eax, 0xd309a737
imul eax, eax, 0x78cb811b
and eax, 0x1e4467d7
or eax, 0xb6c38343
imul eax, eax, 0xc4b08c13
sub eax, 0x1052b3c2
xor eax, 0xd0b945e8
xor eax, 0x11cb1429
xor eax, 0xc7d44975
imul eax, eax, 0x986ff22c
add eax, 0x94519d75
or eax, 0xd86c16a3
and eax, 0x1dd7043b
add eax, 0x665fd16
sub eax, 0x18adf8b8
mov ecx, 0x48d3a5a4
xor edx, edx
div ecx
and eax, 0x507e65c5
mov ecx, 0x1765836a
xor edx, edx
div ecx
or eax, 0xb694bb4d
or eax, 0xda1603d7
mov ecx, 0x7c7ae005
xor edx, edx
div ecx
and eax, 0xd4c456cf
sub eax, 0x5de226ec
and eax, 0x9beddfd5
and eax, 0x8957b3d2
imul eax, eax, 0xfb4ca9fe
cmp eax, 0x468e73b8
je 0x100498fd
mov eax, dword [0x100da8a8]
and eax, dword [0x100da8ac]
imul eax, eax, 0xc7fec653
and eax, 0x8dddca0a
sub eax, 0xeeb7fd11
and eax, 0x7cc4cd4f
xor eax, 0x6d7204cd
sub eax, 0xe3d4d11a
xor eax, 0xf5e27dc7
and eax, 0x749275fc
and eax, 0xf62f7eec
imul eax, eax, 0x40adcf3a
imul eax, eax, 0x5ed48037
imul eax, eax, 0x6b9b9398
sub eax, 0x2a5f9e92
mov ecx, 0xd100c84c
xor edx, edx
div ecx
or eax, 0x12ccf383
or eax, 0x5e6c3584
mov ecx, 0xc3481c77
xor edx, edx
div ecx
mov ecx, 0x37cd6f77
xor edx, edx
div ecx
add eax, 0x95448fe2
sub eax, 0x505b713b
or eax, 0x554a647c
imul eax, eax, 0xb1ef1a5a
and eax, 0xf8d3accb
mov ecx, 0x5ad82649
xor edx, edx
div ecx
or eax, 0xd16ebaca
add eax, 0xa9eb90f7
sub eax, 0x858dac16
or eax, 0x5e9c1e25
imul eax, eax, 0x4a606bd5
or eax, 0x798dec0c
xor eax, 0x2d256371
mov ecx, 0x22eb4b0b
xor edx, edx
div ecx
or eax, 0x2698977f
mov ecx, 0x21ebf283
xor edx, edx
div ecx
imul eax, eax, 0xb67302b9
add eax, 0xa01b0235
sub eax, 0xa24482d8
or eax, 0xcc64d6b4
sub eax, 0x44b02133
xor eax, 0x6dc0f9bb
xor eax, 0xa7c44a42
mov ecx, 0x7be10287
xor edx, edx
div ecx
add eax, 0x4faffedc
and eax, 0x4068421a
and eax, 0x731ac39e
or eax, 0x1ab154ba
xor eax, 0xdbf1bee8
mov ecx, 0x4fe23d7b
xor edx, edx
div ecx
or eax, 0x5e523b02
sub eax, 0x7783f8c2
and eax, 0x5483b91c
sub eax, 0x58e819e9
imul eax, eax, 0x3b02b943
or eax, 0x1da41d2b
imul eax, eax, 0x7b4eaf4a
and eax, 0xd1d99fa8
or eax, 0xe123b942
add eax, 0x6b1009d4
imul eax, eax, 0x3bad1e46
mov ecx, 0x16f44422
xor edx, edx
div ecx
sub eax, 0x4740fdd9
imul eax, eax, 0x10b8cbdd
or eax, 0x30208e9a
or eax, 0xff0f20ad
imul eax, eax, 0x39c297be
or eax, 0x483b3925
add eax, 0xb45144ff
add eax, 0xbfee0dda
add eax, 0xa4edeba6
sub eax, 0xb4a9cd49
xor eax, 0x494cfc97
xor eax, 0x7ab94d26
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
mov ecx, 2
cdq
idiv ecx
mov eax, dword [ebp - 0x18]
cmp edx, 0
sete cl
mov byte [ebp - 0x11], cl
cmp eax, 0x7928dfcc
jbe 0x100498fd
mov al, byte [ebp - 0x11]
test al, 1
jne 0x100491ef
jmp 0x10049566
mov eax, dword [0x100da8b0]
or eax, dword [0x100da8b4]
imul eax, eax, 0xd121b4cf
add eax, 0x29e9bdc3
sub eax, 0xe105981
and eax, 0xd45075ed
add eax, 0x382cfcb
add eax, 0x639c027a
or eax, 0x1cb2d47a
and eax, 0xa76c8619
add eax, 0x5c5a4665
xor eax, 0x1df9d2a0
imul eax, eax, 0xed6d4ccb
xor eax, 0xb665adce
and eax, 0xecc1fa98
mov ecx, 0x9543ab4c
xor edx, edx
div ecx
or eax, 0x5ce2c222
xor eax, 0x232fd141
or eax, 0xb876a186
imul eax, eax, 0x2a819522
xor eax, 0x70ed98f0
and eax, 0x618da5ec
add eax, 0x8a67e90
add eax, 0x695b5b57
add eax, 0xf64de809
or eax, 0x9c9fed2b
sub eax, 0x7797ed57
add eax, 0x4949b1b7
mov ecx, 0xdbdc1a9f
xor edx, edx
div ecx
sub eax, 0xf30aca2f
xor eax, 0xecd4dd5a
sub eax, 0x4cb183ef
sub eax, 0x6aaee2cf
sub eax, 0xf3a1a334
imul eax, eax, 0x13400a2a
sub eax, 0x6f36a4f1
sub eax, 0x9cd5d7bb
and eax, 0x1bb55e1d
imul eax, eax, 0x13e2d12f
add eax, 0x9854946d
sub eax, 0xaf5b4e6b
and eax, 0xc10b6a13
add eax, 0xa5acc3e6
or eax, 0xe47987ab
add eax, 0x5455e984
imul eax, eax, 0xdcbf5f19
imul eax, eax, 0xceef992b
imul eax, eax, 0xad1fc5de
add eax, 0x65c8fbf
add eax, 0x12cdd7e0
and eax, 0x598c0252
and eax, 0x46a818db
add eax, 0xe45624b
sub eax, 0x9c1901f0
xor eax, 0x1875ffbb
and eax, 0x72039d37
and eax, 0xfb007ba1
xor eax, 0xb2191b5f
add eax, 0x563f9c06
and eax, 0xf08251d1
and eax, 0x7be1110c
xor eax, 0x3d5d8096
or eax, 0x7c7d2400
sub eax, 0xfbd8bf8
imul eax, eax, 0x15673c71
and eax, 0xab644134
add eax, 0xf25da7de
xor eax, 0x47032eae
mov ecx, 0xc33d5d2b
xor edx, edx
div ecx
add eax, 0xfb27f3ef
add eax, 0x9a18b2e
mov ecx, 0x3f0a284d
xor edx, edx
div ecx
sub eax, 0x49fe78db
sub eax, 0x4239fc5a
cmp eax, 0x126f8da8
jb 0x10049902
mov eax, dword [0x100da8b8]
xor edx, edx
div dword [0x100da8bc]
mov ecx, 0x4f5ab61
xor edx, edx
div ecx
mov ecx, 0x1d7c809f
xor edx, edx
div ecx
mov ecx, 0x2a21f4f4
xor edx, edx
div ecx
or eax, 0x3f92037d
mov ecx, 0xecdf31ab
xor edx, edx
div ecx
imul eax, eax, 0x4162e782
sub eax, 0x5aa4b932
sub eax, 0x37b9164d
add eax, 0x335ae997
xor eax, 0x47268e96
imul eax, eax, 0xa1718804
xor eax, 0x88b15d6d
add eax, 0x4cf34082
or eax, 0xce2c2978
xor eax, 0x5d028358
imul eax, eax, 0x295da1bc
mov ecx, 0xdbb9b240
xor edx, edx
div ecx
sub eax, 0xb8205a97
xor eax, 0x76831a36
and eax, 0x2c05edab
sub eax, 0x8653f4bc
mov ecx, 0xdf0a651d
xor edx, edx
div ecx
xor eax, 0xfb595df5
xor eax, 0xc4cedf00
sub eax, 0x281958e2
mov ecx, 0xd350e771
xor edx, edx
div ecx
sub eax, 0x29521a04
imul eax, eax, 0xf7d44911
imul eax, eax, 0x2e409ac5
sub eax, 0x71a01d86
sub eax, 0xf21d2581
mov ecx, 0x60cbdc26
xor edx, edx
div ecx
sub eax, 0x6c14a2c1
and eax, 0xfa6bc883
or eax, 0xa6c4200b
mov ecx, 0xd3c8b2ce
xor edx, edx
div ecx
sub eax, 0x2ed49e29
sub eax, 0x475a9b2d
sub eax, 0xb44a1ef6
imul eax, eax, 0x181144d8
add eax, 0x7bfa7ff1
xor eax, 0xfe8c80a6
and eax, 0x49ce81cf
sub eax, 0x3ee261b8
imul eax, eax, 0xe86f2a0
imul eax, eax, 0x10c0fe8
imul eax, eax, 0xdcd0b4d
or eax, 0x910b621a
or eax, 0x96497d80
or eax, 0xb8466b39
mov ecx, 0xe09032be
xor edx, edx
div ecx
and eax, 0x1595ab22
and eax, 0x7402a792
and eax, 0x2299ce45
xor eax, 0xa182bf5
mov ecx, 0x176a9361
xor edx, edx
div ecx
mov ecx, 0x8124b0bf
xor edx, edx
div ecx
and eax, 0xc89dabc7
imul eax, eax, 0xe6e14fcb
xor eax, 0x6f766fe7
imul eax, eax, 0xbc653fac
mov ecx, 0xfc0d9d4d
xor edx, edx
div ecx
mov ecx, 0xcc38e8b1
xor edx, edx
div ecx
or eax, 0x662f56c5
sub eax, 0x6d8ee00a
and eax, 0x100b8a24
mov ecx, 0xad525ebc
xor edx, edx
div ecx
sub eax, 0x4b87e096
and eax, 0x1b753a32
and eax, 0x320998df
imul eax, eax, 0x19fdbbbd
imul eax, eax, 0x47ea2df8
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov esi, edx
add esi, 1
mov dword [ebp - 0xc], esi
mov byte [ecx + edx], 0x30
cmp eax, 0xb9f087ac
ja 0x10049902
jmp 0x10049578
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, ecx
add edx, 1
mov dword [ebp - 0xc], edx
mov byte [eax + ecx], 0x31
mov eax, dword [ebp - 0x10]
mov ecx, 2
cdq
idiv ecx
mov dword [ebp - 0x10], eax
jmp 0x10048e5c
mov eax, dword [0x100da8c0]
xor edx, edx
div dword [str.R_WoHL]
add eax, 0xe384a966
imul eax, eax, 0xf9ebf10
xor eax, 0xe495ecad
or eax, 0x627d6a69
and eax, 0x7d2e84b4
xor eax, 0x51968ee1
imul eax, eax, 0x8eaf2d1d
imul eax, eax, 0xcd20297c
mov ecx, 0x5b2c6235
xor edx, edx
div ecx
xor eax, 0xb1e44c93
add eax, 0x4a1b3da2
mov ecx, 0x1b2616ba
xor edx, edx
div ecx
and eax, 0x2c09b763
or eax, 0x640e29ea
add eax, 0xbcbe13f1
mov ecx, 0x4129eba3
xor edx, edx
div ecx
mov ecx, 0xdce1f22a
xor edx, edx
div ecx
sub eax, 0x113237bf
sub eax, 0x40a204bc
xor eax, 0x323f83c5
mov ecx, 0xe1539cea
xor edx, edx
div ecx
add eax, 0x4c1d7b07
imul eax, eax, 0x808a34dd
imul eax, eax, 0xf18c4312
mov ecx, 0x8185a135
xor edx, edx
div ecx
sub eax, 0x7a8e4bd
mov ecx, 0x537f23d5
xor edx, edx
div ecx
imul eax, eax, 0x2843dfb2
xor eax, 0xd6ef7514
sub eax, 0xc4d8de6a
and eax, 0x2d945810
xor eax, 0x126a0c2b
xor eax, 0xbce56aa0
sub eax, 0xfaa11edf
xor eax, 0xf8a0b626
sub eax, 0xca4109a6
or eax, 0xf10a61b9
and eax, 0xd4cd12de
mov ecx, 0x26e2a7a9
xor edx, edx
div ecx
imul eax, eax, 0x59819068
xor eax, 0x8d4e54f
and eax, 0xf833dbdd
add eax, 0xa9a863ca
imul eax, eax, 0x29809a
sub eax, 0x2e5c7dd3
mov ecx, 0x29388c0f
xor edx, edx
div ecx
imul eax, eax, 0x24ad12c2
add eax, 0x3a1e8907
and eax, 0x2f5b75f2
or eax, 0x6f2e17c4
or eax, 0x4b928889
imul eax, eax, 0xe224e2e8
sub eax, 0x1dad8bb4
mov ecx, 0x1598d3fb
xor edx, edx
div ecx
and eax, 0x837fed65
and eax, 0xff5b55cc
xor eax, 0xe4d5cefd
sub eax, 0x5cafa62f
imul eax, eax, 0x90d5a788
xor eax, 0xdd2a8576
sub eax, 0x9b81c767
or eax, 0x662177df
and eax, 0xa0f6b9fb
sub eax, 0xe2860112
or eax, 0xc09cfffa
or eax, 0x4dccf5c
xor eax, 0xfdd81fa2
and eax, 0x749d27ef
xor eax, 0x987f9c26
and eax, 0xdf8a5a13
add eax, 0xe616b64d
add eax, 0xfdffc843
cmp eax, 0xcdbe876a
ja 0x10049919
mov eax, dword [0x100da8c8]
imul eax, dword [0x100da8cc]
and eax, 0x19059a0
imul eax, eax, 0xa1294cba
xor eax, 0xbee3a8e5
or eax, 0xede5f7d4
xor eax, 0xf9fa9350
add eax, 0x5d24fd61
and eax, 0x477b3f7a
add eax, 0xafe8b75b
add eax, 0x3a85cdcf
imul eax, eax, 0xda2722de
sub eax, 0x3c3f702f
add eax, 0x2e74ad43
or eax, 0xe32c1758
or eax, 0xc152c574
add eax, 0x633070a1
xor eax, 0x99227e1d
mov ecx, 0x718c9341
xor edx, edx
div ecx
or eax, 0xe1cff3c5
add eax, 0x5422b210
add eax, 0x2b595978
imul eax, eax, 0x491c3f9a
and eax, 0x3a653486
imul eax, eax, 0x1f03ec5f
add eax, 0x5751faee
or eax, 0xe2d39b74
or eax, 0x17b89605
or eax, 0xc342a38c
or eax, 0xd0d568fa
add eax, 0x7c951535
xor eax, 0xbf67ad67
imul eax, eax, 0xb2f5d47e
mov ecx, 0xda40984c
xor edx, edx
div ecx
mov ecx, 0xc55eb3e
xor edx, edx
div ecx
imul eax, eax, 0xafb7751a
and eax, 0x6667d3a1
mov ecx, 0x5d65cdeb
xor edx, edx
div ecx
add eax, 0xa37a44c8
sub eax, 0x1bbdac58
imul eax, eax, 0xd92ad135
imul eax, eax, 0x78155262
xor eax, 0x8aae6df2
add eax, 0x62be110
xor eax, 0xbc7e27be
mov ecx, 0x3bffe43d
xor edx, edx
div ecx
xor eax, 0xe076d0b1
sub eax, 0xc7869f9b
imul eax, eax, 0xfbd9d549
sub eax, 0x9fc50a9c
or eax, 0x3306c03e
or eax, 0xeef6fdb
sub eax, 0xaf44e77c
or eax, 0x2d8db283
or eax, 0xc7bfa823
mov ecx, 0x66bcc398
xor edx, edx
div ecx
xor eax, 0x8dd35b34
and eax, 0x2aa90bd
add eax, 0xc4293814
or eax, 0xec797539
xor eax, 0x7fd7c93d
or eax, 0x375683ea
add eax, 0xf3bb5893
xor eax, 0x991cda5f
and eax, 0xd951285c
xor eax, 0xc24a3fa5
sub eax, 0x13539751
mov ecx, 0x4a6bcbf3
xor edx, edx
div ecx
or eax, 0xfcbb0764
imul eax, eax, 0xc4346b3e
add eax, 0x5433164e
or eax, 0x917b1acb
or eax, 0x87d366b6
imul eax, eax, 0x3e95f9bf
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov byte [ecx + edx], 0
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], ecx
cmp eax, 0x171555b6
jbe 0x1004973e
mov eax, dword [ebp - 0x1c]
add esp, 0x1c
pop esi
pop ebp
ret
jmp 0x10049017
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, ecx
add edx, 1
mov dword [ebp - 0xc], edx
mov byte [eax + ecx], 0x30
jmp 0x10049386
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov byte [eax + ecx], 0
jmp 0x1004973e