Function at 0x1004d7b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x10051d00
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.1004c010
test al, 1
jne 0x1004d7ff
jmp 0x1004da60
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.1004c730
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 2
add eax, ecx
cmp eax, 0
je 0x1004da60
mov eax, dword [0x10282914]
xor eax, dword [0x10282918]
mov ecx, 0x5b26d96b
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x863a6b35
and ecx, 0x79c594ca
or eax, ecx
xor eax, 0xd58d6743
xor eax, 0xffffffff
or eax, 0x6702dff
xor eax, 0xffffffff
cmp eax, 0xc7dcd146
jae 0x1004da65
mov ecx, dword [ebp - 0x24]
mov edx, dword [0x1028291c]
sub edx, dword [0x10282920]
mov eax, edx
xor eax, 0xffffffff
and eax, 0xc8a790c3
and edx, 0x37586f3c
or eax, edx
xor eax, 0xffffffff
or eax, 0x11bc51ac
xor eax, 0xffffffff
mov edx, eax
xor edx, 0x3035b52
xor edx, 0xffffffff
and edx, 0x3035b52
shl edx, 1
sub edx, 0x3035b52
sub eax, edx
mov dword [ebp - 0x2c], eax
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10049b90
mov ecx, eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
cmp eax, 0x83e277a8
jbe 0x1004d865
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x10], 1
call fcn.1004cd60
mov dword [ebp - 0x30], eax
jmp 0x1004d8e3
mov ecx, dword [ebp - 0x30]
mov edx, dword [0x1028292c]
mov esi, dword [0x10282930]
mov eax, edx
xor eax, 0xffffffff
mov edi, esi
xor edi, 0xffffffff
or eax, edi
and edx, esi
xor eax, 0xffffffff
or eax, edx
xor eax, 0x89a6ae50
or eax, 0x976d966
sub eax, 0x4c9f059d
cmp ecx, 0xffffffff
sete cl
mov byte [ebp - 0x31], cl
cmp eax, 0xd440b9aa
ja 0x1004da77
mov al, byte [ebp - 0x31]
test al, 1
jne 0x1004d938
jmp 0x1004da24
mov ecx, dword [ebp - 0x24]
mov eax, dword [0x1028293c]
imul eax, dword [0x10282940]
xor eax, 0x3d376367
mov esi, 0xd9366236
xor edx, edx
div esi
mov edx, eax
mov eax, edx
xor eax, 0x41d8b2f5
and eax, edx
mov edx, dword [ecx]
add ecx, dword [edx + 4]
mov dword [ebp - 0x38], ecx
cmp eax, 0x7eca11c9
ja 0x1004d938
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x10], 1
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 4
call fcn.10037550
sub esp, 8
jmp 0x1004d9f1
mov eax, dword [0x10282954]
and eax, dword [0x10282958]
mov ecx, 0x36a76f58
xor edx, edx
div ecx
xor eax, 0xe74e8b5f
mov ecx, eax
xor ecx, 0x9a2159c1
xor ecx, 0xffffffff
and ecx, 0x9a2159c1
shl ecx, 1
sub ecx, 0x9a2159c1
sub eax, ecx
cmp eax, 0xb2544db
jb 0x1004da7c
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x10282964]
xor ecx, ecx
sub ecx, dword [0x10282968]
add eax, ecx
or eax, 0x58cb5a53
sub eax, 0xcb5f9264
add eax, 0xe9de2a1
sub eax, 0x4e6ebb56
sub eax, 0xe9de2a1
cmp eax, 0x964f361
je 0x1004da81
mov eax, dword [0x10282974]
xor eax, dword [0x10282978]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xf1a95609
and eax, 0xe56a9f6
or ecx, eax
mov eax, ecx
and eax, 0x32c8c950
or ecx, 0x32c8c950
add eax, ecx
and eax, 0xbd244e97
cmp eax, 0x33ebb3bb
jb 0x1004da86
jmp 0x1004d9a1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10049b90
jmp 0x1004d865
jmp 0x1004d8e3
jmp 0x1004d9e0
jmp 0x1004da24
jmp 0x1004da60