Function at 0x402090
Capabilities:
Contain obfuscated stackstrings
Get file size

Disassembly:
mov eax, 0x3054
call fcn.0040a6f0
push ebx
push ebp
push esi
push edi
call fcn.0040a3e0
test eax, eax
jl 0x4023d9
cmp eax, 0xfffffffe
jge 0x4023d9
mov dword [esp + 0x18], 0
lea edi, [esp + 0x60]
mov ebx, 0x400
lea eax, [esp + 0x14]
xor esi, esi
mov dword [esp + 0x14], eax
lea eax, [esi*4]
inc esi
cmp esi, 0x3ff
mov dword [esp + eax + 0x2064], eax
jle 0x4020cf
call fcn.00406040
lea ecx, [esp + 0x14]
push ecx
push 0x4150a4
call fcn.00405ce0
call fcn.00405d30
mov edx, dword [esp + 0x1c]
push 0x400
lea eax, [esp + 0x2070]
push edx
push eax
call fcn.00406350
push 0x419e40
push 0x419e40
mov ebp, eax
call fcn.0040a360
add esp, 0x1c
test ebp, ebp
je 0x402133
mov ecx, dword [ebp]
jmp 0x40214f
mov edx, dword [esp + 0x14]
push 0x3ff
lea eax, [esp + 0x2068]
push edx
push eax
call fcn.00406350
mov ecx, dword [eax]
add esp, 0xc
lea edx, [esp + 0x14]
mov dword [esp + esi*4 + 0x2064], ecx
push edx
push 0x4150a4
call fcn.00405ce0
push 0x419e40
push 0x419e40
call fcn.0040a360
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea eax, [esp + 0x14]
push eax
push 0x4150a4
call fcn.00405ce0
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x206c]
push eax
push eax
push ecx
call fcn.00406350
mov eax, dword [esp + 0x28]
add esp, 0x14
lea edx, [esp + 0x2064]
push 0x3ff
push eax
push 0x3ff
push eax
push edx
call fcn.00406350
add esp, 0xc
push eax
call fcn.00406350
mov eax, dword [eax]
mov ecx, dword [pe_dos_header]
add esp, 0xc
add edi, 4
lea edx, [ecx + eax*2]
dec ebx
mov dword [edi - 4], edx
jne 0x4020c5
call fcn.00405d30
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0x3fa
lea eax, [esp + 0x64]
push 0x53
push eax
call fcn.00406350
call fcn.00405d90
mov ecx, dword [esp + 0x24]
push 0x400
lea edx, [esp + 0x70]
push ecx
push edx
call fcn.00406350
mov ebx, eax
lea eax, [esp + 0x30]
push eax
push 0x4150a4
call fcn.00405ce0
add esp, 0x20
lea esi, [esp + 0x74]
mov ebp, 0x3fe
push 0x19b
lea ecx, [esp + 0x64]
push 0x363
push ecx
call fcn.00406350
add esp, 0xc
mov edi, eax
call fcn.00405d90
mov edx, dword [edi]
add esi, 4
dec ebp
lea eax, [edx + eax*2]
mov dword [esi - 4], eax
jne 0x402235
test ebx, ebx
je 0x40226c
mov ecx, dword [ebx]
add ecx, 3
jmp 0x402285
mov edx, dword [esp + 0x18]
push 0x3ff
lea eax, [esp + 0x64]
push edx
push eax
call fcn.00406350
mov ecx, dword [eax]
add esp, 0xc
mov eax, dword [esp + 0x18]
push 0x3c9
push eax
push 0x3ff
lea edx, [esp + 0x6c]
push eax
push edx
mov dword [esp + 0x1070], ecx
call fcn.00406350
add esp, 0xc
push eax
call fcn.00406350
lea eax, [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x10], eax
xor esi, esi
lea eax, [esi*4]
inc esi
cmp esi, 0x3ff
mov dword [esp + eax + 0x1064], eax
jle 0x4022bc
call fcn.00406040
lea ecx, [esp + 0x10]
push ecx
push 0x4150a4
call fcn.00405ce0
add esp, 8
call fcn.00405d00
mov eax, 0x417db8
mov edx, dword [eax - 4]
mov ecx, dword [eax]
cmp edx, ecx
jg 0x402309
add eax, 4
cmp eax, 0x419db4
jl 0x4022f4
jmp 0x40230e
call fcn.00405d00
mov eax, dword [esp + 0x10]
push 0x400
lea ecx, [esp + 0x1068]
push eax
push ecx
call fcn.00406350
push 0x419e40
push 0x419e40
mov edi, eax
call fcn.0040a360
add esp, 0x14
test edi, edi
je 0x402341
mov edx, dword [edi]
jmp 0x40235d
mov eax, dword [esp + 0x10]
push 0x3ff
lea ecx, [esp + 0x1068]
push eax
push ecx
call fcn.00406350
mov edx, dword [eax]
add esp, 0xc
lea eax, [esp + 0x10]
mov dword [esp + esi*4 + 0x1064], edx
push eax
push 0x4150a4
call fcn.00405ce0
push 0x419e40
push 0x419e40
call fcn.0040a360
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea ecx, [esp + 0x10]
push ecx
push 0x4150a4
call fcn.00405ce0
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x106c]
push eax
push eax
push edx
call fcn.00406350
mov eax, dword [esp + 0x24]
add esp, 0x14
push 0x3ff
push eax
push 0x3ff
push eax
lea eax, [esp + 0x1074]
push eax
call fcn.00406350
add esp, 0xc
push eax
call fcn.00406350
add esp, 0xc
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], 0
push ecx
call fcn.004013f0
mov edi, eax
add esp, 4
test edi, edi
jne 0x4023ff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3054
ret
lea edx, [esp + 0x44]
push edx
push 0xc8
push edi
call dword [sym.imp.ADVAPI32.dll_ControlService]
push 0
push 0
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov al, 0x65
mov cl, 0x6c
mov byte [esp + 0x30], al
mov byte [esp + 0x32], al
mov byte [esp + 0x37], al
mov byte [esp + 0x3d], al
mov byte [esp + 0x26], cl
mov byte [esp + 0x27], cl
mov byte [esp + 0x2d], cl
mov byte [esp + 0x3c], cl
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x1c]
mov dl, 0x64
mov bl, 0x69
push eax
push ecx
mov byte [esp + 0x24], 0x41
mov byte [esp + 0x25], dl
mov byte [esp + 0x26], 0x76
mov byte [esp + 0x27], 0x61
mov byte [esp + 0x28], 0x70
mov byte [esp + 0x29], bl
mov byte [esp + 0x2a], 0x33
mov byte [esp + 0x2b], 0x32
mov byte [esp + 0x2c], 0x2e
mov byte [esp + 0x2d], dl
mov byte [esp + 0x30], 0
mov byte [esp + 0x34], 0x43
mov byte [esp + 0x36], 0x6f
mov byte [esp + 0x37], 0x73
mov byte [esp + 0x39], 0x53
mov byte [esp + 0x3b], 0x72
mov byte [esp + 0x3c], 0x76
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], 0x63
mov byte [esp + 0x40], 0x48
mov byte [esp + 0x41], 0x61
mov byte [esp + 0x42], 0x6e
mov byte [esp + 0x43], dl
mov byte [esp + 0x46], 0
call fcn.004076c0
mov esi, eax
add esp, 8
test esi, esi
je 0x4024df
push edi
call esi
mov edx, dword [esp + 0x40]
push edx
call esi
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x3054
ret