Function at 0x1003d330
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], eax
call fcn.1002ff50
mov ecx, eax
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
jbe 0x1003d45f
mov eax, dword [0x1027ccc4]
sub eax, dword [0x1027ccc8]
xor eax, 0xb02ff3cb
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa2b4aab1
mov esi, 0xffffffff
xor esi, 0xa2b4aab1
mov ecx, eax
and ecx, esi
imul ecx, edx
mov edx, eax
and edx, 0xa2b4aab1
or eax, 0xa2b4aab1
imul eax, edx
add eax, ecx
mov esi, 0xffffffff
xor esi, 0xd2c13e74
mov edx, eax
and edx, esi
mov ecx, eax
or ecx, esi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd2c13e74
or eax, 0xd2c13e74
imul eax, edx
add eax, ecx
cmp eax, 0xe8aac458
je 0x1003d73d
mov eax, dword [0x1027cccc]
xor edx, edx
div dword [0x1027ccd0]
mov ecx, eax
xor ecx, 0x84299f7
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x38], eax
mov esi, 0xffffffff
xor esi, 0x686405f7
mov edx, 0xffffffff
xor edx, 0x62635180
and eax, 0x62635180
and ecx, edx
mov edi, esi
and edi, 0x62635180
mov ebx, edx
and ebx, 0x686405f7
or eax, ecx
mov ecx, dword [ebp - 0x38]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0x62635180
and ecx, edx
or eax, ecx
sub eax, 0xd2c25a38
add eax, 0x602f9e57
add eax, 0xd2c25a38
mov dword [ebp - 0x34], eax
call fcn.10030180
mov eax, dword [ebp - 0x34]
cmp eax, 0x5da0c2c0
je 0x1003d3d8
mov ecx, dword [0x1027ccd4]
imul ecx, dword [0x1027ccd8]
xor eax, eax
sub eax, 0x52d89103
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc03ac089
and eax, edx
or ecx, 0xc03ac089
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0x1c69c015
xor ecx, 0xffffffff
and ecx, 0x1c69c015
shl ecx, 1
sub ecx, 0x1c69c015
sub eax, ecx
cmp eax, 0xd07c1b28
ja 0x1003d747
mov ecx, dword [ebp - 0x30]
mov eax, dword [0x1027ccdc]
xor edx, edx
div dword [0x1027cce0]
imul edx, eax, 0xd9c48816
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, 0x2beac3a3
add eax, edx
xor edx, edx
sub edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0x3b72f7ad
and edx, 0x3b72f7ad
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov dword [ebp - 0x40], eax
call fcn.1002e830
mov dword [ebp - 0x18], eax
lea eax, [0x10226994]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1d]
lea edx, [0x10226994]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.10030240
sub esp, 8
mov eax, dword [ebp - 0x40]
cmp dword [ebp + 0xc], 0xf
setbe cl
mov byte [ebp - 0x39], cl
cmp eax, 0x4aeb6ec3
jae 0x1003d4bb
mov al, byte [ebp - 0x39]
test al, 1
jne 0x1003d55a
jmp 0x1003d62c
mov eax, dword [0x1027cce4]
mov ecx, dword [0x1027cce8]
sub eax, 0xfc6840a2
add eax, ecx
add eax, 0xfc6840a2
mov ecx, 0x3eae34b6
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x9c9ec49d
or edx, 0x9c9ec49d
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x9c9ec49d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x81d121d4
cmp eax, 0xadea006e
ja 0x1003d77b
mov eax, dword [0x1027ccec]
xor eax, dword [0x1027ccf0]
xor eax, 0x9723fda1
mov ecx, 0x17ec33d0
xor edx, edx
div ecx
xor eax, 0x3ea1f65d
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x14], 0xf
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.10029530
lea ecx, [ebp - 0x1d]
call fcn.1001bc80
mov eax, dword [ebp - 0x44]
cmp eax, 0xf4b8447d
ja 0x1003d5c3
jmp 0x1003d6c1
mov ecx, dword [ebp - 0x30]
call fcn.1002ff50
mov ecx, dword [ebp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], 0xf
mov dword [esp + 8], eax
call fcn.10030260
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x24]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10030b90
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10030d90
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.10029270
mov ecx, dword [ebp - 0x4c]
mov edx, eax
mov eax, dword [ebp - 0x48]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10029530
lea ecx, [ebp - 0x1d]
call fcn.1001bc80
mov eax, dword [0x1027ccf4]
xor edx, edx
div dword [0x1027ccf8]
sub eax, 0x2764765c
xor ecx, ecx
sub ecx, 0xbe14adf7
sub eax, ecx
add eax, 0x443b2c55
sub eax, 0x1062ecc6
sub eax, 0x443b2c55
cmp eax, 0x663f1544
jbe 0x1003d7b5
mov eax, dword [0x1027ccfc]
or eax, dword [0x1027cd00]
sub eax, 0x3ef6ba05
add eax, 0x546fa041
add eax, 0x3ef6ba05
mov ecx, eax
xor ecx, 0x53a27411
xor ecx, 0xffffffff
or eax, 0x53a27411
and eax, ecx
or eax, 0x9bdfeb90
cmp eax, 0xab035a0d
je 0x1003d7b5
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret 8
call fcn.10030180
jmp 0x1003d3d8
mov ecx, dword [ebp - 0x30]
call fcn.1002e830
mov dword [ebp - 0x18], eax
lea eax, [0x10226994]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1d]
lea edx, [0x10226994]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.10030240
sub esp, 8
jmp 0x1003d4bb
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x14], 0xf
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call fcn.10029530
lea ecx, [ebp - 0x1d]
call fcn.1001bc80
jmp 0x1003d5c3
jmp 0x1003d6f7