Function at 0x409ed0
Capabilities:
Terminate process

Disassembly:
sti
mov ebp, esp
mov eax, dword [ebp + 0x66]
mov ecx, dword [eax + 8]
test ecx, 0x10000000
je 0x409ee6
or ecx, 5
jmp 0x409ee9
or ecx, 7
mov edx, ecx
push 0x48
or cl, al
loop 0x409f31
or edx, ecx
shl edx, 4
or ebx, dword [edx]
mov ecx, dword [eax + 4]
or ecx, 0x700000
mov dword [eax + 0x50], edx
mov dword [eax + 4], ecx
mov eax, ecx
mov ecx, dword [ebp + 0xc]
test dword [ecx + 0x23], 0x1bd8f7c1
shl byte [0x19da0], 0x5d
ret
xor eax, eax
and cl, bl
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x10]
xor edx, edx
mov ecx, 0x3cd50011
mov eax, ecx
pop ds
mov dword [esi + 0x38], eax
sub ebp, dword [esp + edi - 0x65]
and dword [ecx], ebx
add byte [eax], al
mov edx, ecx
out 0x89, al
push esi
cmp al, 0x8b
dec ebx
or al, 0x4d
ror byte [ebx - 0xccc3ba], 1
or edx, ecx
or eax, edi
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], eax
push edi
mov edx, eax
mov edx, dword [0x52a96a9f]
push eax
call 0xd040b590
mov dword [edx + 0x3ce58b3c], edx
mov edx, eax
mov dword [esi + 0x27], eax
add edx, 0xb779c000
or al, 0xc6
imul esp, dword [ecx + 0x5689ffd6], 0x284e8938
mov ecx, dword [ebx + 8]
in eax, dx
dec esi
dec eax
mov eax, ecx
mov edx, edi
mov ecx, 0x5020
mov dword [ebx + 0x58], eax
call sym.imp.MSVCRT.dll_exit
mov dword [esi - 0x6a], eax
mov dword [esi - 0x4c], edx
mov edx, dword [ebx + 4]
imul edx, dword [esp + ecx*2 - 0x30f43d69], 0xffffff89
inc esi
dec eax
mov dword [esi + 0x4c], ecx
test byte [ebx - 0x2db17458], cl
push 0xa
push eax
push ecx
call fcn.0040b539
outsd dx, dword [esi]
inc esi
dec eax
js 0x40a00d
rcr byte [eax], 0xb7
mov dword [esi - 0x6a], edx
xlatb
inc esi
in eax, 0x81
and ch, byte [ecx - 0x5f]
salc
call [esi]
mov dh, 0
add byte [eax], al
mov edx, 0x538b5656
sbb byte [ecx - 0x3d74bfaa], cl
mov edx, edi
mov dword [esi + 0x44], edi
call fcn.0040b870
insb byte es:[edi], dx
inc esi
inc eax
mov edi, dword [eax + 0x44562040]
mov eax, ebx
adc al, 0xb
enter 0xffffffffffffc28b, 0xffffffffffffff89
dec esi
inc eax
mov eax, edx
mov dword [esi + 0x40], ecx
push 0xc70b4056
push edi
push 0x590a6a56
push edx
mov dword [esi - 0x6a], eax
call fcn.0040b590
mov edx, dword [esi + 0x44]
mov esp, dword [esp + eax*2 - 0x75]
rol byte [ebx], 1
inc esi
inc eax
mov eax, dword [ebp + 0x10]
add edx, 0xb779c000
adc ecx, 0xbfd6a1b6
mov dword [esi - 0x69], edx
mov dword [esi + 0x44], ecx
mov ebp, ebx
and eax, 0x3a
inc esp
and dword [eax], 0x33
leave
or edx, edi
or ebx, dword [ebx + ecx*4]
inc ebp
adc al, 0x63
sbb ch, byte [ebx*4 + 1]
mov dword [eax + 0x74c22370], ebx
ror dword [ebx + 0x4c5f60b], cl
je 0x40a076
invalid
adc byte [ebx], cl
test cl, 0x10
je 0x40a086
mov dword [esi + 0xc], 2
jmp 0x40a0b2
test cl, 0x40
lodsb al, byte [esi]
or edi, eax
cld
or al, 3
add byte [eax], al
add bl, ch
push ds
mov eax, ebx
jb 0x40a01d
leave
mov bh, 0x14
mov ecx, dword [ebx + 0x18]
test ecx, ecx
jne 0x40a0af
dec si
sub byte [ebx - 0x30f4d382], cl
jne 0x40a0af
mov dword [ebp + 0xc], edx
mov dword [ebx + 0x74d9840c], edi
pop es
test cl, bl
je 0x40a0bd
mov dword [esi + 8], 0xf2000000
out dx, eax
sbb dword [eax], edx
mov dword [esi + 4], 0x8170
test ecx, ecx
je 0x40a0cf
and al, byte [esp + esi*2]
add al, 0xc7
inc esi
add al, 0x71
add dword [eax], 0x37ca8b00
mov dword [esi + 4], 0x8171
mov ecx, edx
aaa
pop edi
pop esi
mov esi, 0x9090c35d