Function at 0x10043d40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x28
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [0x10147718]
add eax, dword [0x1014771c]
and eax, 0xc3255c57
mov ecx, 0x1c40681c
xor edx, edx
div ecx
mov ecx, 0x8a217c11
xor edx, edx
div ecx
imul eax, eax, 0xa83410a5
mov ecx, 0xae414ce4
xor edx, edx
div ecx
xor eax, 0x9bfe0650
imul eax, eax, 0xc4c60824
or eax, 0xd1cd541
sub eax, 0xa1def969
sub eax, 0x4ab540be
and eax, 0xf9f98b9a
xor eax, 0xaea01e30
add eax, 0x9f923b37
add eax, 0xd36ea87e
xor eax, 0xeb800c47
imul eax, eax, 0x576c1892
xor eax, 0xf8d250c2
xor eax, 0x29c71204
add eax, 0x680f92f3
xor eax, 0xd3fbe51
or eax, 0xc140a3b1
imul eax, eax, 0x63e03d37
sub eax, 0x93f0c6ee
imul eax, eax, 0xfd45cde8
mov ecx, 0x2ad94165
xor edx, edx
div ecx
add eax, 0x3c4e64d2
or eax, 0xedbf7b70
add eax, 0xf5c6446e
or eax, 0x2ee336a2
mov ecx, 0x99d14764
xor edx, edx
div ecx
add eax, 0x150c3709
imul eax, eax, 0xb3657e43
mov ecx, 0x8b58a0a5
xor edx, edx
div ecx
cmp eax, 0xe89cb20d
ja 0x100448f1
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
mov eax, 0x30c04000
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]
add ecx, 0xffffff90
mov dword [ebp - 0x20], ecx
mov dword [edx], ecx
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
call fcn.1003fbf0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, 0
sete cl
mov byte [ebp - 0x11], cl
cmp eax, 0x5c66aa83
jae 0x100448f1
mov al, byte [ebp - 0x11]
test al, 1
jne 0x10044059
jmp 0x10043e86
mov eax, dword [0x10147728]
or eax, dword [0x1014772c]
xor eax, 0x37eb5799
mov ecx, 0xc33b6a2
xor edx, edx
div ecx
and eax, 0x992dfb4a
xor eax, 0xff459b42
imul eax, eax, 0x1c435021
imul eax, eax, 0x3f01ca95
mov ecx, 0xc4a6f55a
xor edx, edx
div ecx
mov ecx, 0xcc2b4a29
xor edx, edx
div ecx
imul eax, eax, 0x78d5f87b
add eax, 0x45a92e2d
or eax, 0x7f6a67c3
xor eax, 0xd9db2986
add eax, 0x8216e56b
mov ecx, 0x89434088
xor edx, edx
div ecx
add eax, 0xa4d2c662
imul eax, eax, 0x10cf6cbc
sub eax, 0xaf2d9f8d
or eax, 0x65f455c9
imul eax, eax, 0x2f9b701b
sub eax, 0x8f060695
add eax, 0x5392f3d5
mov ecx, 0xc62971
xor edx, edx
div ecx
sub eax, 0x2cd59b4f
mov ecx, 0x15327c4b
xor edx, edx
div ecx
sub eax, 0x11fb5e62
mov ecx, 0x149e8f76
xor edx, edx
div ecx
sub eax, 0x872850dd
mov ecx, 0x96855fb1
xor edx, edx
div ecx
xor eax, 0x55eb5842
or eax, 0x48f5fc0d
add eax, 0xf824b6bb
xor eax, 0xff939a8
or eax, 0x510ee490
cmp eax, 0x7ee6f35a
je 0x10044719
mov eax, dword [0x10147730]
xor edx, edx
div dword [0x10147734]
and eax, 0x51646789
or eax, 0x2f1d9801
xor eax, 0x8c517a74
and eax, 0xe9293b77
xor eax, 0x7b635e70
and eax, 0x4fd30a10
and eax, 0xe876b9bd
add eax, 0xbddd766a
or eax, 0xdecb9442
mov ecx, 0x7f5f0006
xor edx, edx
div ecx
sub eax, 0x925c3c5e
sub eax, 0xe2637a92
xor eax, 0xeb56937a
imul eax, eax, 0xc1199d01
imul eax, eax, 0x39fcf7c6
xor eax, 0x7f4fc7c1
mov ecx, 0xd355af8e
xor edx, edx
div ecx
add eax, 0x560bfd38
add eax, 0x22e86ccf
and eax, 0x687fd40d
xor eax, 0x853acda6
sub eax, 0x4244b9b
imul eax, eax, 0x3fc51260
mov ecx, 0x62c24b71
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
xor ecx, 0x5129ba7
or ecx, 0xe9cd51a5
imul ecx, ecx, 0x6f02c4ac
imul ecx, ecx, 0xf7b0d68f
and ecx, 0x33df0d6
add ecx, 0x1e699cf9
xor ecx, 0xb724749f
imul ecx, ecx, 0x90675b3d
sub ecx, 0x8be50a93
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, 0x64ecebcb
jbe 0x10044719
jmp 0x10044059
mov eax, dword [0x10147738]
xor edx, edx
div dword [0x1014773c]
mov ecx, 0xbfc3a6d9
xor edx, edx
div ecx
imul eax, eax, 0xfb028d49
sub eax, 0x63063530
add eax, 0x3666d265
and eax, 0xf0322887
mov ecx, 0x2036a278
xor edx, edx
div ecx
mov ecx, 0x7a434563
xor edx, edx
div ecx
sub eax, 0x983b8129
mov ecx, 0x879fb5ad
xor edx, edx
div ecx
mov ecx, 0x7bed3b6
xor edx, edx
div ecx
sub eax, 0x9b68c0f1
sub eax, 0x58683e1e
sub eax, 0xaff8ed72
add eax, 0xd93ca732
mov ecx, 0x29419f0c
xor edx, edx
div ecx
or eax, 0x425ea905
mov ecx, 0xa3873aff
xor edx, edx
div ecx
sub eax, 0xadc9ead8
imul eax, eax, 0x6c854d00
xor eax, 0xda349f4e
and eax, 0x7741852a
add eax, 0xbbac8514
sub eax, 0x4a881a5d
mov ecx, 0x4b2a1949
xor edx, edx
div ecx
add eax, 0x94828fe9
xor eax, 0x4f0566eb
imul eax, eax, 0xee3118e3
add eax, 0xa0676cc1
mov ecx, 0xa1992a4b
xor edx, edx
div ecx
add eax, 0xc300ad2a
mov ecx, 0x84198a8d
xor edx, edx
div ecx
and eax, 0x77398152
or eax, 0x954f7b13
cmp eax, 0xa2d9dce8
ja 0x10044915
mov eax, dword [0x10147740]
or eax, dword [0x10147744]
mov ecx, 0x4e7cc4e2
xor edx, edx
div ecx
and eax, 0x279ebff
add eax, 0x138f5c4d
and eax, 0x6bb35c40
add eax, 0x6cafc747
and eax, 0x991a52bd
sub eax, 0x1d4dc267
sub eax, 0x4fce9be9
imul eax, eax, 0x5f8da049
mov ecx, 0x77844cc0
xor edx, edx
div ecx
add eax, 0xded89f6a
or eax, 0xef1b2c71
and eax, 0x8b9a297f
sub eax, 0x325a6e0c
or eax, 0x51baa164
sub eax, 0x33e21226
mov ecx, 0xb7ba344f
xor edx, edx
div ecx
xor eax, 0x18e52e69
imul eax, eax, 0xfb24bd8
imul eax, eax, 0x7298a79a
add eax, 0xee175d19
sub eax, 0xaa4008e2
xor eax, 0x80ff0aaf
imul eax, eax, 0x97605726
and eax, 0x1df7d89b
xor eax, 0x5cb371dc
imul eax, eax, 0x26d2c0
or eax, 0x7b75757c
mov ecx, 0x14e29dbf
xor edx, edx
div ecx
or eax, 0x7c294877
imul eax, eax, 0xd75cc153
sub eax, 0xf964b11a
or eax, 0x9ec24b20
cmp eax, 0x929de9ac
je 0x10044915
mov eax, dword [str.5a10]
or eax, dword [0x1014774c]
xor eax, 0xad6a2523
xor eax, 0xe79c7756
sub eax, 0xa879dfe4
sub eax, 0x70b52626
imul eax, eax, 0x1f6848b2
sub eax, 0x2f66a4f1
or eax, 0xf510318c
add eax, 0x1d90410b
or eax, 0x92059618
and eax, 0x9f1064ea
or eax, 0xbed0c11f
and eax, 0xbf288298
imul eax, eax, 0xcc76d530
xor eax, 0x5d0770e1
imul eax, eax, 0xd8b94dad
xor eax, 0x7c2736ff
imul eax, eax, 0xdcb6afe7
add eax, 0xf5322734
imul eax, eax, 0x6062b28c
xor eax, 0x15690776
add eax, 0x68289046
imul eax, eax, 0x7c58c6dd
mov ecx, 0xef77a018
xor edx, edx
div ecx
add eax, 0xe665019d
xor eax, 0xbde7901e
mov ecx, 0xf5731a52
xor edx, edx
div ecx
mov ecx, 0x49734207
xor edx, edx
div ecx
xor eax, 0x6be75924
sub eax, 0x27d0a89
and eax, 0xd18db186
mov ecx, 0x9889546a
xor edx, edx
div ecx
imul eax, eax, 0xf373e866
xor eax, 0x4ee308ba
cmp eax, 0xe539ce44
je 0x100448ec
mov eax, dword [0x10147750]
xor eax, dword [0x10147754]
xor eax, 0x1a77f618
and eax, 0xba47be43
or eax, 0xbd14cb22
add eax, 0x8b9843ce
mov ecx, 0xc5e62904
xor edx, edx
div ecx
add eax, 0x645f092c
add eax, 0x806320fe
xor eax, 0xd39146e9
xor eax, 0xfdc641b6
add eax, 0xb467794d
mov ecx, 0x20102723
xor edx, edx
div ecx
or eax, 0xae536c28
mov ecx, 0x7240bf0f
xor edx, edx
div ecx
and eax, 0x6a8d543b
add eax, 0x3d42c585
add eax, 0x300bfae9
imul eax, eax, 0xb730c531
sub eax, 0xa2fc1008
xor eax, 0x58ec9c5a
sub eax, 0xddf71a22
and eax, 0x222f2178
add eax, 0xfbe4a3bd
imul eax, eax, 0x346a50ad
xor eax, 0xdc1dd272
sub eax, 0x7afdde71
imul eax, eax, 0x87da6689
or eax, 0x8adf4511
add eax, 0x3e46226f
and eax, 0xe935bda3
xor eax, 0x39894b8c
or eax, 0x2e8c89c
imul eax, eax, 0x5f99640e
or eax, 0x7e789fc2
cmp eax, 0xad233773
je 0x1004491a
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x10147758]
sub eax, dword [0x1014775c]
mov esi, 0x34c65ce3
xor edx, edx
div esi
and eax, 0x96db0f10
add eax, 0xeb712e24
sub eax, 0x36291a9c
or eax, 0x7a128dca
mov esi, 0x5c53b579
xor edx, edx
div esi
imul eax, eax, 0xa77329a7
add eax, 0xf904b161
mov esi, 0xa843d404
xor edx, edx
div esi
xor eax, 0x26306a27
imul eax, eax, 0xf36759db
imul eax, eax, 0x9ca949c9
and eax, 0xcc362c57
or eax, 0x533a225f
or eax, 0xf77ff8a0
xor eax, 0x36da58bc
add eax, 0x5824886b
mov esi, 0x654da8d8
xor edx, edx
div esi
xor eax, 0xda1ee7ba
xor eax, 0x90fa1cb2
mov esi, 0x5e00ec2e
xor edx, edx
div esi
and eax, 0x4db2786c
add eax, 0xbc8ffb2
mov esi, 0x57bbebac
xor edx, edx
div esi
mov esi, 0xc915e178
xor edx, edx
div esi
and eax, 0x83e8eb89
or eax, 0x1486c848
imul eax, eax, 0x15da5d36
xor eax, 0x30bf614e
add eax, 0xa5aeb91c
mov esi, 0xc33786e6
xor edx, edx
div esi
sub eax, 0x2bd2f1f7
imul eax, eax, 0x628159a9
mov ecx, dword [ecx]
mov dword [ebp - 0x2c], ecx
cmp eax, 0x4ee07750
je 0x100443af
mov eax, dword [0x10147760]
or eax, dword [0x10147764]
and eax, 0x5bb61158
mov ecx, 0x5d32985f
xor edx, edx
div ecx
mov ecx, 0x5c9a985
xor edx, edx
div ecx
mov ecx, 0xb2c1124e
xor edx, edx
div ecx
sub eax, 0x936d8412
xor eax, 0x7cc1507b
add eax, 0xed5d8ee3
imul eax, eax, 0xa8e5be5f
xor eax, 0xcc1e60d
mov ecx, 0x48567c2
xor edx, edx
div ecx
xor eax, 0xdaeaf6b3
and eax, 0x56c500dc
imul eax, eax, 0x9e6080d1
sub eax, 0x3b656a63
or eax, 0x2b650c76
add eax, 0x73fdc229
and eax, 0xdab3804f
imul eax, eax, 0x2bf10cdf
and eax, 0x88ac45c6
add eax, 0xdf076c3f
sub eax, 0xf3ca6b07
add eax, 0x7dd4297f
sub eax, 0x2ba1c7bf
sub eax, 0x795bc27c
or eax, 0x517e62f7
add eax, 0x5c909b61
xor eax, 0x623ec902
sub eax, 0xf50bba4f
or eax, 0x59aa22d2
and eax, 0x91523ab4
and eax, 0xc3ceedec
and eax, 0x1753b691
or eax, 0x8d186657
cmp eax, 0xeaa7f752
ja 0x100448ec
mov eax, dword [0x10147768]
add eax, dword [0x1014776c]
or eax, 0x315adcb9
or eax, 0x57b37e2b
xor eax, 0xee10c538
or eax, 0x6c698ef3
imul eax, eax, 0x55b0f177
imul eax, eax, 0x1dd62685
sub eax, 0x125cabbf
mov ecx, 0xde065da1
xor edx, edx
div ecx
and eax, 0x18ac2e68
and eax, 0x1b24d03a
xor eax, 0x8129b9fa
or eax, 0x6c47b22b
or eax, 0xf82dd266
sub eax, 0xe957daf
or eax, 0xf3ae50c9
mov ecx, 0x50e65218
xor edx, edx
div ecx
add eax, 0x3b0ef5d5
mov ecx, 0x75114f22
xor edx, edx
div ecx
sub eax, 0x7075f81
add eax, 0x62c052e
mov ecx, 0xf9f1fcd8
xor edx, edx
div ecx
add eax, 0xa6dc29ed
xor eax, 0x927bf6e9
sub eax, 0xfd6425a0
imul eax, eax, 0xc84a13b2
or eax, 0x26234202
and eax, 0x4c7e92f1
and eax, 0x581f88e1
imul eax, eax, 0x4fd0bac4
or eax, 0xac75fc63
xor eax, 0xeb0360d6
sub eax, 0x84f13839
sub eax, 0xd806bac7
cmp eax, 0x57723688
jb 0x1004491f
mov eax, dword [0x10147770]
or eax, dword [0x10147774]
xor eax, 0xce0a88a6
imul eax, eax, 0x8836bb03
and eax, 0x78afe53b
and eax, 0xa1f40aee
and eax, 0x1f5cb0f1
add eax, 0x8563be1d
sub eax, 0xfd9f06e8
mov ecx, 0x1e5ecf0a
xor edx, edx
div ecx
or eax, 0x44d4e42b
imul eax, eax, 0x9b1af8c7
xor eax, 0x71bf782a
and eax, 0xa09831a1
sub eax, 0xcccc7aef
mov ecx, 0x283be8b5
xor edx, edx
div ecx
or eax, 0x1f1f484f
sub eax, 0x5faed7ea
mov ecx, 0x43f54c94
xor edx, edx
div ecx
sub eax, 0xf7e0b0ab
add eax, 0x1ce9e421
xor eax, 0xff86126a
mov ecx, 0x338d734d
xor edx, edx
div ecx
sub eax, 0xe9a17c9a
add eax, 0xec004689
add eax, 0x9c318990
xor eax, 0x42ef70b
xor eax, 0x54346d26
or eax, 0x6835fe43
xor eax, 0x86d2f6d8
mov ecx, 0x919de781
xor edx, edx
div ecx
mov ecx, 0x76eb3c16
xor edx, edx
div ecx
xor eax, 0xefb8c651
mov ecx, 0xaf5459c
xor edx, edx
div ecx
or eax, 0xf332efba
cmp eax, 0xc8d9eb1f
jb 0x10044634
mov eax, dword [ebp - 0x2c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [0x10147778]
imul eax, dword [0x1014777c]
mov ecx, 0x59f98b4f
xor edx, edx
div ecx
mov ecx, 0x1c9ed9e4
xor edx, edx
div ecx
mov ecx, 0xbee153fd
xor edx, edx
div ecx
mov ecx, 0xd0d3b654
xor edx, edx
div ecx
or eax, 0x3ada50f0
and eax, 0xa5424544
add eax, 0xb5a1aecc
xor eax, 0x9bdb5a90
sub eax, 0x7801f0e5
and eax, 0x2fd8b18a
add eax, 0xcabf59ba
xor eax, 0xdbdc5b9d
imul eax, eax, 0x251aeb8f
sub eax, 0xb3df8e60
sub eax, 0x617c49d6
mov ecx, 0x9a12dbba
xor edx, edx
div ecx
and eax, 0xcaf43b60
or eax, 0x20692db6
and eax, 0x9ab12724
imul eax, eax, 0xe897a7f2
imul eax, eax, 0xd7db9f6f
and eax, 0xbaf5b882
imul eax, eax, 0x7f2b649b
add eax, 0x34db9130
add eax, 0x5c52fa93
imul eax, eax, 0x304f58a8
or eax, 0xd040ce2a
sub eax, 0x3bf37f07
or eax, 0xcb2314d9
sub eax, 0xd1e1ce9d
and eax, 0x2648b8a9
or eax, 0xf4ee8f11
and eax, 0xe10f200
cmp eax, 0x732ff781
je 0x10044924
mov eax, dword [0x10147780]
xor edx, edx
div dword [0x10147784]
xor eax, 0x92f9ec64
or eax, 0x3333687
sub eax, 0x5c69fc7d
and eax, 0x3742f6b9
xor eax, 0x7b2ebb72
xor eax, 0xb446ea9e
mov ecx, 0x600c9290
xor edx, edx
div ecx
add eax, 0x1a8d7376
and eax, 0x7fa57ff8
mov ecx, 0xd1efe10f
xor edx, edx
div ecx
add eax, 0x5a87ebf1
mov ecx, 0x1ab32679
xor edx, edx
div ecx
or eax, 0x8ad0fb65
mov ecx, 0x88c5a6ff
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [ebp - 0x20]
imul ecx, ecx, 0x4350311a
xor ecx, 0x4468faa2
or ecx, 0x5c06674d
sub ecx, 0xf2d642b
and ecx, 0xc595e78f
add ecx, 0x11e87772
sub ecx, 0x98386e60
imul ecx, ecx, 0xcc5f623
or ecx, 0x29775716
sub ecx, 0x7ea15eb2
imul ecx, ecx, 0x683076f1
xor ecx, 0xef35613b
imul ecx, ecx, 0x658b14da
sub ecx, 0x8977b783
and ecx, 0x6f9afb76
sub ecx, 0xf33d9ac1
xor ecx, 0xec273f37
or ecx, 0x9a2d4d54
add ecx, 0xe502f36b
mov dword [ebp - 0x30], ecx
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
mov eax, dword [ebp - 0x30]
add esp, 4
cmp eax, 0xda0024c8
jae 0x100447ee
jmp 0x10043f66
jmp 0x100442e4
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]
add ecx, 0xffffff90
mov dword [eax], ecx
call fcn.1003fbf0
jmp 0x10043e2a
jmp 0x10044141
jmp 0x100443af
jmp 0x10044634
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call fcn.1011cf8c
add esp, 4
jmp 0x100447ee