Function at 0x10067810
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x40
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [0x100c42d8]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
cmp dword [ebp + 0xc], 0
setge al
xor al, 0xff
xor al, 0xff
and al, 1
movzx eax, al
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x1006785c
mov dword [ebp - 0x14], 0
jmp 0x100683bb
jmp 0x10067861
mov eax, dword [ebp + 0xc]
lea ecx, [ebp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.100684a0
cmp eax, 0
jge 0x10067890
mov dword [ebp - 0x14], 0
jmp 0x100683bb
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.10068fb0
sub esp, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x24]
setle al
xor al, 0xff
xor al, 0xff
and al, 1
movzx eax, al
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x10067c4b
mov eax, dword [0x100c40c8]
or eax, dword [0x100c40cc]
imul eax, eax, 0x40c8faa2
imul eax, eax, 0x37edd577
sub eax, 0xc73a593f
add eax, 0x4bf7209f
xor eax, 0xa95e867e
add eax, 0x9f77e6e
and eax, 0x9fe15a39
and eax, 0xd45119bc
imul eax, eax, 0xb24472a1
add eax, 0x82f2ac7e
and eax, 0x4e7effc8
add eax, 0x5e86a098
sub eax, 0x284cd871
and eax, 0x5191ad38
xor eax, 0xa179be9d
imul eax, eax, 0x42a93cb1
add eax, 0x254c12aa
add eax, 0x806a410c
mov ecx, 0xd0fff3d0
xor edx, edx
div ecx
sub eax, 0x79b37c18
imul eax, eax, 0xacd4c4db
sub eax, 0xdd55cd2a
xor eax, 0x855e21d4
mov ecx, 0xd3de3b8a
xor edx, edx
div ecx
mov ecx, 0xffeee014
xor edx, edx
div ecx
or eax, 0xefc1b896
sub eax, 0x57b39984
sub eax, 0x22628088
sub eax, 0x94ede4f8
or eax, 0xb6361191
add eax, 0x348245c8
mov ecx, 0x9d8b5241
xor edx, edx
div ecx
imul eax, eax, 0x461f5e45
sub eax, 0x3cd18d76
mov ecx, 0x42c26cf9
xor edx, edx
div ecx
add eax, 0xc477fa00
or eax, 0xfa75160f
xor eax, 0xe4e32d0
and eax, 0x2163dd9c
or eax, 0xd13acdde
xor eax, 0x7230f4b1
sub eax, 0x13ba4241
xor eax, 0x9b40a3c4
sub eax, 0x573488e3
mov ecx, 0x687a11e7
xor edx, edx
div ecx
sub eax, 0x43e3c23e
mov ecx, 0x8a6ad39
xor edx, edx
div ecx
xor eax, 0x3598aa7c
or eax, 0xaf954f8
mov ecx, 0xa2fc525c
xor edx, edx
div ecx
imul eax, eax, 0x30d719af
mov ecx, 0x898a9852
xor edx, edx
div ecx
sub eax, 0xcab2698a
add eax, 0xb4ec1bef
add eax, 0xbe998ef7
sub eax, 0x138cc853
add eax, 0xd6427d2c
xor eax, 0x8517b591
xor eax, 0x2ca034d5
add eax, 0x7e4c9f2a
and eax, 0xa0b6ca97
add eax, 0x75e30dcc
xor eax, 0xefb3003a
mov ecx, 0xd8744161
xor edx, edx
div ecx
imul eax, eax, 0x971767c7
sub eax, 0xd5a67a77
sub eax, 0x9fa9745
and eax, 0xb6738653
mov ecx, 0x2bc9c0b0
xor edx, edx
div ecx
or eax, 0x7043e102
and eax, 0xef309285
mov ecx, 0x684cc0f2
xor edx, edx
div ecx
cmp eax, 0x433eb2a7
ja 0x100683d6
mov eax, dword [str.UAmn]
imul eax, dword [0x100c40d4]
imul eax, eax, 0xae6d5b7d
mov ecx, 0x8739504b
xor edx, edx
div ecx
imul eax, eax, 0x3aff9dec
add eax, 0x5dadf86f
and eax, 0xa2698a85
xor eax, 0x38fdebce
sub eax, 0xec0a7124
add eax, 0xa72e094d
imul eax, eax, 0x915526cb
or eax, 0x628ab77c
add eax, 0xd935f3f1
xor eax, 0x2e56dcc1
and eax, 0x582c4565
add eax, 0x198f8c71
and eax, 0x82cb089d
add eax, 0x97779b01
imul eax, eax, 0xc6bc32c3
sub eax, 0xadc1eafa
mov ecx, 0xa8648651
xor edx, edx
div ecx
sub eax, 0xfa1358d1
imul eax, eax, 0x2aff67cc
imul eax, eax, 0x5735bae0
sub eax, 0xc5e7df0e
sub eax, 0xb23e98e1
xor eax, 0xe7b0749f
xor eax, 0x205b6328
and eax, 0xb0ef04f6
and eax, 0xaf0e0342
mov ecx, 0xecacfa28
xor edx, edx
div ecx
and eax, 0x9ece2369
mov ecx, 0x7a5d54bb
xor edx, edx
div ecx
xor eax, 0x1c76308e
imul eax, eax, 0x581ad04a
xor eax, 0x3665bdbd
or eax, 0xe0c45418
mov ecx, 0x811fd0e7
xor edx, edx
div ecx
sub eax, 0xceaed759
sub eax, 0x183c005
sub eax, 0xe0d415c9
mov ecx, 0xd6eb42a5
xor edx, edx
div ecx
mov ecx, 0x3f0ce92a
xor edx, edx
div ecx
imul eax, eax, 0x848f202d
imul eax, eax, 0x511ffb46
mov ecx, 0xe39ca605
xor edx, edx
div ecx
and eax, 0x13f71156
and eax, 0x7b57fde5
sub eax, 0x76fc611a
xor eax, 0xa7a2cd05
sub eax, 0x11cf224e
or eax, 0x92108124
sub eax, 0x1efbf55e
and eax, 0xf4b2d9c7
mov ecx, 0x1a5df021
xor edx, edx
div ecx
mov ecx, 0x8d4b098
xor edx, edx
div ecx
sub eax, 0xda1de21a
mov ecx, 0x6953e7c7
xor edx, edx
div ecx
mov ecx, 0x6f9840b9
xor edx, edx
div ecx
add eax, 0xa7dc0410
imul eax, eax, 0x2fcbd257
or eax, 0x136d2416
mov ecx, 0x628a5de7
xor edx, edx
div ecx
and eax, 0x71a8cf61
add eax, 0xa7ab3ef7
or eax, 0x22dc7487
sub eax, 0xc446a329
imul eax, eax, 0x718b9e8
imul eax, eax, 0xe30d7284
sub eax, 0x8cfcbf36
xor eax, 0x944ba534
and eax, 0xb2524efc
imul eax, eax, 0x88b81af3
imul eax, eax, 0x89efb8bf
mov dword [ebp - 0x14], 0
cmp eax, 0x8d216684
jbe 0x10067a7e
jmp 0x100683bb
mov eax, dword [0x100c40d8]
and eax, dword [0x100c40dc]
imul eax, eax, 0x673c05b7
mov ecx, 0x814c7207
xor edx, edx
div ecx
add eax, 0xc3b79322
add eax, 0xcc5b2bc6
add eax, 0x8157aaba
add eax, 0xf384c49
add eax, 0xa07f0caa
mov ecx, 0xc81d1676
xor edx, edx
div ecx
imul eax, eax, 0x39873818
imul eax, eax, 0xac63b638
imul eax, eax, 0x9e509052
mov ecx, 0x2002591e
xor edx, edx
div ecx
add eax, 0x1b517df5
imul eax, eax, 0xb270918b
mov ecx, 0xcce59fa0
xor edx, edx
div ecx
and eax, 0x762530af
mov ecx, 0x3703f9c3
xor edx, edx
div ecx
and eax, 0xf107a984
add eax, 0x5dd2cb29
imul eax, eax, 0x181d0928
sub eax, 0xf3da6486
or eax, 0x62b420b
mov ecx, 0x571b47eb
xor edx, edx
div ecx
or eax, 0x8eae0fa9
add eax, 0x2a4fd65d
add eax, 0xe56cb4b4
mov ecx, 0x2ae06129
xor edx, edx
div ecx
add eax, 0x770e0c08
or eax, 0x1bed37e6
or eax, 0xa157695
imul eax, eax, 0x6f09e651
or eax, 0x5e81f35e
mov ecx, 0xd07b02c8
xor edx, edx
div ecx
mov ecx, 0x4f9013c1
xor edx, edx
div ecx
xor eax, 0x164da979
imul eax, eax, 0x74e647d
xor eax, 0xad0ac2b3
sub eax, 0x3d04ba98
xor eax, 0xe07a7681
imul eax, eax, 0x88318598
imul eax, eax, 0x92aaff5c
imul eax, eax, 0xc55478e0
imul eax, eax, 0x2096c5ba
mov ecx, 0x50932d41
xor edx, edx
div ecx
mov ecx, 0xc32736aa
xor edx, edx
div ecx
sub eax, 0x34d0d2de
add eax, 0xa8e35fb3
imul eax, eax, 0x9dcd14cd
sub eax, 0xfa4594bb
or eax, 0xf87debe4
add eax, 0x24c735c0
xor eax, 0xd817b4e4
imul eax, eax, 0x5f82c906
and eax, 0xc70a759e
sub eax, 0x5819910c
mov ecx, 0x39e54506
xor edx, edx
div ecx
xor eax, 0x31b0e8b8
mov ecx, 0x332cac56
xor edx, edx
div ecx
or eax, 0xc6f2427e
xor eax, 0x5a4568c9
and eax, 0x325a8199
and eax, 0x84225e7f
sub eax, 0x210164fd
add eax, 0x9ef5ad6f
imul eax, eax, 0xbc429bd4
sub eax, 0x5614205d
mov ecx, 0x42f4d447
xor edx, edx
div ecx
imul eax, eax, 0x263fbe5d
or eax, 0x4ee60e81
and eax, 0x43e25be8
xor eax, 0xec54ee53
or eax, 0xdb8473fa
cmp eax, 0xe07e6808
je 0x100683e2
mov eax, dword [0x100c40e0]
add eax, dword [0x100c40e4]
and eax, 0xe120bf8f
and eax, 0x4eb5a5f
mov ecx, 0x1d91f7ce
xor edx, edx
div ecx
and eax, 0xa65b1ac7
mov ecx, 0x7fc2c36d
xor edx, edx
div ecx
or eax, 0x7cf431e3
xor eax, 0x85c5bba5
sub eax, 0xa9b48507
imul eax, eax, 0x7ef510fe
or eax, 0x205abc9c
mov ecx, 0xe26fa352
xor edx, edx
div ecx
sub eax, 0x1c119ced
sub eax, 0xf22dc989
sub eax, 0x97cfc661
and eax, 0xab4d28cb
and eax, 0x540ec262
add eax, 0x84e93ff1
or eax, 0x1c71a202
sub eax, 0x25dd1164
xor eax, 0x2d0a6b23
mov ecx, 0xd12276e8
xor edx, edx
div ecx
sub eax, 0x764913f8
mov ecx, 0x4be17e3b
xor edx, edx
div ecx
and eax, 0x8464fb31
sub eax, 0x4e9c9a0e
and eax, 0xae82e727
sub eax, 0x59ba84b4
and eax, 0x73205cbd
imul eax, eax, 0x4b7f7dfd
and eax, 0x9380aaa
or eax, 0x34f3a69c
imul eax, eax, 0x11102b82
and eax, 0x89b78c3a
add eax, 0xf8c77e7e
sub eax, 0xd50e22e4
or eax, 0xf5c93346
add eax, 0x11c419d
xor eax, 0x719407d1
or eax, 0xe0a7871e
add eax, 0x52c024be
sub eax, 0x4f0e385d
or eax, 0x87a0abb8
xor eax, 0xb19ff081
sub eax, 0xd4682743
xor eax, 0xede4a2ee
mov ecx, 0x5c700e68
xor edx, edx
div ecx
add eax, 0xc9540e76
imul eax, eax, 0xcd74a671
imul eax, eax, 0x501d500f
xor eax, 0xb6b0ed29
or eax, 0xb6b239e7
sub eax, 0x5d1aeb6d
and eax, 0x1cfee68e
xor eax, 0x6192051f
mov ecx, 0x9dea53bb
xor edx, edx
div ecx
imul eax, eax, 0x27d1ff67
xor eax, 0xe71ad594
or eax, 0xa28bd4a8
and eax, 0xc24a7f78
xor eax, 0x36d02204
add eax, 0xf6d32117
sub eax, 0x63ac665f
or eax, 0xc3c4e9b0
imul eax, eax, 0x50568e39
or eax, 0xe2fd6c6d
xor eax, 0x26dd5a48
imul eax, eax, 0xb33c5edf
imul eax, eax, 0x3b2206af
and eax, 0xc7efa440
imul eax, eax, 0x3b5a32de
or eax, 0xe77d7303
mov ecx, 0x6684c1f0
xor edx, edx
div ecx
cmp eax, 0xd5c1bb93
je 0x100683e2
jmp 0x10067fbe
mov eax, dword [0x100c40e8]
or eax, dword [0x100c40ec]
and eax, 0x652b5492
or eax, 0x312601e8
xor eax, 0xd6f91282
and eax, 0x4c4eeb85
sub eax, 0x31f4cfd4
xor eax, 0x95a30ca0
add eax, 0x66d6cf2f
imul eax, eax, 0x148b7017
imul eax, eax, 0x6b773ca8
mov ecx, 0xe40cf7d9
xor edx, edx
div ecx
sub eax, 0x4f9d3d57
imul eax, eax, 0x9551ba7b
mov ecx, 0xe2968227
xor edx, edx
div ecx
or eax, 0xa73be6a0
sub eax, 0x9f7f5011
imul eax, eax, 0xaffaedd4
xor eax, 0xbbdac231
sub eax, 0xdccb706
xor eax, 0xdb9c62fc
xor eax, 0xef00591c
add eax, 0xf4a0a92c
add eax, 0xbf0ff2f8
add eax, 0x39f53cf9
xor eax, 0x5d9a90c6
add eax, 0x7993a8e
sub eax, 0x32a9898c
or eax, 0xb754b62e
or eax, 0x6cf2ab1d
add eax, 0x9635a2ad
sub eax, 0xe1926918
or eax, 0xc8e5289d
add eax, 0x348700a1
xor eax, 0x35ebc36
add eax, 0x171f84e9
or eax, 0xc09b932b
sub eax, 0x43cfc209
sub eax, 0x2763420a
and eax, 0xe185ca89
sub eax, 0xa7824396
add eax, 0x84d0d077
or eax, 0x9e1ec866
and eax, 0x23dd34f3
or eax, 0xa5199fbc
sub eax, 0xdd91930c
mov ecx, 0x567215d3
xor edx, edx
div ecx
add eax, 0x60d923f5
mov ecx, 0x142e2aa9
xor edx, edx
div ecx
add eax, 0x89fd2c57
or eax, 0x74485de1
add eax, 0xdb1f78a1
or eax, 0x78e867ba
add eax, 0xf433af5f
and eax, 0x25f81c77
add eax, 0x64351574
add eax, 0x8dfd7fab
and eax, 0xbcc0bd13
sub eax, 0xde5be263
and eax, 0x88425ac5
xor eax, 0xca6a24dc
and eax, 0x68471098
imul eax, eax, 0xbf0b3b1b
and eax, 0xf90a458e
sub eax, 0x3e9469bc
add eax, 0xfe5a332e
imul eax, eax, 0x9f185951
imul eax, eax, 0xf3b8808
and eax, 0xc3bda84a
and eax, 0x47bbdf4d
mov ecx, 0xd932e50d
xor edx, edx
div ecx
add eax, 0xc2418c1
imul eax, eax, 0xdbf218ff
mov ecx, 0x76d638f3
xor edx, edx
div ecx
cmp eax, 0x8f685c35
je 0x100683e7
mov eax, dword [0x100c40f0]
imul eax, dword [0x100c40f4]
imul eax, eax, 0xdc4c2a7d
and eax, 0x8b2490c1
imul eax, eax, 0x75f2a06b
xor eax, 0x9214be4e
imul eax, eax, 0xd63613a8
imul eax, eax, 0x86c6f433
imul eax, eax, 0xf7b3aa74
or eax, 0xa3783348
and eax, 0x8a9897e2
and eax, 0x8e9d784b
sub eax, 0xb208c0c4
add eax, 0xbddc00b1
imul eax, eax, 0x5159d748
sub eax, 0xf1e8a077
and eax, 0xf8cea4af
add eax, 0xe460cc7d
mov ecx, 0x3b39fc77
xor edx, edx
div ecx
sub eax, 0x959ea27f
and eax, 0x6cc2298c
xor eax, 0xed06cc76
imul eax, eax, 0x92878a95
sub eax, 0xe7534003
add eax, 0xc49752ca
sub eax, 0x66316edd
add eax, 0x41bc3616
add eax, 0x6cdbc470
and eax, 0x2f3b0375
add eax, 0x977349c
imul eax, eax, 0x6fe58754
imul eax, eax, 0x2b2536f5
or eax, 0xdf9d7b4
or eax, 0x936f4303
xor eax, 0x3e832cfd
sub eax, 0xdefa8ace
xor eax, 0xb5b7a017
xor eax, 0x6c36315c
imul eax, eax, 0x504c01dc
or eax, 0xd5bfc36
mov ecx, 0xcec441f3
xor edx, edx
div ecx
add eax, 0x6814613e
sub eax, 0x252c1d93
sub eax, 0x73c86441
mov ecx, 0xc2fe2c1f
xor edx, edx
div ecx
imul eax, eax, 0xcbb381b5
or eax, 0x1fba3e5c
mov ecx, 0x53d7b71c
xor edx, edx
div ecx
or eax, 0x21a0f2ae
mov ecx, 0x37cc58ac
xor edx, edx
div ecx
add eax, 0xb0d674e0
or eax, 0x474d0199
imul eax, eax, 0x2a127d56
add eax, 0x9cd04d2a
or eax, 0xe3fdfc71
sub eax, 0x92ad541b
and eax, 0x19b5ab9d
xor eax, 0xce53a70c
add eax, 0x9f8dc0d7
mov ecx, 0x7338d7f6
xor edx, edx
div ecx
add eax, 0x769ad015
mov ecx, 0xf02a79c3
xor edx, edx
div ecx
xor eax, 0x8171a87e
and eax, 0x11808e84
sub eax, 0x3e144056
imul eax, eax, 0x13c2900c
or eax, 0xaf3e1a8b
and eax, 0x69daf626
sub eax, 0xede229a0
mov ecx, 0x3dabe8f9
xor edx, edx
div ecx
mov ecx, 0xded4b0da
xor edx, edx
div ecx
or eax, 0xa49667dc
xor eax, 0x8a6f9a13
add eax, 0x9340cf28
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x10]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10069a80
mov ecx, eax
mov eax, dword [ebp - 0x34]
cmp ecx, 0
setl cl
mov byte [ebp - 0x2d], cl
cmp eax, 0xe843a865
ja 0x1006815c
mov al, byte [ebp - 0x2d]
test al, 1
jne 0x10068369
jmp 0x10068346
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0xc]
mov dword [esp], ecx
mov dword [esp + 4], 0x10
mov dword [esp + 8], eax
call fcn.1006a490
cmp eax, 0
jge 0x10068375
mov dword [ebp - 0x14], 0
jmp 0x100683bb
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [ecx]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 8]
sub esp, 8
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x100683a9
mov dword [ebp - 0x14], 0
jmp 0x100683bb
mov ecx, dword [ebp - 0x24]
sub ecx, 1
mov eax, dword [ebp - 0x20]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1006bd1f
mov eax, dword [ebp - 0x38]
add esp, 0x40
pop esi
pop ebp
ret 0xc
mov dword [ebp - 0x14], 0
jmp 0x10067a7e
jmp 0x10067e11
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x10]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10069a80
jmp 0x1006815c