Function at 0x10074c10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
cmp dword [ebp + 8], 0
jl 0x10074fb3
mov eax, dword [0x100db450]
xor eax, dword [str.T6]
xor eax, 0x19cbaa67
imul eax, eax, 0x514ebd10
mov ecx, 0xe09df047
xor edx, edx
div ecx
sub eax, 0xb9f00ac7
or eax, 0xf1c0b212
sub eax, 0xceff3aa
sub eax, 0x1c9db287
and eax, 0x1a898a44
xor eax, 0xa06eece4
mov ecx, 0x50f24ea6
xor edx, edx
div ecx
or eax, 0xafffd9bd
mov ecx, 0x6e9a4ff7
xor edx, edx
div ecx
xor eax, 0xa8e6e0ec
mov ecx, 0x3b9a7321
xor edx, edx
div ecx
or eax, 0xc54d4bad
sub eax, 0xc016a6a6
add eax, 0xa3d0c5b3
imul eax, eax, 0x2a32773a
imul eax, eax, 0x3ab76e3f
mov ecx, 0x8ee81047
xor edx, edx
div ecx
mov ecx, 0xf04f5dc7
xor edx, edx
div ecx
sub eax, 0xc07abf15
or eax, 0x8f7be2be
sub eax, 0xecb8eda1
and eax, 0x70b80de0
mov ecx, 0x5fdc77ca
xor edx, edx
div ecx
or eax, 0xc1af7306
and eax, 0xf2c92ef5
xor eax, 0xc2c0aaa4
or eax, 0x3773973
or eax, 0xc8b919e1
mov ecx, 0x5eebd24f
xor edx, edx
div ecx
and eax, 0x3051a4ab
or eax, 0xb47521d6
imul eax, eax, 0xfce750ac
imul eax, eax, 0x3401f52c
xor eax, 0x97a4bdc2
imul eax, eax, 0x8bb35349
sub eax, 0x41a3aa99
sub eax, 0x66526209
mov ecx, 0xa475eef6
xor edx, edx
div ecx
xor eax, 0x670055b9
imul eax, eax, 0x214fea04
mov ecx, 0x2e1a5c8b
xor edx, edx
div ecx
xor eax, 0x5906c6b1
xor eax, 0x70c11a92
and eax, 0x733f58d8
add eax, 0xbcd1a664
sub eax, 0x46e3edc9
mov ecx, 0x6828488b
xor edx, edx
div ecx
and eax, 0xea545b7d
sub eax, 0x80cc9f8c
and eax, 0x1c87c338
or eax, 0x7c895c80
add eax, 0x333ebd49
imul eax, eax, 0x6c47c83e
add eax, 0x4585d22
xor eax, 0xf3b6f73e
xor eax, 0x193c07ce
mov ecx, 0xdd7264c8
xor edx, edx
div ecx
xor eax, 0x49cd82a3
add eax, 0x139294ab
add eax, 0x64f52728
imul eax, eax, 0x77e3723c
imul eax, eax, 0x402c147a
add eax, 0x8a970dbb
imul eax, eax, 0xe4993e89
and eax, 0x938af82e
xor eax, 0x8fc5de62
and eax, 0xd7161169
sub eax, 0xf1d89d0e
imul eax, eax, 0x5c4634f8
cmp eax, 0x7c7fe943
jb 0x10075343
mov eax, dword [0x100db458]
or eax, dword [0x100db45c]
add eax, 0xa57b98e8
imul eax, eax, 0xe1a96cf2
or eax, 0x7b9393c2
imul eax, eax, 0xadcd7b82
mov ecx, 0x98bf73f7
xor edx, edx
div ecx
add eax, 0xd9a7914
sub eax, 0xd93d3ba7
sub eax, 0x80303a0d
sub eax, 0xf5025af7
imul eax, eax, 0xc89d316d
or eax, 0xd785e999
or eax, 0xa6644055
add eax, 0x24ee9298
or eax, 0x6b2b71d5
and eax, 0x4cc7bbf5
or eax, 0x598132a1
xor eax, 0x8230e606
or eax, 0x82711bba
or eax, 0x17c8a7bf
sub eax, 0x6cc3a715
sub eax, 0x282fb5fa
mov ecx, 0xeb13d3ac
xor edx, edx
div ecx
and eax, 0x5f8ead65
or eax, 0x103297a8
or eax, 0x97dc6523
mov ecx, 0xa55164a7
xor edx, edx
div ecx
xor eax, 0x49bb5c60
or eax, 0x14cfd3cf
mov ecx, 0x6bfcb4b5
xor edx, edx
div ecx
xor eax, 0x74356b86
mov ecx, 0xb23f14c7
xor edx, edx
div ecx
mov ecx, 0xb33fc385
xor edx, edx
div ecx
xor eax, 0x28ea98e9
imul eax, eax, 0xaeeca035
add eax, 0x49be95aa
and eax, 0x7a190d65
or eax, 0x689dbcd6
or eax, 0xca35452e
add eax, 0x136b1162
or eax, 0x7dcec4c0
xor eax, 0x891080ce
mov ecx, 0x8dce4ddf
xor edx, edx
div ecx
and eax, 0x870c8698
mov ecx, 0x9b4edcfa
xor edx, edx
div ecx
xor eax, 0xcef38337
xor eax, 0x23ea9c10
or eax, 0x11311502
sub eax, 0x84814fd1
sub eax, 0x78a3c8a1
xor eax, 0x556dca58
sub eax, 0x2803185
or eax, 0xa3644b21
sub eax, 0xd4a3a2a3
mov ecx, 0x64fe46a3
xor edx, edx
div ecx
xor eax, 0x31a4e629
xor eax, 0xfa301eaf
add eax, 0xda92c469
sub eax, 0x6fa7cc01
xor eax, 0xb87282e2
and eax, 0xfdb87116
xor eax, 0xfb9eaeef
or eax, 0xa1e748cc
and eax, 0xec74c33f
sub eax, 0xd3705c8
or eax, 0xb82e71dd
mov ecx, 0x28f6b3a4
xor edx, edx
div ecx
and eax, 0x58f995eb
and eax, 0xc77e83a3
or eax, 0x5cdb0b5e
add eax, 0x18323c9b
mov ecx, 0xab45d019
xor edx, edx
div ecx
mov edx, dword [ebp - 8]
or eax, 0xa872e79d
mov ecx, dword [ebp + 8]
cmp ecx, dword [edx + 4]
setge cl
mov byte [ebp - 9], cl
cmp eax, 0x3f5c68a0
jb 0x10074de6
mov al, byte [ebp - 9]
test al, 1
jne 0x10074fb3
jmp 0x1007532f
mov eax, dword [0x100db460]
or eax, dword [0x100db464]
or eax, 0x597900ee
and eax, 0x4ebde387
or eax, 0x257aaf09
or eax, 0x1e1c8cb1
sub eax, 0x9313590d
and eax, 0x16d42657
add eax, 0x62fb20ad
mov ecx, 0x9c340384
xor edx, edx
div ecx
and eax, 0x4388a90f
sub eax, 0x18962520
mov ecx, 0xb5b50256
xor edx, edx
div ecx
xor eax, 0x7e3e80b1
or eax, 0xd47e1285
xor eax, 0x2ba96b18
or eax, 0x6df82bda
or eax, 0x28d684cc
add eax, 0xeacd18
and eax, 0xf46905fe
add eax, 0xffb4b595
imul eax, eax, 0x2c82712d
sub eax, 0x29e2bf24
or eax, 0x6856ed16
imul eax, eax, 0x8ec56856
sub eax, 0xd39e85bc
and eax, 0x4d95e89b
xor eax, 0x49f05ee1
and eax, 0xea0c5b6c
add eax, 0xf498be2c
sub eax, 0xa2672309
add eax, 0xd038058c
imul eax, eax, 0xbdf9b6e1
or eax, 0xadd7056a
imul eax, eax, 0x5cfeed76
xor eax, 0xce8d8bf4
mov ecx, 0x67908b3e
xor edx, edx
div ecx
or eax, 0xb86efd8f
sub eax, 0x5c8d6a0b
xor eax, 0x851fd82
and eax, 0x898c308b
mov ecx, 0x5ae3d883
xor edx, edx
div ecx
sub eax, 0x2e049d23
and eax, 0x181bf4bf
sub eax, 0x9a226954
imul eax, eax, 0xd718107b
imul eax, eax, 0xf5970226
xor eax, 0x9077fdbc
or eax, 0x672795ea
or eax, 0xf81283c1
or eax, 0x61fae310
or eax, 0xe7de9c8c
xor eax, 0xaa17deaf
add eax, 0xf00c8fd6
sub eax, 0x4d5937f3
add eax, 0xf5aeb8f5
or eax, 0x30b935fc
and eax, 0x4c170581
sub eax, 0x88dcb9a2
xor eax, 0xabdfbc12
xor eax, 0x2c02232d
add eax, 0xc14661
imul eax, eax, 0xf636b5ae
sub eax, 0x5e8dd48c
xor eax, 0x60027c55
add eax, 0x8d564659
or eax, 0x42457f55
mov ecx, 0x741f031e
xor edx, edx
div ecx
or eax, 0xbbb60109
add eax, 0x8246d7b6
add eax, 0xa9af6f2f
imul eax, eax, 0x1e125676
imul eax, eax, 0x831ebd8d
or eax, 0x67350bf5
cmp eax, 0x7087714b
je 0x10075348
mov eax, dword [0x100db468]
add eax, dword [0x100db46c]
or eax, 0xed1d1a4e
or eax, 0xdf7e61ce
xor eax, 0x35e79449
sub eax, 0xcff9dd72
imul eax, eax, 0xbe71025f
add eax, 0x402e0f24
add eax, 0x87ecb25c
or eax, 0x4e44e352
xor eax, 0x54a81bec
mov ecx, 0x54344dfb
xor edx, edx
div ecx
xor eax, 0xf0af5bb7
add eax, 0x722b826c
add eax, 0x242db8ad
mov ecx, 0x7e415f65
xor edx, edx
div ecx
and eax, 0xa698413c
xor eax, 0xbee5c6e2
or eax, 0x258ed560
sub eax, 0x772f0641
imul eax, eax, 0x8cad7e6
imul eax, eax, 0xb7682f27
and eax, 0x6740f96b
imul eax, eax, 0x6a3270ce
or eax, 0x88de1153
sub eax, 0x2c7d9d66
mov ecx, 0x3af44258
xor edx, edx
div ecx
mov ecx, 0xa7d2cd4c
xor edx, edx
div ecx
xor eax, 0x285fc162
xor eax, 0x55d27c88
imul eax, eax, 0x421da90d
imul eax, eax, 0x5f518062
sub eax, 0x422c41fa
mov ecx, 0x1aceb166
xor edx, edx
div ecx
and eax, 0x760d9249
or eax, 0xc461f748
imul eax, eax, 0x49a2733b
xor eax, 0x5593ba0
mov ecx, 0xfa4eaf27
xor edx, edx
div ecx
mov ecx, 0x8e0d0700
xor edx, edx
div ecx
and eax, 0x568949
mov ecx, 0xfc2c6997
xor edx, edx
div ecx
mov ecx, 0x85245266
xor edx, edx
div ecx
sub eax, 0x3ccf845a
sub eax, 0x74ae07c8
xor eax, 0xc738e1e7
imul eax, eax, 0xee1d1c0d
add eax, 0xdb7d06a4
mov ecx, 0x1d40f150
xor edx, edx
div ecx
mov ecx, 0x628b2497
xor edx, edx
div ecx
imul eax, eax, 0x92b8044c
mov ecx, 0xa38cdf3b
xor edx, edx
div ecx
or eax, 0x30ca8a92
imul eax, eax, 0x9a4df535
mov ecx, 0xda0f885c
xor edx, edx
div ecx
or eax, 0xaec5557
xor eax, 0x36faa30b
xor eax, 0xfa6f60ee
xor eax, 0x15d42111
mov ecx, 0x9a0be005
xor edx, edx
div ecx
imul eax, eax, 0xacf90dc4
mov ecx, 0x7c21574d
xor edx, edx
div ecx
and eax, 0x1f7666c8
sub eax, 0x66e6f81d
imul eax, eax, 0xc657fcec
sub eax, 0x63eaa695
add eax, 0x780ec86c
xor eax, 0xebc57de1
sub eax, 0x1849f2ba
imul eax, eax, 0x1db2422f
sub eax, 0x19047c30
mov ecx, 0xb6a96285
xor edx, edx
div ecx
and eax, 0x104eb35d
imul eax, eax, 0xa7df597
mov dword [ebp - 0x10], eax
mov dword [esp], recv
call fcn.10075e50
sub esp, 4
mov eax, dword [ebp - 0x10]
cmp eax, 0xed78e438
ja 0x1007514e
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
shl ecx, 1
add eax, ecx
add esp, 0x14
pop ebp
ret 4
jmp 0x10074de6
mov dword [esp], recv
call fcn.10075e50
sub esp, 4
jmp 0x1007514e