Function at 0x498ae4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp]
add byte [ebx - 0x7cee74f2], cl
rol dword [eax], cl
jg 0x4d672f
xor al, byte [eax]
add al, al
jne 0x1036742
cmp dword [ecx], 0x7fffffff
mov eax, dword [eax]
add byte [esp + ecx*2 - 0x16fffc24], al
add byte [edx + edx*8 + 0x1c70875], al
add dword [eax], eax
add byte [eax], al
mov eax, dword [esi]
mov ecx, dword [ebp - 0x80]
add cl, cl
je 0x498b5c
mov dword [eax + 0x210], 0
jle 0x498ba1
add byte [ebp + 0x10], dl
mov eax, dword [esi]
lea edx, [edx + 4]
add byte [eax], al
mov edi, dword [eax - 0xffffdf0]
add bh, bh
inc eax
jge 0x498b57
mov dword [eax + edi*4], ebx
mov eax, dword [esi]
call dword [ebp + 0x200]
sub ecx, 1
jne 0x498b5c
add byte [esi], cl
mov ebx, dword [ecx + 8]
test dword [ebp + 0xf18400], eax
add byte [eax], al
mov edi, dword [ecx]
cmp edi, dword [ecx + 0x1b10]
jne 0x498c5a
add byte [eax], al
test edi, edi
jle 0x498baa
lea esi, [esi]
add byte [ebx + 0x104b8], al
add byte [eax], al
cmp dword [eax + 0x104], 0
add byte [eax], al
leave
add byte [eax], al
add byte [ebx + 0x10086], cl
add byte [ebx], bh
xor byte [ebx - 0x72ffff8b], cl
mov eax, 0x30000000
add byte [eax], dh
add al, al
add al, 0x3b
xlatb
jl 0x498b84
xor eax, dword [eax]
add byte [ebp + 0x10], dl
test edi, edi
jle 0x498bbd
add byte [ecx + 0x110], al
mov dword [ebp], eax
add byte [esi], al
push es
lea ebx, [ebx + 0xc30000]
cmp dword [eax - 0x104], 0xea
jne 0x498c4a
mov eax, 0x20005441
imul ebx
sar edx, 7
mov eax, dword [eax]
add bl, ch
pop ds
add ebx, edx
mov esp, edi
add byte [ebx + 0x8b1055], cl
imul eax, dword [eax]
add al, dl
mov eax, dword [ebp + 8]
sub ecx, 0
mov dword [ebp + 0x10], edx
mov dword [ebp + 8], eax
add dword [eax], 0
jne 0x498bc4
or byte [ebx + 0x558900e9], al
adc byte [ecx + 0x830845], cl
add byte [ebp - 0x3b], dh
test edx, edx
js 0x498bf0
add byte [ecx + 4], al
lea ebx, [edx*4]
mov ecx, dword [ebx + eax]
test ecx, ecx
aam 0
dec ebp
fild dword [ebx]
add byte [edx + 0x10], ch
call fcn.004a8c1f
add esp, 4
sbb eax, dword [eax]
mov ecx, edi
push dword [ebp + 0xc]
mov dword [edi], 0
call int.004a5614
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov dword [eax], eax
add byte [ebx + 0x4418b0e], cl
jnp 0x498c44
add ebx, dword [edi + 0x5e]
pop ebx
pop ebp
ret
mov eax, dword [eax]
add byte [ebp + 8], bl
cdq
idiv dword [ebx - 0xff17]
mov ebx, eax
jmp 0x498be1
xor eax, dword [eax]
add bh, ah
push ebp
mov ebp, esp
cmp dword [edx + 0x64ec8300], 0x53
mov ebx, dword [ebp + 8]
add byte [eax], al
dec esp
and al, 0x24
push edi
mov ebx, dword [edx]
mov esi, dword [eax]
mov ecx, esi
call fcn.00498f44
mov eax, dword [esi + 8]
mov eax, dword [eax]
inc byte [eax]
and al, 0x10
mov eax, dword [ebx + 4]
mov esi, dword [eax]
add byte [eax], al
call fcn.00498f44
mov ebp, 0x788b0800
add al, 0x8b
inc ebx
add al, 0
add byte [ebx + ecx*4], al
into
call fcn.0049fd44
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [eax], eax
add byte [eax], ah
mov eax, dword [ebx + 4]
mov ebp, dword [edx]
add byte [ebx + 0x289e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebp - 0x6bbfdbb4], cl
add byte [eax + 4], dh
mov dword [esp + 0x20], esi
call int.00488ccf
mov edx, dword [ebp + 8]
mov edx, 0x89c03300
pop esp
and al, 0x30
mov al, byte [eax]
add byte [eax - 0x7cf0dbb4], cl
fadd dword [eax]
add ecx, dword [edi]
or byte [esi + 0x3da], 0
add al, 0x8b
dec eax
or al, ch
mov word [eax], es
add byte [eax], al
mov edx, eax
xor eax, eax
inc eax
add byte [eax], al
and al, 0x30
test dl, 2
mov ch, 0
push 0xffffffffffffffda
add eax, dword [eax]
mov cl, al
and eax, dword [eax]
add byte [esp + 0xf], cl
mov dword [edi + edi*8], edx
test esi, esi
je 0x4d6780
add dl, al
sub eax, ebx
je 0x4c8da7
sub eax, 1
jne 0x4c8d2f
mov dword [esp + 0x53], ebx
add bh, bh
jle 0x498d9c
mov esi, dword [esp + 0x10]
add byte [eax], al
and al, 0x20
mov ecx, esi
push edi
xchg esi, eax
add byte [eax], dl
call fcn.00498f25
mov eax, dword [eax]
add byte [esp + 0x30], dl
pop ecx
test edi, eax
add byte [eax + esi*4 - 0x74ffffff], al
inc esp
add byte [eax], al
mov ecx, edx
sub ecx, esi
shl dword [edi + 0x7c89f900], 1
and al, 0x34
sub edi, eax
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax - 0x1a], dl
add byte [esp], ah
push edx
call fcn.004b7e22
add ah, al
or al, 0x85
ror byte [edi], 0xf2
add dl, bl
add eax, dword [eax]
mov eax, dword [esp + 0x1c]
add byte [eax], al
and al, 0x14
lea ecx, [eax + eax]
mov ebp, 0x32c2400
int1
test edi, edi
jg 0x498d9c
add byte [ebp + 8], bh
mov eax, dword [edi + 4]
stc
add byte [ebx + 0x199e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebx + 0x7e448900], cl
add byte [ebx + 0x308b0447], cl
mov ecx, esi
add byte [eax], al
add dword [eax], eax
add byte [ebx + 0x7400cb46], cl
and al, 0x14
mov edi, dword [eax + 4]
mov eax, dword [eax]
add al, ch
dec ebp
invalid
jb 0x4c8d96
popal
je 0x4c8d99
inc esi
imul ebp, dword [ebp + 0x57], 0x43004000
inc ebx
jb 0x4c8da4
popal
je 0x4c8da7
dec ebp
jne 0x4c8db9
js 0x4c8d9f
add byte [eax], al
dec edx
add byte [ebx + 0x72], al
inc ebx
jb 0x4c8db4
popal
je 0x4c8db7
push esp
push 0x64616572
add byte [eax], al
push ebp
add byte [ebp + 0x6c], al
inc esp
insb byte es:[edi], dx
je 0x4c8dc7
inc ebx
jb 0x4c8dce
je 0x4c8dd0
arpl word [ecx + 0x6c], sp
push ebx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add byte [edi], dl
inc esp
insb byte es:[edi], dx
je 0x4c8ddf
inc esi
imul ebp, dword [ebp + 0x41], 0x44005800
inc esp
insb byte es:[edi], dx
je 0x4c8ded
inc esi
imul ebp, dword [ebp + 0x57], 0x44006300
inc esp
jne 0x4c8e03
insb byte es:[edi], dx
imul esp, dword [ebx + 0x61], 0x61486574
popal
je 0x4c8dfe
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add byte gs:[eax], dh
add byte [eax], dh
inc ebp
outsb dx, byte [esi]
jne 0x4c8e13
push edx
jae 0x4c8e19
jne 0x4c8e1e
arpl word [ebp + 0x4c], sp
popal
outsb dx, byte [esi]
jne 0x4c8e15
jae 0x4c8e0f
push edi
add byte [eax], al
jb str.EnumResourceNamesW
add byte [edx], dh
inc ebp
outsb dx, byte [esi]
jne 0x4c8e2d
push edx
jae 0x4c8e33
jne 0x4c8e38
arpl word [ebp + 0x4e], sp
dec esi
popal
insd dword es:[edi], dx
jae 0x4c8e25
add byte [eax], al
je str.EnumResourceTypesW
inc ebp
outsb dx, byte [esi]
jne 0x4c8e43
push edx
jae 0x4c8e49
jne 0x4c8e4e
arpl word [ebp + 0x54], sp
jns 0x4c8e51
jae 0x4c8e3b
add byte [eax], al
jge str.ExitProcess
inc ebp
js 0x4c8e54
je 0x4c8e3d
jb 0x4c8e5e
arpl word [ebp + 0x73], sp
jae 0x4c8df4
mov dword [eax], eax
inc esi
imul ebp, dword [ebp + 0x54], 0x54656d69
push esp
outsd dx, dword [esi]
dec esp
outsd dx, dword [esi]
arpl word [ecx + 0x6c], sp
popal
insb byte es:[edi], dx
inc esi
imul ebp, dword [ebp + 0x54], 0x656d69
mov al, byte [eax]
inc esi
imul ebp, dword [ebp + 0x54], 0x54656d69
add byte [esi + 0x69], al
inc esi
invalid
insb byte es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x79536f54
jae 0x4c8e92
outsd dx, dword [esi]
push ebx
jns 0x4c8e90
je 0x4c8e84
insd dword es:[edi], dx
insd dword es:[edi], dx
push esp
imul ebp, dword [ebp + 0x65], 0x900000
inc esi
imul ebp, dword [esi + 0x64], 0x736f6c43
add byte gs:[edi + 0x6e694600], dl
inc esi
invalid
outsb dx, byte [esi]
add byte [eax + 0x6e694600], dl
inc esi
invalid
outsb dx, byte [esi]
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x4c8e96
add byte [edi + 0x6e694600], dl
inc esi
invalid
outsb dx, byte [esi]
add byte [esi + 0x69], al
inc esi
invalid
outsb dx, byte [esi]
inc esi
inc esi
imul esi, dword [edx + 0x73], 0x6c694674
push edi
add byte [eax], al
sahf
add byte [esi + 0x69], al
inc esi
invalid
outsb dx, byte [esi]
jae 0x4c8eb1
inc esi
imul ebp, dword [ebp + 0x57], 0x9e0000
inc esi
imul ebp, dword [esi + 0x64], 0x7478654e
add byte [esi + 0x6e694600], bl
inc esi
invalid
outsb dx, byte [esi]
dec esi
js 0x4c8ec2
inc esi
imul ebp, dword [ebp + 0x57], 0x4600a600
inc esi
imul ebp, dword [esi + 0x64], 0x6f736552
push edi
add byte [esi + 0x6e694600], ah
inc esi
invalid
outsb dx, byte [esi]
cmpsb byte [esi], byte es:[edi]
add byte [esi + 0x69], al
inc esi
invalid
outsb dx, byte [esi]
push edx
jae 0x4c8ecd
jne 0x4c8ed2
arpl word [ebp + 0x57], sp
add byte [edx + 0x756c4600], ch
inc esi
insb byte es:[edi], dx
jne 0x4c8edd
invalid
inc esi
imul ebp, dword [ebp + 0x42], 0x65666675
jb 0x4c8ee9
add byte [eax], al
scasd eax, dword es:[edi]
add byte [esi + 0x6f], al
inc esi
outsd dx, dword [esi]
jb 0x4c8eeb
popal
je 0x4c8ece
jae 0x4c8ef7
popal
inc ecx
add byte [eax], al
mov al, 0
inc esi
outsd dx, dword [esi]
jb 0x4c8efd
dec ebp
outsb dx, byte [esi]
jae 0x4c8f0c
add byte [eax + eax + 0x65657246], dh
inc esi
jb 0x4c8f20
dec esp
jns 0x4c8ec4
outsd dx, dword [esi]
add byte [eax], al
mov ecx, 0x74654700
inc edi
invalid
invalid
dec ebp
call [ecx]
mov ah, byte [esi]
call dword [esi - 0x38]
pop esi
invalid
add dh, byte [ebp - 0x49f900fc]
or edi, edi
or dword [eax - 0x47f400ef], edi
adc eax, 0x18b90dff
call dword [edx]
mov ebx, 0xc835ff20
inc esi
jmp dword [edx - 0x27]