Function at 0x1004b4b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov dword [ebp - 0x20], ecx
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1004f310
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov ecx, dword [0x1027d994]
imul ecx, dword [0x1027d998]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x3acd889e
and ecx, 0xc5327761
or eax, ecx
xor eax, 0xffffffff
and eax, 0xcddda127
xor eax, 0xffffffff
sub eax, 0x4488f228
cmp eax, 0xf17fb794
jbe 0x1004b906
mov ecx, dword [ebp - 0x20]
mov eax, dword [0x1027d99c]
mov esi, dword [0x1027d9a0]
xor edx, edx
div esi
mov edx, eax
not edx
mov esi, eax
or esi, 0x73ef9faf
mov edi, esi
and edi, 0x3e0784a0
and edx, 0x80106050
imul edx, edi
and esi, 0xc1f87b5f
or eax, 0xf3ffffff
imul eax, esi
add eax, edx
mov dword [ebp - 0x28], eax
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10049c10
mov cl, al
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x21], cl
cmp eax, 0xc737d4fa
jbe 0x1004b51c
mov al, byte [ebp - 0x21]
test al, 1
jne 0x1004b595
jmp 0x1004b873
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.1004a3a0
and eax, 2
cmp eax, 0
je 0x1004b873
mov eax, dword [0x1027d9a4]
add eax, dword [0x1027d9a8]
imul eax, eax, 0xa53b0e72
xor ecx, ecx
sub ecx, eax
add ecx, 0x42d26343
xor eax, eax
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7385fa11
mov ecx, eax
and ecx, 0x8c7a05ee
imul ecx, edx
mov edx, eax
and edx, 0x7385fa11
or eax, 0x7385fa11
imul eax, edx
add eax, ecx
cmp eax, 0xe27870e5
jae 0x1004b91f
mov ecx, dword [ebp - 0x2c]
mov eax, dword [0x1027d9ac]
sub eax, dword [0x1027d9b0]
mov esi, 0xc3fa10db
xor edx, edx
div esi
imul eax, eax, 0x2c91939a
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0xfcf2e776
add eax, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10047fe0
mov ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], ecx
cmp eax, 0x95c535f4
je 0x1004b600
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x10], 1
call fcn.1004ac50
mov dword [ebp - 0x38], eax
jmp 0x1004b663
mov ecx, dword [0x1027d9b4]
mov esi, dword [0x1027d9b8]
mov edx, esi
xor edx, 0xffffffff
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, esi
add ecx, edx
sub ecx, eax
add ecx, 0x139a91bc
add ecx, 0xeca4c706
mov eax, ecx
and eax, 0x7e55086
xor ecx, 0x7e55086
or eax, ecx
cmp eax, 0x5f45f959
jbe 0x1004b931
mov ecx, dword [ebp - 0x38]
mov eax, dword [0x1027d9bc]
mov edi, dword [0x1027d9c0]
mov ebx, edi
xor ebx, 0xffffffff
mov esi, eax
and esi, ebx
mov edx, eax
or edx, ebx
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, edi
or eax, edi
imul eax, esi
add eax, edx
and eax, 0x35ec582a
mov esi, 0x546a6aa
xor edx, edx
div esi
add eax, 0x5d1aabe9
cmp ecx, 0xffffffff
sete cl
mov byte [ebp - 0x39], cl
cmp eax, 0x6df0dfef
jae 0x1004b931
mov al, byte [ebp - 0x39]
test al, 1
jne 0x1004b709
jmp 0x1004b848
mov ecx, dword [0x1027d9c4]
and ecx, dword [0x1027d9c8]
sub ecx, 0x164b23a9
add ecx, 0xb5718328
add ecx, 1
mov eax, ecx
xor eax, 0x6aafc786
and eax, ecx
cmp eax, 0x2a9a12b6
je 0x1004b936
mov ecx, dword [ebp - 0x2c]
mov eax, dword [0x1027d9cc]
and eax, dword [0x1027d9d0]
or eax, 0xa8abc0f7
xor eax, 0x17162bd1
sub eax, 0x4ba95fdb
mov edx, dword [ecx]
mov edx, dword [edx + 4]
add ecx, edx
mov dword [ebp - 0x40], ecx
cmp eax, 0x24049368
jb 0x1004b936
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x10], 1
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 4
call fcn.10037270
jmp 0x1004b81a
mov eax, dword [0x1027d9d4]
xor eax, dword [0x1027d9d8]
or eax, 0xd3bb1e51
mov ecx, eax
and ecx, 0x1cb3588a
mov edx, eax
xor edx, 0xe34ca775
add eax, edx
sub eax, ecx
add eax, 0x4a506fac
cmp eax, 0x89bba798
ja 0x1004b93b
mov ecx, dword [0x1027d9dc]
xor ecx, dword [0x1027d9e0]
add ecx, 0x994a3657
mov eax, ecx
xor eax, 0xffffffff
or eax, 0x46408e2d
and ecx, 0xb9bf71d2
xor eax, 0xffffffff
or eax, ecx
imul eax, eax, 0xe6e7e8a5
cmp eax, 0xf6c1c834
ja 0x1004b93b
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x1027d9ec]
or eax, dword [0x1027d9f0]
and eax, 0xd538abe6
mov ecx, 0x90f57b8d
xor edx, edx
div ecx
xor eax, 0x2f7db7db
cmp eax, 0x4cdeb058
jae 0x1004b81a
jmp 0x1004b848
mov eax, dword [0x1027d9f4]
xor edx, edx
div dword [0x1027d9f8]
add eax, 0xe25da048
mov ecx, 0x497f55cc
xor edx, edx
div ecx
or eax, 0x494d676f
cmp eax, 0xa7c220fd
jae 0x1004b940
mov ecx, dword [0x1027da04]
or ecx, dword [0x1027da08]
add ecx, 0xec6ba865
add ecx, 0x8981fb9d
sub ecx, 0xec6ba865
mov eax, ecx
xor eax, 0xffffffff
or eax, 0x5d9c2460
xor ecx, 0xffffffff
or ecx, 0x5d9c2460
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
and eax, 0xe9ed35b9
cmp eax, 0xe94de292
jae 0x1004b945
mov eax, dword [0x1027da0c]
mov edx, dword [0x1027da10]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, 0xc31cbe7c
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xad4f5407
mov eax, ecx
and eax, 0xfa01e9f1
or ecx, 0xfa01e9f1
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x7f784a80
jbe 0x1004b8bc
jmp 0x1004b79d
mov ecx, dword [ebp - 0x20]
push eax
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10049c10
jmp 0x1004b51c
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
add ecx, dword [eax + 4]
call fcn.10047fe0
jmp 0x1004b600
jmp 0x1004b6a6
jmp 0x1004b738
jmp 0x1004b7d1
jmp 0x1004b873
jmp 0x1004b8bc