Function at 0x429a24
Capabilities:
Encode data using xor
Terminate process

Disassembly:
sub esp, 0x18
mov eax, dword [esp + 0x24]
push ebx
mov dword [0x4667dc], eax
mov ebx, 0x34e3
push ebp
xor ebp, ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 0x38d6
mov dword [esp + 0x14], 0x2b80
mov dword [esp + 0x18], 0x34ad
mov eax, dword [esp + 8]
add eax, 0x34e3
push esi
push edi
cmp dword [esp + 0x18], eax
jl 0x429d08
mov eax, dword [esp + 0x10]
xor eax, 0x377b
cmp dword [esp + 0x34], eax
jg 0x429c4b
mov eax, dword [esp + 0x34]
add eax, 0x309a
cmp dword [esp + 0x20], eax
je 0x429b65
mov esi, dword [esp + 0x10]
xor eax, eax
mov edx, dword [esp + 0x14]
inc eax
mov ecx, dword [esp + 0x14]
add edx, 0x3aeb
mov dword [0x46673c], eax
xor ecx, 0x2a02
mov dword [0x466740], eax
add esi, 0x369a
mov dword [0x46678c], eax
mov dword [0x466790], eax
mov dword [0x4667b8], eax
mov dword [0x4667cc], eax
mov eax, dword [esp + 0x18]
push 0x4666f0
sub eax, 0x429
mov dword [0x4666f0], ebp
push eax
push ecx
push edx
push esi
mov dword [0x4666f4], ebp
mov dword [0x4666fc], 9
mov dword [0x466714], 0x10
mov dword [0x466754], ebp
mov dword [0x46676c], 0xd
mov dword [0x466774], ebp
mov dword [0x466784], 0x53
mov dword [0x46679c], 0x52
mov dword [0x4667a4], ebp
mov dword [0x4667b0], 0x14
mov dword [0x4667c4], ebp
mov dword [0x4667d4], ebp
mov dword [0x4667d8], 0x4b
call fcn.0041e9a2
add esp, 0x14
mov dword [esp + 0x34], eax
add dword [esp + 0x34], 0xfffffe6c
mov edx, dword [0x466720]
mov esi, dword [0x466724]
cmp edx, esi
ja 0x429bfa
mov eax, dword [0x46673c]
add eax, dword [0x466774]
mov edi, dword [0x466794]
mov ecx, dword [0x46678c]
mov ebx, dword [0x46676c]
mov ebp, dword [0x466754]
mov dword [esp + 0x24], eax
xor ecx, dword [0x466714]
mov eax, edx
imul eax, edx
xor ecx, 0x10
add edi, eax
mov eax, dword [0x4667b0]
add eax, 0xffffffec
add ebp, eax
mov eax, dword [esp + 0x24]
imul eax, dword [0x4666f4]
mov dword [0x4666f4], eax
lea eax, [ecx - 0xf9ec3]
or ebx, eax
inc edx
cmp edx, esi
jbe 0x429ba4
mov dword [0x46676c], ebx
mov ebx, 0x34e3
mov dword [0x466754], ebp
xor ebp, ebp
mov dword [0x46678c], ecx
mov dword [0x466794], edi
xor dword [esp + 0x18], 0xb4d
mov eax, 0x194
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x34]
add edi, 0xa27
mov edx, dword [esp + 0x34]
add esi, eax
mov ecx, dword [esp + 0x34]
xor edx, 0x529
add ecx, eax
mov eax, dword [esp + 0x14]
add eax, 0x3252
push eax
push ecx
push 0x4666f0
push edx
push esi
push edi
call fcn.0041ee78
add esp, 0x18
mov dword [esp + 0x14], eax
jmp 0x429d08
mov eax, dword [0x4666fc]
add eax, 0xffffc515
or eax, 0x3aeb
cmp dword [esp + 0x34], eax
jb 0x429d08
mov eax, dword [0x4667b8]
or eax, dword [0x466784]
xor eax, 0x2a02
cmp dword [esp + 0x34], eax
jae 0x429c9e
mov eax, dword [esp + 0x18]
mov ecx, dword [0x4667b0]
or ecx, ebx
imul eax, ecx
or dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
imul eax, dword [0x46673c]
xor dword [0x466754], eax
mov ecx, dword [0x466758]
or ecx, dword [0x46679c]
mov eax, dword [esp + 0x18]
sub ecx, eax
cmp dword [esp + 0x34], ecx
je 0x429d08
mov eax, dword [0x46673c]
sub eax, dword [0x4666f4]
cmp dword [0x466784], eax
jbe 0x429d08
mov eax, dword [esp + 0x14]
or eax, dword [0x4667a8]
mov esi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push eax
call esi
mov eax, dword [esp + 0x34]
add eax, 0xffffd46b
xor dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
xor eax, ebx
or eax, dword [0x46673c]
push eax
call esi
mov eax, dword [esp + 0x14]
and eax, dword [0x46675c]
sub dword [0x466784], eax
mov eax, dword [esp + 0x10]
xor eax, 0x33e6
cmp dword [esp + 0x34], eax
jge 0x429f6d
mov eax, dword [esp + 0x10]
add eax, 0x33e6
cmp dword [esp + 0x34], eax
je 0x429f12
xor dword [esp + 0x1c], 0x192d
xor dword [esp + 0x34], 0xf90
xor dword [esp + 0x10], ebx
add dword [esp + 0x14], 0xcc2
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
xor ebx, 0x17c0
mov esi, dword [esp + 0x10]
add edi, 0xdf8
mov edx, dword [esp + 0x10]
add esi, 0x298
mov ecx, dword [esp + 0x18]
sub edx, 0x46d
mov eax, dword [esp + 0x10]
add ecx, 0xa27
add eax, 0x3f3
push eax
push ecx
push 0x4666f0
push edx
push esi
push edi
push ebx
call fcn.004093c3
mov edx, dword [0x46672c]
add esp, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [0x466738]
push 0xd
mov ebx, dword [eax + ebp]
mov eax, 0xf9ec3
sub eax, dword [0x46678c]
add ebp, 4
add dword [0x466790], eax
imul ebx, dword [0x466728]
mov eax, dword [0x466784]
sub eax, dword [0x46678c]
xor eax, 0xfff06190
or dword [0x466740], eax
mov eax, dword [0x466750]
mov ecx, ebx
shr ecx, 0x10
mov byte [edx + eax], cl
mov ecx, ebx
mov eax, dword [0x466714]
mov edx, dword [0x46672c]
xor eax, 0x11
imul eax, dword [0x466790]
inc edx
mov dword [0x46672c], edx
shr ecx, 8
mov dword [0x466790], eax
mov eax, dword [0x466750]
mov byte [edx + eax], cl
mov edx, dword [0x466774]
mov ecx, dword [0x46676c]
mov esi, dword [0x46672c]
xor ecx, edx
pop eax
sub eax, ecx
inc esi
add edx, eax
mov dword [0x46672c], esi
mov eax, dword [0x466750]
mov dword [0x466774], edx
mov byte [esi + eax], bl
mov edx, dword [0x46672c]
inc edx
mov dword [0x46672c], edx
cmp ebp, 0x610
jl 0x429da2
xor dword [esp + 0x1c], 0x1938
xor dword [esp + 0x14], 0xb8c
add dword [esp + 0x34], 0xfffff6eb
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
add ebx, 0xbc2
mov esi, dword [esp + 0x18]
add edi, 0x1ed
mov edx, dword [esp + 0x10]
add esi, 0x4e1
mov ecx, dword [esp + 0x10]
sub edx, 0xfd
mov eax, dword [esp + 0x20]
sub ecx, 0x449
add eax, 0x63e
push eax
push ecx
push edx
push esi
push 0x4666f0
push edi
push ebx
call fcn.0041037c
mov dword [esp + 0x38], eax
add esp, 0x1c
mov eax, dword [0x46676c]
cmp eax, dword [0x4666f0]
ja 0x429efb
push dword [0x4667dc]
mov eax, dword [0x4667bc]
add eax, dword [0x466750]
push eax
push dword [0x4667ac]
call dword [0x466734]
mov dword [0x4667a0], eax
jmp 0x429f08
mov eax, dword [0x4667a4]
imul eax, eax
mov dword [0x4667a4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
jmp 0x429f6d
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
or ecx, eax
mov eax, dword [esp + 0x10]
and eax, ecx
cmp dword [esp + 0x34], eax
jle 0x429f6d
mov eax, dword [esp + 0x34]
xor eax, dword [esp + 0x34]
cmp dword [0x4667d4], eax
je 0x429f6d
push 0xc6f
push 0x1445
push 0x388a
push 0x591
push 0x1fcf
push 0x2f89
push 0x182c
push 0x1b11
call fcn.0040226e
add esp, 0x20
mov dword [0x466fdc], eax
push dword [0x4667a0]
call dword [sym.imp.KERNEL32.dll_ExitProcess]