Function at 0x10043500
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x18
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x101476c8]
xor edx, edx
div dword [0x101476cc]
and eax, 0x935f8994
mov ecx, 0x44c9ecb3
xor edx, edx
div ecx
mov ecx, 0x84ea6380
xor edx, edx
div ecx
sub eax, 0xf486c247
or eax, 0x8f811bd3
add eax, 0xca5c7481
or eax, 0xa5347419
add eax, 0x2098e00
or eax, 0x389ab3ae
xor eax, 0xf7ee9523
or eax, 0x72de77d5
imul eax, eax, 0xbefeac04
imul eax, eax, 0xc1e161c8
or eax, 0x96f88e99
xor eax, 0x1bff6a59
add eax, 0x530572e4
imul eax, eax, 0x165c821
xor eax, 0x1c068542
and eax, 0x1f3f51f0
imul eax, eax, 0xd74a717
imul eax, eax, 0xd44153de
and eax, 0x5e0174ab
sub eax, 0xa3aa202e
sub eax, 0xb84969e
or eax, 0xe8de5c32
or eax, 0x7b37d4b9
mov ecx, 0xe831dd66
xor edx, edx
div ecx
sub eax, 0x21b87409
sub eax, 0x859cce83
or eax, 0xd982b400
and eax, 0xea40e7fd
sub eax, 0xc88118e6
imul eax, eax, 0x546665e6
cmp eax, 0xd23c74d5
jae 0x10043cd0
mov eax, dword [0x101476d0]
add eax, dword [0x101476d4]
imul eax, eax, 0x3f5a7aa8
and eax, 0x83e7681c
mov ecx, 0x455a1ad6
xor edx, edx
div ecx
or eax, 0xcca70a81
add eax, 0x91380db8
add eax, 0x62f78428
add eax, 0x25aa8315
imul eax, eax, 0x9212aff6
xor eax, 0xbae10e91
sub eax, 0x639762fc
imul eax, eax, 0xba6b9420
and eax, 0xcd950b67
or eax, 0xf4e97e5c
xor eax, 0x592b1cf5
mov ecx, 0x855adf43
xor edx, edx
div ecx
sub eax, 0x479ef5bd
xor eax, 0x6187a656
imul eax, eax, 0x78a5320b
imul eax, eax, 0xbdd86bf7
mov ecx, 0x6f576f7c
xor edx, edx
div ecx
mov ecx, 0x5909ed39
xor edx, edx
div ecx
sub eax, 0x1d47f52d
sub eax, 0x3e1060c9
add eax, 0x6224c6a8
xor eax, 0xbc432719
sub eax, 0x976c2910
add eax, 0x3c223946
and eax, 0x1705f339
and eax, 0x72f2435d
mov ecx, 0x39800402
xor edx, edx
div ecx
mov ecx, 0xa25c7e0e
xor edx, edx
div ecx
xor eax, 0xd109425
and eax, 0x8438fc36
cmp eax, 0x889296b8
je 0x100435e0
mov eax, dword [0x101476d8]
imul eax, dword [0x101476dc]
xor eax, 0x2c195cab
sub eax, 0x47fe10ab
sub eax, 0xfb0ec82b
xor eax, 0x26c968f4
mov ecx, 0x55806df5
xor edx, edx
div ecx
or eax, 0xa29cca59
imul eax, eax, 0xa5325854
xor eax, 0x9c5f7d4c
sub eax, 0x256a573d
and eax, 0xb966e797
or eax, 0x20eeaa0b
mov ecx, 0x5be3a708
xor edx, edx
div ecx
sub eax, 0xf9e96872
and eax, 0x34d34fe
or eax, 0x767df8d4
and eax, 0xf3860d87
mov ecx, 0x3b15827
xor edx, edx
div ecx
add eax, 0x322480dc
mov ecx, 0x90fa16dc
xor edx, edx
div ecx
mov ecx, 0x4a0d0cc7
xor edx, edx
div ecx
sub eax, 0x23ce3735
mov ecx, 0x86704930
xor edx, edx
div ecx
sub eax, 0x28eb353f
xor eax, 0xa27e6eb0
add eax, 0x98bd7fbf
imul eax, eax, 0x1b884243
xor eax, 0x52138416
xor eax, 0xcc318cef
sub eax, 0xf0169937
imul eax, eax, 0x31c3f1b
add eax, 0xd95ae432
xor eax, 0x21868289
mov ecx, 0x1c26f51c
xor edx, edx
div ecx
cmp eax, 0x39470590
je 0x10043b1a
mov eax, dword [0x101476e0]
xor eax, dword [str.____E]
or eax, 0x8493c0e4
add eax, 0xd7ebca4a
xor eax, 0x709eaf23
add eax, 0xad0539a
add eax, 0xb17906db
mov ecx, 0xa45b3e78
xor edx, edx
div ecx
and eax, 0xe3335321
mov ecx, 0x1b412f91
xor edx, edx
div ecx
xor eax, 0x38605a48
add eax, 0xc0aa085b
sub eax, 0xd9d4e6f7
and eax, 0x49733536
imul eax, eax, 0x2fc186a6
xor eax, 0xfc35b784
or eax, 0x8be584bd
add eax, 0xc80970e9
add eax, 0xe5ad40c9
sub eax, 0x15995d1
xor eax, 0x4d73aaa8
and eax, 0xc458a18a
imul eax, eax, 0xf84663c4
xor eax, 0xbe6648bf
imul eax, eax, 0x50514b15
xor eax, 0x8de93cac
and eax, 0x7e5c4cc
or eax, 0x6a343e4
add eax, 0xcf703688
sub eax, 0x9fc9c931
and eax, 0x282a8f83
xor eax, 0x8a5e540d
imul eax, eax, 0x5eecb53c
or eax, 0x9375e391
imul eax, eax, 0x6e98b13a
cmp eax, 0xd2b96fbc
ja 0x10043cd5
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, 0x880a1231
mov dword [ebp - 0x18], eax
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [edx], ecx
mov eax, dword [eax]
xor edx, edx
sub edx, dword [ecx - 4]
add ecx, edx
sub esp, 4
mov dword [esp], eax
call fcn.10043d40
mov ecx, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], ecx
cmp eax, 0xe0b82a55
ja 0x10043cd5
mov eax, dword [0x101476f0]
imul eax, dword [0x101476f4]
mov ecx, 0x5d195da2
xor edx, edx
div ecx
sub eax, 0x44ae2a65
sub eax, 0x9fcfeaa6
mov ecx, 0x70ff67fb
xor edx, edx
div ecx
and eax, 0x814c5fe5
sub eax, 0xfebb46be
mov ecx, 0x7235880f
xor edx, edx
div ecx
imul eax, eax, 0xefc353f2
xor eax, 0xa4d26c24
or eax, 0xb8180775
or eax, 0x2381f203
imul eax, eax, 0x1e4d8cb3
add eax, 0xfd21747
or eax, 0xd9b40905
imul eax, eax, 0xb4285233
mov ecx, 0x670101ce
xor edx, edx
div ecx
imul eax, eax, 0x718705b3
sub eax, 0x1733d856
imul eax, eax, 0xb8073c3d
or eax, 0x31f71b00
sub eax, 0xaa0a3b83
imul eax, eax, 0x31d8ec09
and eax, 0x1add17ef
add eax, 0xa8f22cff
or eax, 0x6b5083a8
sub eax, 0xe15807d5
xor eax, 0x4de2c316
add eax, 0xc02d5162
and eax, 0xf0bd6572
sub eax, 0xcbdd6a24
add eax, 0xd3ace7c3
and eax, 0x13b22b26
xor eax, 0xbf325080
cmp eax, 0xe246592b
je 0x10043793
mov eax, dword [0x101476f8]
sub eax, dword [0x101476fc]
xor eax, 0x523b81f1
xor eax, 0x82ddd30e
imul eax, eax, 0x66115052
and eax, 0x1b9bb253
xor eax, 0xf45c7dca
imul eax, eax, 0x68309121
imul eax, eax, 0x1ced46a6
or eax, 0xbc20bd20
sub eax, 0x8b61dceb
imul eax, eax, 0x9c75518f
mov ecx, 0x9f81c35c
xor edx, edx
div ecx
xor eax, 0x68703d55
add eax, 0xe31f684d
and eax, 0xd0a1e462
add eax, 0x623cecb4
or eax, 0xc9f6ad41
add eax, 0x96a020a5
add eax, 0x29960aeb
or eax, 0x5d75ecc7
add eax, 0xf35576e
sub eax, 0x7be2a37a
or eax, 0xb31d615
or eax, 0xe9b6135b
sub eax, 0x1ff46e8f
xor eax, 0x44a1510c
add eax, 0xf4872ae6
imul eax, eax, 0xc7dc7173
sub eax, 0xa2374d41
sub eax, 0xa905c727
imul eax, eax, 0x37abae5a
add eax, 0x221816b0
or eax, 0x7b029c42
or eax, 0x3d14b2af
cmp eax, 0x10daaa46
jb 0x10043d07
mov eax, dword [0x10147700]
and eax, dword [0x10147704]
sub eax, 0x5da6418b
sub eax, 0x9bf00f98
mov ecx, 0x1d291933
xor edx, edx
div ecx
or eax, 0x5baaf1c2
mov ecx, 0xcbe29b54
xor edx, edx
div ecx
add eax, 0x6bd7f611
add eax, 0x2f06c139
mov ecx, 0x25d8adad
xor edx, edx
div ecx
and eax, 0x5f81711
and eax, 0x84e0bfba
or eax, 0xece2e13a
xor eax, 0x507cca41
or eax, 0xc83a1b63
and eax, 0x42417828
add eax, 0x9443ff48
or eax, 0xfbaa9049
mov ecx, 0x814ebb2c
xor edx, edx
div ecx
mov ecx, 0xe32b99f4
xor edx, edx
div ecx
mov ecx, 0x465a86eb
xor edx, edx
div ecx
imul eax, eax, 0xd7c5fb9c
add eax, 0x634b68e
imul eax, eax, 0x39be649b
sub eax, 0x98124469
sub eax, 0xf1ce8ac4
add eax, 0xc046636b
xor eax, 0x61415fdb
sub eax, 0x91d442ca
xor eax, 0x69b83556
add eax, 0x7371eed7
imul eax, eax, 0x4f45ec45
or eax, 0xbd89df41
add eax, 0xc40dff11
sub eax, 0xb3e203d1
cmp eax, 0x4971ca36
je 0x10043a38
mov eax, dword [ebp - 0x14]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [0x10147708]
add eax, dword [0x1014770c]
and eax, 0xb8b921b4
sub eax, 0xd7055dc0
or eax, 0x14f5915e
or eax, 0x332695e6
mov ecx, 0x61c992d6
xor edx, edx
div ecx
xor eax, 0xb73a532c
xor eax, 0xb0984704
and eax, 0x9ca2a9a8
or eax, 0x737ce91b
mov ecx, 0x8b6bf797
xor edx, edx
div ecx
and eax, 0x58fe578f
or eax, 0x515f1635
sub eax, 0xda6a7346
xor eax, 0x32f07d80
or eax, 0x21c9e481
and eax, 0x704b5f68
sub eax, 0xe2e425c2
sub eax, 0x7d679b7b
and eax, 0x1abe4364
and eax, 0xca6c3faa
xor eax, 0x2ca18b4a
imul eax, eax, 0x6a02aad8
sub eax, 0xd583a248
imul eax, eax, 0xbd78cd39
mov ecx, 0xc0ed45
xor edx, edx
div ecx
sub eax, 0xa44aabce
xor eax, 0x2ee435ad
sub eax, 0x64cb9364
or eax, 0xa1b95616
add eax, 0x552f9c02
xor eax, 0x6ec4644b
add eax, 0xa7fd5d87
add eax, 0x47463fdd
cmp eax, 0x42130593
je 0x10043d0c
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, dword [0x10147710]
mov ecx, dword [0x10147714]
and eax, ecx
or eax, 0x1a434
imul eax, eax, 0xebee55c7
add eax, 0x9a504c25
or eax, 0x20280340
xor eax, 0x214080
or eax, 0xdfd63c35
mov dword [ebp - 0x20], eax
mov ecx, 0x1e9a194f
mul ecx
mov eax, dword [ebp - 0x20]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
imul eax, eax, 0x7bdb13ec
add eax, 0x5627224a
and eax, 0x28240
xor eax, 0xa0826a
imul eax, eax, 0x50d81fcc
and eax, 0xf17d58
imul eax, eax, 0xd13fa5f6
add eax, 0x28b37991
and eax, 0x7c353801
add eax, 0x5c54c83d
and eax, 0xd0999802
xor eax, 0x557c1c6d
mov ecx, 0xba97752b
mul ecx
mov eax, edx
shr eax, 0x1f
or eax, 0x3f8b5c2
imul eax, eax, 0x6f23e6f8
or eax, 0x5eddc5b
add eax, 0xaee0005e
xor eax, 0x20
and eax, 0x6000828
mov dword [ebp - 0x1c], eax
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [edx], ecx
mov eax, dword [eax]
mov esi, dword [ecx - 4]
xor edx, edx
sub edx, esi
add ecx, edx
sub esp, 4
mov dword [esp], eax
call fcn.10043d40
mov eax, dword [ebp - 0x1c]
cmp eax, 0x937147fd
je 0x10043be3
jmp 0x10043793
jmp 0x100435e0
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [edx], ecx
mov eax, dword [eax]
mov esi, dword [ecx - 4]
xor edx, edx
sub edx, esi
add ecx, edx
sub esp, 4
mov dword [esp], eax
call fcn.10043d40
jmp 0x1004385b
jmp 0x10043a38
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
push eax
mov edx, esp
push eax
mov eax, esp
push eax
mov ecx, esp
mov dword [eax], edi
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [edx], ecx
mov eax, dword [eax]
mov esi, dword [ecx - 4]
xor edx, edx
sub edx, esi
add ecx, edx
sub esp, 4
mov dword [esp], eax
call fcn.10043d40
jmp 0x10043be3