Function at 0x10013890
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [0x100c39d0]
sub eax, dword [0x100c39d4]
imul eax, eax, 0x6be06e75
mov ecx, 0x93946887
xor edx, edx
div ecx
xor eax, 0x256f8d87
or eax, 0xb406ee86
mov ecx, 0x30f6f987
xor edx, edx
div ecx
and eax, 0xb59c4524
mov ecx, 0x67cbb1ae
xor edx, edx
div ecx
mov ecx, 0x21c780b
xor edx, edx
div ecx
sub eax, 0xa264450a
xor eax, 0xecd2c796
add eax, 0x18b8f593
xor eax, 0x4f1e42b6
xor eax, 0x134ebd20
mov ecx, 0xc9beaa2c
xor edx, edx
div ecx
sub eax, 0xca05feb0
imul eax, eax, 0x74947b0b
and eax, 0xbe9f3c72
mov ecx, 0xf9bb0350
xor edx, edx
div ecx
sub eax, 0xca20af91
add eax, 0xf2c8ff
imul eax, eax, 0xcbfdfedc
add eax, 0xebd05984
mov ecx, 0x2bf22132
xor edx, edx
div ecx
mov ecx, 0xa7513af3
xor edx, edx
div ecx
sub eax, 0x516d0eab
and eax, 0x6cff262f
xor eax, 0x9c9956f1
imul eax, eax, 0x92620874
imul eax, eax, 0x7a5142d4
sub eax, 0xe04ae58f
or eax, 0x8656c89
xor eax, 0x287d333d
mov ecx, 0x8313d048
xor edx, edx
div ecx
add eax, 0xbd431774
sub eax, 0x72405dbd
add eax, 0xed6b65e4
add eax, 0xb5031566
or eax, 0x119613f9
xor eax, 0x51425d0b
xor eax, 0x64dfa6f3
sub eax, 0xbb3df717
or eax, 0x6108201e
add eax, 0x6ba282b8
imul eax, eax, 0xc30ca962
and eax, 0x444d56c7
sub eax, 0xaee9a29d
sub eax, 0x7a30c9ac
mov ecx, 0x8ccf1618
xor edx, edx
div ecx
or eax, 0x5033b358
add eax, 0x885422c0
add eax, 0x355010f0
mov ecx, 0x775f92e4
xor edx, edx
div ecx
sub eax, 0x28b24f5
imul eax, eax, 0xe9f7cc36
add eax, 0xecab915
or eax, 0x5c63396c
mov ecx, 0x689113a9
xor edx, edx
div ecx
add eax, 0xcd2879eb
and eax, 0x671887d5
mov ecx, 0x62c1d4c8
xor edx, edx
div ecx
and eax, 0x7dee543a
mov ecx, 0xd2e83c79
xor edx, edx
div ecx
or eax, 0xc7c6a85f
sub eax, 0x7486f38d
mov ecx, 0xc411267
xor edx, edx
div ecx
add eax, 0xf1075820
sub eax, 0x678381fb
or eax, 0xc900432d
add eax, 0x804b23b5
sub eax, 0xdcc75655
imul eax, eax, 0x2c0fb7fc
imul eax, eax, 0x54120694
cmp eax, 0xdaae6f37
jae 0x10014d6e
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x1c], eax
push eax
mov edx, esp
mov dword [ebp - 0x30], edx
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
push eax
mov edi, esp
mov dword [ebp - 0x20], edi
push eax
mov edi, esp
mov dword [ebp - 0x28], edi
push eax
mov edi, esp
mov dword [ebp - 0x24], edi
mov dword [edx], esi
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0x400
call fcn.1008dcea
mov ecx, dword [ebp - 0x20]
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx], edx
cmp dword [ecx], 0
setne cl
mov byte [ebp - 0x15], cl
cmp eax, 0xfd00584a
je 0x10014d6e
mov al, byte [ebp - 0x15]
test al, 1
jne 0x10013e3c
jmp 0x10013ad5
mov eax, dword [0x100c39e0]
add eax, dword [0x100c39e4]
add eax, 0x9c0f5f39
or eax, 0xcc3ab92f
imul eax, eax, 0xd96e46ab
mov ecx, 0xc4de721
xor edx, edx
div ecx
imul eax, eax, 0xcd0a8314
mov ecx, 0x219af042
xor edx, edx
div ecx
xor eax, 0x7b73ff90
or eax, 0x1958f7bd
imul eax, eax, 0x7c4f92ef
or eax, 0x45052a5a
and eax, 0x857f5539
imul eax, eax, 0x163583ff
add eax, 0x2b1a8286
add eax, 0x62939bc9
xor eax, 0x84373b52
or eax, 0x9f82aed5
or eax, 0x694dc823
sub eax, 0xe6add98d
xor eax, 0xe7bc69cc
and eax, 0xbf16a53f
xor eax, 0x329cb1e7
and eax, 0xc0537d03
xor eax, 0x1c42155f
add eax, 0x4dcb3895
imul eax, eax, 0x6d3ebc02
xor eax, 0x82f5e3c7
or eax, 0x932aa0ef
add eax, 0x614f7a00
and eax, 0x79dea90b
sub eax, 0xfceedf8e
mov ecx, 0xb9c6812e
xor edx, edx
div ecx
add eax, 0xab353f55
and eax, 0xec0a037b
sub eax, 0x6edec2a0
sub eax, 0x63959900
and eax, 0xed42e367
or eax, 0x1cf1e5a7
sub eax, 0x5deac621
or eax, 0xc7eaa80
xor eax, 0x480ce535
add eax, 0xec26d12f
imul eax, eax, 0x3767d76a
xor eax, 0xdc9e935e
imul eax, eax, 0xd70a1826
or eax, 0x7eabc2e2
and eax, 0x493d3400
xor eax, 0xd2af1e70
sub eax, 0x2c8c0b10
and eax, 0x47a79b01
and eax, 0x9a39827a
add eax, 0x8881034f
or eax, 0x5565fdff
sub eax, 0x2279fd29
sub eax, 0x84cd7d4c
and eax, 0xc6542632
imul eax, eax, 0xef00e699
mov ecx, 0xc26707fa
xor edx, edx
div ecx
or eax, 0x42b3e1a
mov ecx, 0x443360f7
xor edx, edx
div ecx
sub eax, 0xb9aeaee8
or eax, 0xdd627972
mov ecx, 0x19d28d8d
xor edx, edx
div ecx
or eax, 0x7edebecc
add eax, 0xb58e8863
sub eax, 0xaec829b2
mov ecx, 0xd6f26e7b
xor edx, edx
div ecx
and eax, 0x78eaf91b
and eax, 0x3d812049
sub eax, 0x4789c777
or eax, 0x30315cdf
xor eax, 0x472d530a
xor eax, 0xf730bc84
cmp eax, 0x4df335d4
jae 0x10014da2
mov eax, dword [0x100c39e8]
sub eax, dword [0x100c39ec]
and eax, 0xa0b67223
mov ecx, 0xa149a9b7
xor edx, edx
div ecx
mov ecx, 0x844f0dbd
xor edx, edx
div ecx
or eax, 0xc9e7afc0
sub eax, 0x310e6d0b
imul eax, eax, 0xee76a53b
imul eax, eax, 0x1a5e1481
sub eax, 0x6d9156a2
mov ecx, 0x2bf1f010
xor edx, edx
div ecx
mov ecx, 0x944ef64d
xor edx, edx
div ecx
add eax, 0x1c538cfc
or eax, 0x32078cb9
or eax, 0xfb728426
xor eax, 0x8963b3e9
xor eax, 0xd43a5eff
xor eax, 0xb3d72d77
imul eax, eax, 0x35c9aeb4
add eax, 0xfa3e5608
mov ecx, 0x3b395030
xor edx, edx
div ecx
and eax, 0xc0df005d
add eax, 0x1477a2f0
add eax, 0x9224792d
and eax, 0x1206592a
sub eax, 0x38c66c3f
xor eax, 0xa58b33c9
and eax, 0xfb1b96b2
xor eax, 0xee50ea9c
sub eax, 0xbd3c5156
xor eax, 0x8c2d0f84
mov ecx, 0x920793c2
xor edx, edx
div ecx
add eax, 0x11630cb2
imul eax, eax, 0x96454016
add eax, 0xb106e1ec
add eax, 0x61efb108
xor eax, 0x26125ba9
imul eax, eax, 0x919f55e7
mov ecx, 0x58be0487
xor edx, edx
div ecx
add eax, 0x60900eea
sub eax, 0x430b7a66
add eax, 0xb005deaa
and eax, 0xda55320
mov ecx, 0xf31e0752
xor edx, edx
div ecx
and eax, 0xa7de195d
mov ecx, 0x371b4ca
xor edx, edx
div ecx
xor eax, 0x84eb7712
and eax, 0x9ecfccdd
or eax, 0x58608b26
sub eax, 0x72ff874b
add eax, 0x51e8bfb3
sub eax, 0xb196c8e
and eax, 0xa07b70a5
or eax, 0x9d3a5c5f
mov ecx, 0x574b6891
xor edx, edx
div ecx
or eax, 0xdd10b9a0
xor eax, 0xba1a866b
xor eax, 0xe8fbdc69
sub eax, 0xabf59b91
add eax, 0x4cb9bb00
sub eax, 0x55315b1f
add eax, 0x75232476
mov ecx, 0xcb343041
xor edx, edx
div ecx
imul eax, eax, 0x58a2ab3
xor eax, 0xebb869cc
add eax, 0x315549d7
sub eax, 0x846b04e8
add eax, 0xbf063f71
mov ecx, 0x5280d3f6
xor edx, edx
div ecx
mov ecx, 0xd2f36a03
xor edx, edx
div ecx
mov ecx, 0xd543a61e
xor edx, edx
div ecx
sub eax, 0xb66ea298
mov ecx, 0x5579e163
xor edx, edx
div ecx
and eax, 0x19ff3f1b
cmp eax, 0xb4a10e8b
ja 0x10013c77
jmp 0x10014a17
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov ecx, dword [ecx]
movsx eax, byte [eax + ecx]
cmp eax, 0
je 0x1001426d
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov ecx, 0x55555556
imul ecx
mov eax, dword [ebp - 0x38]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [edx + edx*2]
sub eax, ecx
mov dword [ebp - 0x34], eax
je 0x10013eaa
jmp 0x10013e88
mov eax, dword [ebp - 0x34]
sub eax, 1
je 0x10013ecc
jmp 0x10013e99
mov eax, dword [ebp - 0x34]
sub eax, 2
je 0x1001422c
jmp 0x10014249
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
mov edi, dword [ecx]
movsx edx, byte [edx + edi]
add edx, dword [esi]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov byte [eax + ecx], dl
jmp 0x10014249
mov eax, dword [0x100c39f0]
sub eax, dword [0x100c39f4]
xor eax, 0x2299b27f
and eax, 0xb5e4d432
imul eax, eax, 0x41995aea
imul eax, eax, 0xc54692a8
mov ecx, 0x9ec3186
xor edx, edx
div ecx
xor eax, 0x52bf7d56
and eax, 0x951112cb
sub eax, 0x22d061cf
or eax, 0x44d4fc8d
xor eax, 0x704e3c0d
add eax, 0xe5f5f594
or eax, 0x7f477580
or eax, 0x24662d38
or eax, 0x30ebbbf4
sub eax, 0xaad93cc8
or eax, 0x98b13f87
add eax, 0xedd5228a
or eax, 0xa159949
or eax, 0x7260067c
add eax, 0xe4c149c
or eax, 0x747affd7
sub eax, 0x98c61137
sub eax, 0xcb8b09f6
xor eax, 0xcffcc8c8
imul eax, eax, 0x5ae22e00
and eax, 0x93f2ab45
sub eax, 0xc384273
imul eax, eax, 0xc3d0bcab
and eax, 0x2a74a53
and eax, 0xd2f26c23
imul eax, eax, 0x1f3b3f88
sub eax, 0x1005fccf
sub eax, 0xdb4bd463
xor eax, 0x602494da
add eax, 0x501da5d4
and eax, 0xe9f6d483
xor eax, 0x6da6575c
imul eax, eax, 0xd40b1cfa
or eax, 0xc349d2a6
add eax, 0xa9f47836
and eax, 0x7070c7e5
or eax, 0x989ae1cd
imul eax, eax, 0x62a7ffc9
xor eax, 0x55c2110d
xor eax, 0x2022169d
and eax, 0x5e2c5921
sub eax, 0xaf8330b1
mov ecx, 0x8424b56a
xor edx, edx
div ecx
add eax, 0x1103728d
mov ecx, 0xc10c4197
xor edx, edx
div ecx
xor eax, 0xc9379cf3
imul eax, eax, 0xcd3c1f7f
imul eax, eax, 0x4136d5bb
xor eax, 0x4aa470e6
sub eax, 0xb0b2f117
mov ecx, 0x2bcf8c9b
xor edx, edx
div ecx
or eax, 0x10e506fb
sub eax, 0x19b73d83
sub eax, 0xd632660d
mov ecx, 0xcc88a645
xor edx, edx
div ecx
add eax, 0x1f90f2e6
and eax, 0x99775062
add eax, 0xa4194939
sub eax, 0xb7ac106
add eax, 0xba1a690c
xor eax, 0xf179794e
sub eax, 0x7fad0c18
add eax, 0xfb2dfb9b
sub eax, 0x6212c264
mov ecx, 0x54a94ed5
xor edx, edx
div ecx
xor eax, 0x7db0095a
mov ecx, 0x4c53b222
xor edx, edx
div ecx
cmp eax, 0x86a2290b
je 0x10014da7
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
mov eax, dword [0x100c39f8]
sub eax, dword [0x100c39fc]
xor eax, 0x964bde2e
and eax, 0x61a00796
and eax, 0xf1dd687a
xor eax, 0x361308bf
and eax, 0x4fe8a384
and eax, 0xc377546b
and eax, 0xe008456c
xor eax, 0xf34d1c19
imul eax, eax, 0x2a1e873b
xor eax, 0x8bb1e335
sub eax, 0x34fa8bdb
imul eax, eax, 0xcbed5398
xor eax, 0x448000be
mov ebx, 0xfcc5186
xor edx, edx
div ebx
or eax, 0x4e7a99d0
sub eax, 0x205b247c
and eax, 0x48f3fa26
or eax, 0x7b321220
sub eax, 0x843af74b
or eax, 0x7f857f77
xor eax, 0x633bffab
add eax, 0x33ed4b27
imul eax, eax, 0xe722d553
and eax, 0x290caf03
sub eax, 0xe79a4c7a
and eax, 0x65535eac
or eax, 0xe02f3e68
or eax, 0xcfb3405e
and eax, 0xdf68c7e8
or eax, 0x932ab4e2
add eax, 0x28d10590
xor eax, 0x128d91ab
xor eax, 0x1f7726f2
add eax, 0x90798712
and eax, 0xd700fb66
sub eax, 0x37704f7
xor eax, 0xa4169da6
add eax, 0x681ec3a0
and eax, 0xe1015ded
or eax, 0xeb5c35f6
sub eax, 0xbf940a2a
or eax, 0xb6934d19
or eax, 0x5e9251e
xor eax, 0x68656d96
sub eax, 0x42d0eb4e
xor eax, 0x1e2f2c16
and eax, 0x6d06ebd1
sub eax, 0x93aac205
xor eax, 0x3af15557
and eax, 0x7eb56ff8
mov ebx, 0x200dfa33
xor edx, edx
div ebx
or eax, 0xb0b6f462
mov ebx, 0xb9af1edf
xor edx, edx
div ebx
add eax, 0x99dd1a9f
and eax, 0x5037e0fa
xor eax, 0x28612362
or eax, 0x1540a5d1
xor eax, 0x7fb6eb71
mov ebx, 0xadea22e0
xor edx, edx
div ebx
imul eax, eax, 0xd2a098d0
or eax, 0xc0b2e311
xor eax, 0x976318f9
sub eax, 0xb7984c77
xor eax, 0xe3ca270d
and eax, 0x240a3f5f
or eax, 0xf6da6bb3
add eax, 0xad72f1a9
imul eax, eax, 0xd506b0ea
and eax, 0x48e19e09
mov ebx, 0xec95775
xor edx, edx
div ebx
or eax, 0xad11f6ff
mov ebx, 0x67596b6b
xor edx, edx
div ebx
mov edx, dword [ebp - 0x28]
mov edi, dword [edi]
mov ebx, dword [edx]
movsx ebx, byte [edi + ebx]
sub ebx, dword [esi]
mov ecx, dword [ecx]
mov edx, dword [edx]
mov byte [ecx + edx], bl
cmp eax, 0x303266f2
jae 0x10014da7
jmp 0x10014249
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
mov edi, dword [ecx]
movsx edx, byte [edx + edi]
xor edx, dword [esi]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov byte [eax + ecx], dl
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
imul eax, dword [ecx], 0x1f
add eax, dword [edx]
mov esi, 0x100
cdq
idiv esi
mov eax, dword [ebp - 0x28]
mov dword [ecx], edx
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x10013e45
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov edx, dword [edx]
mov byte [ecx + edx], 0
mov dword [eax], 0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ecx]
movsx eax, byte [eax + ecx]
cmp eax, 0
je 0x1001467d
mov eax, dword [0x100c3a00]
and eax, dword [0x100c3a04]
sub eax, 0xffd387f3
or eax, 0x64297be7
or eax, 0xa0472e48
or eax, 0xd42c44ba
or eax, 0x55026c0e
or eax, 0x3fdcb2ad
imul eax, eax, 0x93eb789a
mov ecx, 0x2109c92e
xor edx, edx
div ecx
xor eax, 0x5fbca08c
imul eax, eax, 0x41d2cdff
and eax, 0x36c97f12
add eax, 0x176a1504
sub eax, 0x5332c2b0
xor eax, 0xb443bcf1
or eax, 0xe45a0bcb
imul eax, eax, 0x759bc4a
sub eax, 0x62fe7571
xor eax, 0xe8b7d3e5
mov ecx, 0xd57b485b
xor edx, edx
div ecx
and eax, 0x7a65f336
and eax, 0xaa4ab7dc
add eax, 0xa3eaff34
xor eax, 0x9c7cf032
or eax, 0x716b2e66
add eax, 0xdd11acb2
xor eax, 0x60e87f79
or eax, 0xa9487b9d
and eax, 0xffa2b946
sub eax, 0xc5f47747
or eax, 0x7873057a
mov ecx, 0x70e94642
xor edx, edx
div ecx
or eax, 0xc29dd4fd
add eax, 0x629b5c17
imul eax, eax, 0xc6ae36fd
add eax, 0x51aa0102
imul eax, eax, 0x81069d01
add eax, 0x290803bf
mov ecx, 0x69c87336
xor edx, edx
div ecx
imul eax, eax, 0x60ae8bdb
sub eax, 0x47062f10
mov ecx, 0x48e9f2c6
xor edx, edx
div ecx
sub eax, 0x89fa23ed
or eax, 0xd35a9646
and eax, 0xe3e4876f
sub eax, 0x46515e7b
sub eax, 0x9d9fa790
add eax, 0xcb9269fd
sub eax, 0xecd3b272
mov ecx, 0x6d8a2041
xor edx, edx
div ecx
sub eax, 0xa91f1cd5
xor eax, 0xd1e8da1f
sub eax, 0x2ca2375d
sub eax, 0x29398e0d
mov ecx, 0x6669b1f8
xor edx, edx
div ecx
xor eax, 0xe5aee552
sub eax, 0xadebc4bb
sub eax, 0xe21c9edd
imul eax, eax, 0xfdf30512
sub eax, 0x880946b7
add eax, 0x4bd92969
imul eax, eax, 0x6f7bcfc2
and eax, 0x80b9d0f
sub eax, 0xfbb6f2d2
or eax, 0xd94140ef
sub eax, 0xf99f52db
mov ecx, 0x8374228f
xor edx, edx
div ecx
add eax, 0x6971fde0
imul eax, eax, 0xcb8121cb
xor eax, 0xed520dac
and eax, 0x202497cf
xor eax, 0xe29c7ddf
xor eax, 0x26b940f6
cmp eax, 0x78ddedb8
je 0x10014dcb
mov eax, dword [0x100c3a08]
xor edx, edx
div dword [0x100c3a0c]
imul eax, eax, 0x52c8897e
xor eax, 0x74710cf8
sub eax, 0x5d1f6b19
and eax, 0x515b321a
and eax, 0x3df2da80
add eax, 0xd3e871aa
and eax, 0xd823a0a4
sub eax, 0xc49c3cd
xor eax, 0xf5f1f506
or eax, 0x8c9c3670
imul eax, eax, 0x71f75b59
sub eax, 0xaa042916
xor eax, 0x7d6a7858
sub eax, 0xde475076
mov ecx, 0x5c522e59
xor edx, edx
div ecx
mov ecx, 0xd3776c83
xor edx, edx
div ecx
imul eax, eax, 0x6d92f4d4
or eax, 0xa88fd382
xor eax, 0xe9e6696d
or eax, 0x127c5b08
mov ecx, 0xf9fdbaf4
xor edx, edx
div ecx
or eax, 0x35351672
add eax, 0xb07fc51b
or eax, 0x249c3eef
mov ecx, 0x6c3931ee
xor edx, edx
div ecx
or eax, 0x9bb4a914
xor eax, 0x2c25b22b
and eax, 0x712977fd
mov ecx, 0x3194ffd
xor edx, edx
div ecx
add eax, 0x6abddb1e
imul eax, eax, 0xe2bc3fe4
and eax, 0x31b5ae12
add eax, 0xd01dca90
add eax, 0x7c62e459
mov ecx, 0x548a9bb4
xor edx, edx
div ecx
xor eax, 0x9fd59eb7
or eax, 0x24e7c605
xor eax, 0x80f79287
imul eax, eax, 0x6668628a
sub eax, 0xe2ea9fd9
mov ecx, 0x378575e1
xor edx, edx
div ecx
or eax, 0x9658c652
or eax, 0x3c3d9db7
mov ecx, 0x8e82fc21
xor edx, edx
div ecx
or eax, 0x9c001b6d
or eax, 0x9a020d80
imul eax, eax, 0xb41704a4
mov ecx, 0x124d154c
xor edx, edx
div ecx
add eax, 0xfe0a0651
add eax, 0xb49a4f61
or eax, 0x8e0bc1f9
mov ecx, 0xcf291550
xor edx, edx
div ecx
imul eax, eax, 0xb9a8f943
imul eax, eax, 0xf5da0f65
add eax, 0x4ecceef6
imul eax, eax, 0x8cab607
or eax, 0xb0706684
or eax, 0xad3f3d47
imul eax, eax, 0x65169603
xor eax, 0xacde1377
or eax, 0xbc84a0b7
sub eax, 0xf24607c6
imul eax, eax, 0x3819ff77
xor eax, 0x92b0849
and eax, 0xd421935a
xor eax, 0x6631346b
imul eax, eax, 0x5108edbb
mov ecx, 0x3bdeee81
xor edx, edx
div ecx
and eax, 0xd4ddfbe4
add eax, 0x1a3b9639
mov ecx, 0x4a8117db
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x24]
add ecx, 0x1d92e5b
mov dword [ebp - 0x40], ecx
mov eax, dword [eax]
mov ecx, 2
cdq
idiv ecx
mov eax, dword [ebp - 0x40]
cmp edx, 0
sete cl
mov byte [ebp - 0x39], cl
cmp eax, 0xf6396a81
jae 0x10014442
mov al, byte [ebp - 0x39]
test al, 1
jne 0x1001462d
jmp 0x10014650
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x2c]
mov edx, dword [eax]
mov esi, dword [ecx]
movsx edx, byte [edx + esi]
mov esi, dword [ecx]
add esi, dword [edi]
xor edx, esi
mov eax, dword [eax]
mov ecx, dword [ecx]
mov byte [eax + ecx], dl
jmp 0x1001466e
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x2c]
mov edx, dword [eax]
mov esi, dword [ecx]
movsx edx, byte [edx + esi]
mov esi, dword [ecx]
sub esi, dword [edi]
add edx, esi
mov eax, dword [eax]
mov ecx, dword [ecx]
mov byte [eax + ecx], dl
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x10014284
mov eax, dword [0x100c3a10]
xor eax, dword [0x100c3a14]
imul eax, eax, 0xa11ada43
or eax, 0x3123a9cf
add eax, 0xfce86001
and eax, 0xd27aed76
xor eax, 0xe9d2da3c
add eax, 0x371884f4
and eax, 0x8e63bc21
and eax, 0x499e41c
add eax, 0x2d9c50b6
and eax, 0x4f1e3945
mov ecx, 0xcc837f55
xor edx, edx
div ecx
add eax, 0x1e55fa01
imul eax, eax, 0xdeb282e1
imul eax, eax, 0x8999a21a
or eax, 0x95678749
add eax, 0x15943ce
add eax, 0xd3c26ef3
sub eax, 0xfd166413
sub eax, 0x94bf04c4
xor eax, 0x4e1748a7
xor eax, 0x58017675
or eax, 0x691717d5
and eax, 0x2f9712d0
xor eax, 0xbf784ffd
imul eax, eax, 0xe439f4a
and eax, 0x66f1dcc2
mov ecx, 0x4264097
xor edx, edx
div ecx
sub eax, 0xcf7775b
sub eax, 0x68e51855
and eax, 0x69ec7c9d
or eax, 0xe2e5b1a
add eax, 0xb44dafeb
imul eax, eax, 0x69d5fd2c
sub eax, 0x926fd78f
and eax, 0xd0bc8f9e
xor eax, 0xb1f161f6
mov ecx, 0x4f0ed858
xor edx, edx
div ecx
or eax, 0x99aba270
or eax, 0x95ff293a
xor eax, 0x54308724
imul eax, eax, 0xbb19a8b3
xor eax, 0x7a8c9311
imul eax, eax, 0x16b2b3e2
add eax, 0xda349389
sub eax, 0x8ecf34b
sub eax, 0xc3d35e35
mov ecx, 0x23e6c93
xor edx, edx
div ecx
xor eax, 0x4131af3d
mov ecx, 0x30808ae8
xor edx, edx
div ecx
and eax, 0xa58464b9
sub eax, 0x8575538
imul eax, eax, 0x1e60d8eb
and eax, 0x1341e97f
imul eax, eax, 0xe2e5e4e7
xor eax, 0xea9011b
add eax, 0x6692965f
or eax, 0x58518b27
imul eax, eax, 0x6a6b5619
imul eax, eax, 0x45864768
imul eax, eax, 0x8eebd0c4
add eax, 0xc3db4fa
or eax, 0x731c375
or eax, 0x99772dc6
or eax, 0x3a5f5f6d
and eax, 0x816077ba
mov ecx, 0xb268f628
xor edx, edx
div ecx
sub eax, 0x7f40bded
mov ecx, 0x2589c5e5
xor edx, edx
div ecx
or eax, 0xa7bd76d6
mov ecx, 0xf5d9ebdd
xor edx, edx
div ecx
add eax, 0x814c2781
sub eax, 0x5d903730
cmp eax, 0xdaa6d554
jae 0x10014dd0
mov eax, dword [0x100c3a18]
or eax, dword [0x100c3a1c]
sub eax, 0xe4b51fb0
mov ecx, 0x75334f13
xor edx, edx
div ecx
imul eax, eax, 0xeec8bbf3
or eax, 0x591adea4
sub eax, 0x7bd31543
and eax, 0xf6cb7489
and eax, 0x9480fba5
sub eax, 0x25e13003
sub eax, 0x31d5c301
or eax, 0x6ad15d32
xor eax, 0xd567fa5c
or eax, 0xe8e8fbad
xor eax, 0x299f1511
xor eax, 0x4389db03
imul eax, eax, 0x321122f2
sub eax, 0x62f0ba4a
or eax, 0xc93773a9
and eax, 0x9a8a5f2d
sub eax, 0x45f42e97
and eax, 0xa18b7083
and eax, 0xcbf3a6de
imul eax, eax, 0x10426514
imul eax, eax, 0x2316d94a
xor eax, 0xadb0c457
and eax, 0x12147be9
and eax, 0x9ee9ae6c
xor eax, 0xb940fde9
add eax, 0xac015f90
imul eax, eax, 0xaec942eb
xor eax, 0x72e90d21
sub eax, 0xd2c1a3f3
add eax, 0x9d3429e7
xor eax, 0xf32ae36d
sub eax, 0x5c224b07
and eax, 0x32954fd3
imul eax, eax, 0x5cf693c0
or eax, 0xe600b685
mov ecx, 0x5e74c65f
xor edx, edx
div ecx
xor eax, 0xce50d717
mov ecx, 0xcf33ceeb
xor edx, edx
div ecx
mov ecx, 0x89046f0e
xor edx, edx
div ecx
mov ecx, 0xff6f7d8a
xor edx, edx
div ecx
imul eax, eax, 0x33dbf7c0
add eax, 0x9080444f
imul eax, eax, 0x1e523f74
add eax, 0xd5252937
imul eax, eax, 0x9e711bc4
imul eax, eax, 0x436aaf04
xor eax, 0x781224be
or eax, 0xcdba2917
xor eax, 0x35d96bcf
sub eax, 0x26c4055b
add eax, 0x6537a75c
and eax, 0xc7c04c8d
and eax, 0xd304fc16
and eax, 0x893f0e14
or eax, 0xb783f10d
or eax, 0x408a6970
sub eax, 0x24ce38a
imul eax, eax, 0xbb8797e6
sub eax, 0x101af2
and eax, 0xd27d06eb
xor eax, 0x45ef723
imul eax, eax, 0xa831a679
or eax, 0x2c02250e
and eax, 0x7e91e32c
imul eax, eax, 0x2eba3583
and eax, 0x43f880bd
or eax, 0xcf8867ef
mov ecx, 0xb26c981f
xor edx, edx
div ecx
mov ecx, 0xf3aaf9d8
xor edx, edx
div ecx
mov edx, dword [ebp - 0x24]
mov ecx, eax
mov eax, dword [ebp - 0x20]
or ecx, 0xca74661f
mov dword [ebp - 0x44], ecx
mov ecx, dword [eax]
mov edx, dword [edx]
mov byte [ecx + edx], 0
mov eax, dword [eax]
lea ecx, str.string:__s_n
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10013820
add esp, 8
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.1008dccf
mov eax, dword [ebp - 0x44]
add esp, 4
cmp eax, 0xb76fce98
jb 0x10014dd0
jmp 0x10014a17
mov eax, dword [0x100c3a20]
imul eax, dword [0x100c3a24]
or eax, 0x3f42ba2
add eax, 0x137e5ab6
or eax, 0x99067af
xor eax, 0x8fbc61a3
sub eax, 0x9a7ebab6
mov ecx, 0xcd2b279a
xor edx, edx
div ecx
mov ecx, 0x581fc268
xor edx, edx
div ecx
add eax, 0x3280f91d
and eax, 0xc700b02e
add eax, 0x451044f3
add eax, 0xff764de0
add eax, 0x2d8fb820
or eax, 0x5d35e34d
and eax, 0x73439568
xor eax, 0xbf0f9b13
add eax, 0x1a4fc750
or eax, 0x8e5d81ac
xor eax, 0xa20e798f
sub eax, 0xdb3762dc
add eax, 0x50602abd
or eax, 0x4c130458
or eax, 0xaff080a9
sub eax, 0xc030aaf2
mov ecx, 0x5c7bacf7
xor edx, edx
div ecx
xor eax, 0x6d04795d
sub eax, 0xcd9b0f1c
mov ecx, 0x5992bb58
xor edx, edx
div ecx
add eax, 0x6ac85f1e
sub eax, 0x546e3f66
and eax, 0x7fd468d5
mov ecx, 0x5a1d0c01
xor edx, edx
div ecx
sub eax, 0xf5ce839c
xor eax, 0xe0d2aee8
sub eax, 0x52504abc
sub eax, 0x9d3a0ff6
sub eax, 0xf0d9efa
and eax, 0x166b7cea
imul eax, eax, 0xf50b68bd
mov ecx, 0xd4f05106
xor edx, edx
div ecx
mov ecx, 0xa813d27f
xor edx, edx
div ecx
xor eax, 0x2381eb4c
and eax, 0xbba9732c
imul eax, eax, 0xf5194ac
and eax, 0xe40b6b76
add eax, 0xe1570f5e
and eax, 0x79e6adcf
sub eax, 0x3a3e5890
and eax, 0x6ae4cc92
and eax, 0xeebd9efc
sub eax, 0xca8f5564
xor eax, 0x8ced4f65
mov ecx, 0x9a191ace
xor edx, edx
div ecx
or eax, 0x3b2f733e
mov ecx, 0x123757e5
xor edx, edx
div ecx
imul eax, eax, 0x44fe2354
and eax, 0x6939ca1b
or eax, 0xd979e87
or eax, 0x2c8473f7
and eax, 0x8603123
mov ecx, 0x45d540f9
xor edx, edx
div ecx
xor eax, 0x6f85caa4
and eax, 0x1840aaab
imul eax, eax, 0xa9edf198
sub eax, 0x969b3273
and eax, 0x3fa3a34a
imul eax, eax, 0x170439b7
or eax, 0xca2cd6f8
and eax, 0xe52f0e34
and eax, 0xfd1e77f
or eax, 0x45f5cb6c
add eax, 0x8df6703a
mov ecx, 0x2020b5ac
xor edx, edx
div ecx
cmp eax, 0x456704bb
jae 0x10014e10
mov eax, dword [0x100c3a28]
imul eax, dword [0x100c3a2c]
imul eax, eax, 0x93075ebf
and eax, 0xf32cb653
mov ecx, 0xfe85e360
xor edx, edx
div ecx
xor eax, 0xc96bff2f
and eax, 0x24a613a7
sub eax, 0xc388dde4
or eax, 0xf1289
and eax, 0x602a1314
and eax, 0x8af4016b
imul eax, eax, 0x8e863a6d
or eax, 0x1cae5988
xor eax, 0x387f261d
add eax, 0x827ec9b3
add eax, 0x609fca08
sub eax, 0xc47d06d9
and eax, 0x7c354662
sub eax, 0x5a91a308
or eax, 0x4e694ac3
xor eax, 0x44b752ae
add eax, 0xa7b11bbf
add eax, 0x1ee8b287
imul eax, eax, 0xe3feceb3
sub eax, 0x99c43294
or eax, 0xb201626b
imul eax, eax, 0x38020c1e
add eax, 0x49ec61d9
xor eax, 0x62ba503b
mov ecx, 0x7d414b9f
xor edx, edx
div ecx
add eax, 0x4289a196
xor eax, 0xb0f154b5
add eax, 0x9370fe28
mov ecx, 0x49af448f
xor edx, edx
div ecx
or eax, 0xaad00666
imul eax, eax, 0x2a71857c
add eax, 0x169caca3
xor eax, 0x2046580a
add eax, 0x1059f30a
or eax, 0x2c71922e
sub eax, 0xc5d9f09c
or eax, 0x71e65177
add eax, 0x8875085e
add eax, 0xcfce987d
sub eax, 0x46e23ef3
imul eax, eax, 0x5445f286
imul eax, eax, 0xca37d1f2
mov ecx, 0xda3239f7
xor edx, edx
div ecx
imul eax, eax, 0x37eb073d
sub eax, 0x354462cd
or eax, 0xb667807b
add eax, 0x698a7156
sub eax, 0xe2bab1b6
imul eax, eax, 0xcd4b1848
add eax, 0x4a5f630f
add eax, 0x3091e839
or eax, 0x84aee5a8
imul eax, eax, 0x7737319c
and eax, 0xa38e27db
sub eax, 0x58532953
add eax, 0xf01e5429
xor eax, 0xc1c5565e
add eax, 0x755947e7
xor eax, 0xc95ed390
xor eax, 0xca17a98a
sub eax, 0xd7e7fd82
imul eax, eax, 0x4ba2deb5
and eax, 0x5959b069
and eax, 0xe123325c
or eax, 0x548d18ea
and eax, 0x7e97159d
or eax, 0x56321281
mov ecx, 0x314054f5
xor edx, edx
div ecx
imul eax, eax, 0x84fbff1a
cmp eax, 0xf7b46a47
je 0x10014bc7
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov edi, esp
mov dword [ebp - 0x48], edi
mov dword [edx], esi
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0x400
call fcn.1008dcea
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0x48]
mov dword [eax], ecx
jmp 0x10013a68
jmp 0x10013c77
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx]
mov edi, dword [ecx]
movsx edx, byte [edx + edi]
mov esi, dword [esi]
sub edx, esi
mov eax, dword [eax]
mov ecx, dword [ecx]
mov byte [eax + ecx], dl
jmp 0x1001406f
jmp 0x10014442
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [eax]
mov edx, dword [edx]
mov byte [ecx + edx], 0
mov eax, dword [eax]
lea ecx, str.string:__s_n
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10013820
add esp, 8
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.1008dccf
add esp, 4
jmp 0x10014827
jmp 0x10014bc7