Function at 0x10070a10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
sub esp, 0x14
mov eax, dword [ebp + 8]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp + 8], 0
jl 0x10070dd8
mov eax, dword [0x100d5380]
xor edx, edx
div dword [0x100d5384]
mov ecx, 0x4c1216b9
xor edx, edx
div ecx
mov ecx, 0x288bc692
xor edx, edx
div ecx
xor eax, 0x7db67c81
mov ecx, 0x7b8a7e4f
xor edx, edx
div ecx
mov ecx, 0xf3831f20
xor edx, edx
div ecx
mov ecx, 0x1016a59a
xor edx, edx
div ecx
sub eax, 0x310edc8b
and eax, 0x2ea7c4be
imul eax, eax, 0xb6111315
sub eax, 0x3ab1b842
xor eax, 0xa3a2a1ab
add eax, 0xc33db8fe
xor eax, 0x6c820ea3
imul eax, eax, 0x42eba021
sub eax, 0xeb098e9c
mov ecx, 0x7472bdfd
xor edx, edx
div ecx
and eax, 0x1d6293c8
sub eax, 0x1f36a78a
sub eax, 0xf08c307d
imul eax, eax, 0x33b8d3b2
or eax, 0x38bdb060
xor eax, 0xd6d70ccd
and eax, 0xf0331e60
or eax, 0x94457b13
add eax, 0x5d310952
xor eax, 0x25deaa90
mov ecx, 0xe77e4a73
xor edx, edx
div ecx
imul eax, eax, 0x5ae6130f
imul eax, eax, 0x7b3299c0
mov ecx, 0xab89239c
xor edx, edx
div ecx
mov ecx, 0x883565ef
xor edx, edx
div ecx
imul eax, eax, 0x6b2ed0b3
and eax, 0xe16300a2
mov ecx, 0xbbb3569b
xor edx, edx
div ecx
add eax, 0x66efa43f
add eax, 0xdc5bf250
imul eax, eax, 0x2157dab2
add eax, 0x7a0f3180
add eax, 0xe8f8571d
or eax, 0xf23af3fd
sub eax, 0x7532b6d2
sub eax, 0x888515a0
imul eax, eax, 0x1803f1c5
and eax, 0xae6899a3
imul eax, eax, 0xd39b0571
xor eax, 0x1a315185
xor eax, 0x518017c9
sub eax, 0x4f78bbb3
and eax, 0x2ad21406
add eax, 0xdfd1d085
mov ecx, 0xf4e9348f
xor edx, edx
div ecx
and eax, 0x81962e14
mov ecx, 0xd952fe87
xor edx, edx
div ecx
sub eax, 0x213c396c
xor eax, 0x3a8db4fe
sub eax, 0xbaf1ef4
imul eax, eax, 0x21c0a90c
mov ecx, 0x5e8909c
xor edx, edx
div ecx
or eax, 0x5a63ad25
add eax, 0xb9e45469
sub eax, 0x526baad3
and eax, 0x2fa60289
sub eax, 0xca47695f
and eax, 0xa80b67c2
xor eax, 0x1468d0f1
mov ecx, 0x31f859d1
xor edx, edx
div ecx
and eax, 0x3dafc698
imul eax, eax, 0xe17bfb5a
or eax, 0x7028f282
imul eax, eax, 0x93d700c4
or eax, 0x3fc37d7f
or eax, 0xb8cc67da
cmp eax, 0x2a52bb8f
jb 0x1007116b
mov eax, dword [0x100d5388]
or eax, dword [0x100d538c]
add eax, 0x2158145e
add eax, 0x8230647a
mov ecx, 0xbfa39e43
xor edx, edx
div ecx
sub eax, 0x50a534aa
imul eax, eax, 0x664111f3
mov ecx, 0x63c7b81a
xor edx, edx
div ecx
and eax, 0x67e0d4c3
mov ecx, 0x10975ef2
xor edx, edx
div ecx
and eax, 0xfc5689c
mov ecx, 0x2ee0f41c
xor edx, edx
div ecx
and eax, 0x80f72751
imul eax, eax, 0x42c9b6ec
mov ecx, 0xf1179003
xor edx, edx
div ecx
or eax, 0x4e591070
sub eax, 0xeb004302
and eax, 0x4c157fc4
imul eax, eax, 0xf8ef0793
sub eax, 0x8b406de8
mov ecx, 0xa13ea79f
xor edx, edx
div ecx
sub eax, 0xe5c2458b
imul eax, eax, 0x8d4f5085
sub eax, 0x582b8b63
sub eax, 0xdc3137c9
sub eax, 0xa1c9f6c6
xor eax, 0x9a9a9a34
xor eax, 0xe3e3e851
add eax, 0xb849a7ce
mov ecx, 0x3697fcc8
xor edx, edx
div ecx
sub eax, 0xc65df869
and eax, 0x26347d04
mov ecx, 0x7506b5ef
xor edx, edx
div ecx
imul eax, eax, 0x8a4e23b3
xor eax, 0xfbfe09ff
and eax, 0xe6687218
add eax, 0xdceb8f16
imul eax, eax, 0xb8a81b93
sub eax, 0xa5ad6648
add eax, 0xdb602290
imul eax, eax, 0x8cba141b
mov ecx, 0xeaa9f732
xor edx, edx
div ecx
sub eax, 0x3e0c8db8
or eax, 0xeb88fd8f
or eax, 0x632201af
imul eax, eax, 0xef30a511
mov ecx, 0xc3945c4f
xor edx, edx
div ecx
mov ecx, 0x85c59ee2
xor edx, edx
div ecx
or eax, 0x7c8f5454
xor eax, 0xe3ee0187
and eax, 0x70110e45
mov ecx, 0xf90985fe
xor edx, edx
div ecx
imul eax, eax, 0x6d2fa360
mov ecx, 0xee1e3e37
xor edx, edx
div ecx
or eax, 0x37bf7979
imul eax, eax, 0x460e2a98
sub eax, 0x5946603a
add eax, 0x4990c6e2
add eax, 0xb9c9a042
imul eax, eax, 0x4e1c9f24
xor eax, 0x5e22b190
add eax, 0x42c0c22a
or eax, 0x5a0ab671
sub eax, 0x94fd145c
imul eax, eax, 0xe73e5d02
and eax, 0x8eef88f1
mov ecx, 0xf813e2c4
xor edx, edx
div ecx
imul eax, eax, 0x96ea8fd9
imul eax, eax, 0xc72cca53
mov ecx, 0xb9491876
xor edx, edx
div ecx
mov edx, dword [ebp - 0xc]
xor eax, 0x7d36d9be
sub eax, 0x8202754
sub eax, 0x70f57bb8
sub eax, 0x968e8aef
mov ecx, dword [ebp + 8]
cmp ecx, dword [edx + 4]
setge cl
mov byte [ebp - 0xd], cl
cmp eax, 0x4d1c27f3
je 0x10070bf1
mov al, byte [ebp - 0xd]
test al, 1
jne 0x10070dd8
jmp 0x10070de4
mov dword [esp], recv
call fcn.10071c30
mov eax, dword [0x100d5390]
or eax, dword [0x100d5394]
and eax, 0xf23a1bc5
sub eax, 0x80fc1a65
add eax, 0xbaec0f72
add eax, 0x60bc45cd
or eax, 0x52bec971
imul eax, eax, 0xeea5d35c
or eax, 0xf463580d
mov ecx, 0x52746f6d
xor edx, edx
div ecx
imul eax, eax, 0xd0d0eec9
sub eax, 0x45d70a43
mov ecx, 0x1dd322d4
xor edx, edx
div ecx
mov ecx, 0x11d67fad
xor edx, edx
div ecx
mov ecx, 0xb6c36d03
xor edx, edx
div ecx
mov ecx, 0x36dd37bc
xor edx, edx
div ecx
or eax, 0xbc71a8ed
sub eax, 0xa6ad2f65
imul eax, eax, 0x49672e85
and eax, 0x48290bca
imul eax, eax, 0xb189d014
sub eax, 0x939613a
add eax, 0x3b8aa238
and eax, 0xba99d700
imul eax, eax, 0x54b5e06a
mov ecx, 0xe7c82bb8
xor edx, edx
div ecx
imul eax, eax, 0x5e31e8e5
and eax, 0xcf88aa67
imul eax, eax, 0x10950995
sub eax, 0xcab005ff
xor eax, 0x693cf345
xor eax, 0x820bc0df
and eax, 0x1c8b8129
add eax, 0x14bbe2b9
or eax, 0x8fc36063
imul eax, eax, 0xe609497f
sub eax, 0x253dee58
xor eax, 0x7a2ac1a1
xor eax, 0xfec7d109
mov ecx, 0xccb8cc9f
xor edx, edx
div ecx
or eax, 0x991aeb27
imul eax, eax, 0x35fd2549
sub eax, 0x7471a631
and eax, 0x642dcbe
xor eax, 0x7f6b41c2
mov ecx, 0x1e7117a
xor edx, edx
div ecx
imul eax, eax, 0xc7895ed0
imul eax, eax, 0x3915f97c
or eax, 0x334df9c9
or eax, 0xded70809
sub eax, 0x558553f1
or eax, 0x8a12bd27
and eax, 0x12280c24
add eax, 0xd830efe2
mov ecx, 0xa35d74da
xor edx, edx
div ecx
imul eax, eax, 0x6ef9b3eb
sub eax, 0xc2f20f8c
and eax, 0xdeed429d
sub eax, 0xec3aa128
sub eax, 0x7b7f882d
or eax, 0xfdcff748
add eax, 0x9930d74c
sub eax, 0xda3cf2aa
imul eax, eax, 0x9b7f3b08
or eax, 0x96572076
imul eax, eax, 0xe8d9e24
and eax, 0xf9b68f8c
sub eax, 0xa746515b
or eax, 0xbd8d0a39
xor eax, 0x7adb0b15
mov ecx, 0xde4b356a
xor edx, edx
div ecx
sub eax, 0x8d400d80
or eax, 0xe30121c8
mov ecx, 0xc81a1d27
xor edx, edx
div ecx
cmp eax, 0xe98e161f
jae 0x10071170
mov ecx, dword [ebp - 0xc]
mov eax, dword [0x100d5398]
xor edx, edx
div dword [0x100d539c]
xor eax, 0x7def8464
imul eax, eax, 0x92ea5666
xor eax, 0xd9dd537a
xor eax, 0xfef65054
sub eax, 0xb89a5da8
xor eax, 0xfa88794b
and eax, 0x9f2969d6
or eax, 0xcac6b46e
imul eax, eax, 0xcf2b7009
mov esi, 0x7ebb3fb5
xor edx, edx
div esi
and eax, 0xe181577
sub eax, 0x98bcbc17
and eax, 0xb77b8e8f
add eax, 0xa4507812
imul eax, eax, 0x2de7bf35
mov esi, 0x8476678
xor edx, edx
div esi
mov esi, 0x7b99e79b
xor edx, edx
div esi
and eax, 0xed9f0576
xor eax, 0x243b78a7
or eax, 0x9bb67457
or eax, 0x2df596ab
imul eax, eax, 0xc8078089
imul eax, eax, 0x20da631f
sub eax, 0x83e5cfba
sub eax, 0x9b1c0e2c
imul eax, eax, 0x2140556c
or eax, 0xc5b258c4
add eax, 0x3d1018cd
mov esi, 0x77780964
xor edx, edx
div esi
xor eax, 0x717cd8fc
imul eax, eax, 0xf800b538
sub eax, 0x167faa60
or eax, 0xd348490
imul eax, eax, 0x1ece66d6
add eax, 0x4851c83e
xor eax, 0xd2a8052a
and eax, 0xdbc3b4c3
mov esi, 0x1324f14b
xor edx, edx
div esi
or eax, 0x11e4daf2
mov esi, 0x17ec2cdc
xor edx, edx
div esi
or eax, 0xd202ac39
or eax, 0xd2f09846
add eax, 0xc1c80a7e
xor eax, 0x16c7300c
and eax, 0x47203748
or eax, 0x418d6d92
mov esi, 0x8ab3bcd0
xor edx, edx
div esi
mov esi, 0x44d22464
xor edx, edx
div esi
or eax, 0x7ac72946
mov esi, 0x62f19934
xor edx, edx
div esi
and eax, 0x6be2a379
xor eax, 0x49a14dea
sub eax, 0x609e7c55
or eax, 0xc19d439c
and eax, 0xf569e3fa
imul eax, eax, 0xbf421ee8
xor eax, 0x3deae98e
add eax, 0x9d16fd20
or eax, 0x816fbe06
imul eax, eax, 0x2922c7ea
mov esi, 0x8b128832
xor edx, edx
div esi
add eax, 0xd1b44a23
sub eax, 0x8d39c22a
sub eax, 0x389f6365
add eax, 0x81836a7b
imul eax, eax, 0xa6c00b4f
xor eax, 0xebd88b34
imul eax, eax, 0x289c2f9d
and eax, 0x7e9ffd84
and eax, 0x83834f74
and eax, 0xa234ad89
and eax, 0x7b1d4992
mov ecx, dword [ecx]
mov edx, dword [ebp + 8]
shl edx, 1
add ecx, edx
mov dword [ebp - 0x14], ecx
cmp eax, 0x1eb84c51
ja 0x10070f9c
mov eax, dword [ebp - 0x14]
add esp, 0x14
pop esi
pop ebp
ret 4
jmp 0x10070bf1
jmp 0x10070f9c