Function at 0x401a20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5b6219
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x62dc50]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push esi
push edi
mov eax, dword [0x62dc50]
xor eax, esp
push eax
lea eax, [esp + 0x130]
mov dword fs:[0], eax
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
xor ebx, ebx
push ebx
push ebx
mov esi, ecx
mov eax, dword [esi + 0x2c0]
push 0x14b
push eax
call edi
mov ecx, dword [esi + 0x2c0]
push str.ST_APPLICATION
push ebx
push 0x143
push ecx
call edi
mov edx, dword [esi + 0x2c0]
push str.ST_SERVICE
push ebx
push 0x143
push edx
call edi
mov eax, dword [esi + 0x2c0]
push ebx
push ebx
push 0x14e
push eax
call edi
mov ecx, dword [esi + 0x1d8]
push ebx
push ebx
push 0x14b
push ecx
call edi
mov edx, dword [esi + 0x1d8]
push 0x5ee414
push ebx
push 0x143
push edx
call edi
mov eax, dword [esi + 0x1d8]
push 0x5ee418
push ebx
push 0x143
push eax
call edi
mov ecx, dword [esi + 0x1d8]
push ebx
push ebx
push 0x14e
push ecx
call edi
push 4
push str.NUMS
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
call fcn.004049e0
mov dword [esp + 0x138], ebx
push 0xb
push str.ControlList
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.004049e0
push ebx
push ebx
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x38]
mov byte [esp + 0x144], 1
mov ecx, dword [esi + 0xb8]
push eax
call fcn.00435850
cmp dword [esp + 0x40], 0x10
mov dword [esp + 0x18], eax
jb 0x401b78
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0047f7fb
add esp, 4
mov dword [esp + 0x138], 0xffffffff
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
jb 0x401ba7
mov edx, dword [esp + 0x48]
push edx
call fcn.0047f7fb
add esp, 4
mov eax, dword [esi + 0x24c]
push ebx
push ebx
push 0x14b
push eax
call edi
mov ecx, dword [esi + 0xc4]
mov edx, dword [ecx + 4]
push edx
lea ecx, [esi + 0xc0]
call fcn.00404640
mov eax, dword [esi + 0xc4]
mov dword [eax + 4], eax
mov eax, dword [esi + 0xc4]
mov dword [eax], eax
mov eax, dword [esi + 0xc4]
mov dword [eax + 8], eax
mov edi, 0xf
mov dword [esi + 0xc8], ebx
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
mov dword [esp + 0x138], 2
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
mov byte [esp + 0x138], 5
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x18], ebx
jle 0x40244a
jmp 0x401c65
mov edi, 0xf
push ebx
push 0x5ee295
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
call fcn.004049e0
mov byte [esp + 0x138], 6
push 0xb
push str.ControlList
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.004049e0
mov eax, dword [esp + 0x14]
cdq
push 0xa
push edx
push eax
lea eax, [esp + 0xa8]
push eax
mov byte [esp + 0x148], 7
call fcn.00427860
add esp, 0x10
lea ecx, [esp + 0x48]
push ecx
push eax
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x118]
mov byte [esp + 0x144], 8
mov ecx, dword [esi + 0xb8]
push eax
call fcn.00434ce0
mov edi, eax
lea ecx, [esp + 0x80]
cmp ecx, edi
je 0x401d78
cmp dword [esp + 0x94], 0x10
jb 0x401d16
mov edx, dword [esp + 0x80]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [esp + 0x94], 0xf
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
cmp dword [edi + 0x14], 0x10
jae 0x401d4d
mov eax, dword [edi + 0x10]
inc eax
push eax
lea eax, [esp + 0x84]
push edi
push eax
call fcn.00587ba0
add esp, 0xc
jmp 0x401d58
mov ecx, dword [edi]
mov dword [esp + 0x80], ecx
mov dword [edi], ebx
mov edx, dword [edi + 0x10]
mov dword [esp + 0x90], edx
mov eax, dword [edi + 0x14]
mov dword [esp + 0x94], eax
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], bl
cmp dword [esp + 0x120], 0x10
jb 0x401d92
mov ecx, dword [esp + 0x10c]
push ecx
call fcn.0047f7fb
add esp, 4
cmp dword [esp + 0xb0], 0x10
mov dword [esp + 0x120], 0xf
mov dword [esp + 0x11c], ebx
mov byte [esp + 0x10c], bl
jb 0x401dc5
mov edx, dword [esp + 0x9c]
push edx
call fcn.0047f7fb
add esp, 4
cmp dword [esp + 0x40], 0x10
mov dword [esp + 0xb0], 0xf
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
jb 0x401df2
mov eax, dword [esp + 0x2c]
push eax
call fcn.0047f7fb
add esp, 4
mov byte [esp + 0x138], 5
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
jb 0x401e1e
mov ecx, dword [esp + 0x48]
push ecx
call fcn.0047f7fb
add esp, 4
push 0x2c
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0xa4]
push eax
call fcn.00428ff0
add esp, 0xc
mov edi, eax
lea ecx, [esp + 0xf0]
cmp ecx, edi
je 0x401ec5
cmp dword [esp + 0x104], 0x10
jb 0x401e63
mov edx, dword [esp + 0xf0]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
cmp dword [edi + 0x14], 0x10
jae 0x401e9a
mov eax, dword [edi + 0x10]
inc eax
push eax
lea eax, [esp + 0xf4]
push edi
push eax
call fcn.00587ba0
add esp, 0xc
jmp 0x401ea5
mov ecx, dword [edi]
mov dword [esp + 0xf0], ecx
mov dword [edi], ebx
mov edx, dword [edi + 0x10]
mov dword [esp + 0x100], edx
mov eax, dword [edi + 0x14]
mov dword [esp + 0x104], eax
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], bl
mov byte [esp + 0x138], 5
cmp dword [esp + 0xb0], 0x10
jb 0x401ee7
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.0047f7fb
add esp, 4
cmp dword [esp + 0x90], ebx
jbe 0x402097
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x88]
push edx
lea ecx, [esp + 0xe0]
call fcn.004048f0
push ebx
mov edi, 0xf
push 0x5ee295
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
call fcn.004049e0
mov byte [esp + 0x138], 0xb
push 0xb
push str.DisplayName
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.004049e0
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x88]
push edx
lea eax, [esp + 0xa8]
mov byte [esp + 0x144], 0xc
mov ecx, dword [esi + 0xb8]
push eax
call fcn.00434ce0
mov edi, eax
lea ecx, [esp + 0x64]
cmp ecx, edi
je 0x401fe7
cmp dword [esp + 0x78], 0x10
jb 0x401f9a
mov edx, dword [esp + 0x64]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
cmp dword [edi + 0x14], 0x10
jae 0x401fc5
mov eax, dword [edi + 0x10]
inc eax
push eax
lea eax, [esp + 0x68]
push edi
push eax
call fcn.00587ba0
add esp, 0xc
jmp 0x401fcd
mov ecx, dword [edi]
mov dword [esp + 0x64], ecx
mov dword [edi], ebx
mov edx, dword [edi + 0x10]
mov dword [esp + 0x74], edx
mov eax, dword [edi + 0x14]
mov dword [esp + 0x78], eax
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], bl
cmp dword [esp + 0xb0], 0x10
jb 0x402001
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.0047f7fb
add esp, 4
cmp dword [esp + 0x40], 0x10
mov dword [esp + 0xb0], 0xf
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
jb 0x40202e
mov edx, dword [esp + 0x2c]
push edx
call fcn.0047f7fb
add esp, 4
mov byte [esp + 0x138], 5
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
jb 0x40205a
mov eax, dword [esp + 0x48]
push eax
call fcn.0047f7fb
add esp, 4
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0xa4]
push eax
call fcn.004053c0
add esp, 0xc
lea edi, [esi + 0xc0]
mov ecx, eax
mov edx, edi
mov byte [esp + 0x138], 0xe
call fcn.00405bb0
lea ecx, [esp + 0x24]
jmp 0x4023b8
push ebx
push 0x5ee295
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
call fcn.004049e0
mov byte [esp + 0x138], 0xf
push 7
push str.ExeFile
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.004049e0
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0x144], 0x10
push ecx
mov ecx, dword [esi + 0xb8]
call fcn.00434ce0
mov edi, eax
lea edx, [esp + 0xd4]
cmp edx, edi
je 0x402198
cmp dword [esp + 0xe8], 0x10
jb 0x402136
mov eax, dword [esp + 0xd4]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [esp + 0xe8], 0xf
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
cmp dword [edi + 0x14], 0x10
jae 0x40216d
mov eax, dword [edi + 0x10]
inc eax
push eax
lea ecx, [esp + 0xd8]
push edi
push ecx
call fcn.00587ba0
add esp, 0xc
jmp 0x402178
mov edx, dword [edi]
mov dword [esp + 0xd4], edx
mov dword [edi], ebx
mov eax, dword [edi + 0x10]
mov dword [esp + 0xe4], eax
mov ecx, dword [edi + 0x14]
mov dword [esp + 0xe8], ecx
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], bl
cmp dword [esp + 0xb0], 0x10
jb 0x4021b2
mov edx, dword [esp + 0x9c]
push edx
call fcn.0047f7fb
add esp, 4
cmp dword [esp + 0x40], 0x10
mov dword [esp + 0xb0], 0xf
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
jb 0x4021df
mov eax, dword [esp + 0x2c]
push eax
call fcn.0047f7fb
add esp, 4
mov byte [esp + 0x138], 5
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
jb 0x40220b
mov ecx, dword [esp + 0x48]
push ecx
call fcn.0047f7fb
add esp, 4
push ebx
push 0x5ee295
lea ecx, [esp + 0x50]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
call fcn.004049e0
mov byte [esp + 0x138], 0x12
push 0xb
push str.DisplayName
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.004049e0
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0xf8]
push ecx
lea edx, [esp + 0xa8]
mov byte [esp + 0x144], 0x13
mov ecx, dword [esi + 0xb8]
push edx
call fcn.00434ce0
mov edi, eax
lea eax, [esp + 0x64]
cmp eax, edi
je 0x4022ea
cmp dword [esp + 0x78], 0x10
jb 0x40229d
mov ecx, dword [esp + 0x64]
push ecx
call fcn.0047f7fb
add esp, 4
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
cmp dword [edi + 0x14], 0x10
jae 0x4022c8
mov eax, dword [edi + 0x10]
inc eax
push eax
lea edx, [esp + 0x68]
push edi
push edx
call fcn.00587ba0
add esp, 0xc
jmp 0x4022d0
mov eax, dword [edi]
mov dword [esp + 0x64], eax
mov dword [edi], ebx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x74], ecx
mov edx, dword [edi + 0x14]
mov dword [esp + 0x78], edx
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], bl
cmp dword [esp + 0xb0], 0x10
jb 0x402304
mov eax, dword [esp + 0x9c]
push eax
call fcn.0047f7fb
add esp, 4
cmp dword [esp + 0x40], 0x10
mov dword [esp + 0xb0], 0xf
mov dword [esp + 0xac], ebx
mov byte [esp + 0x9c], bl
jb 0x402331
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0047f7fb
add esp, 4
mov byte [esp + 0x138], 5
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
jb 0x40235d
mov edx, dword [esp + 0x48]
push edx
call fcn.0047f7fb
add esp, 4
cmp dword [esp + 0x78], 0x10
mov eax, dword [esp + 0x64]
jae 0x40236c
lea eax, [esp + 0x64]
push eax
mov eax, dword [esi + 0x24c]
push ebx
push 0x143
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0x68]
push edx
lea eax, [esp + 0xa4]
push eax
call fcn.004053c0
add esp, 0xc
lea edi, [esi + 0xc0]
mov ecx, eax
mov edx, edi
mov byte [esp + 0x138], 0x15
call fcn.00405bb0
lea ecx, [esp + 0x1c]
push eax
push ecx
push edi
call fcn.00405630
mov edi, 0x10
mov byte [esp + 0x138], 5
cmp dword [esp + 0xcc], edi
jb 0x4023e6
mov edx, dword [esp + 0xb8]
push edx
call fcn.0047f7fb
add esp, 4
mov byte [esp + 0xb8], bl
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], 0xf
cmp dword [esp + 0xb0], edi
jb 0x402418
mov eax, dword [esp + 0x9c]
push eax
call fcn.0047f7fb
add esp, 4
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jl 0x401c60
cmp dword [esp + 0x104], 0x10
jb 0x402445
mov ecx, dword [esp + 0xf0]
push ecx
call fcn.0047f7fb
add esp, 4
mov edi, 0xf
mov esi, 0x10
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
cmp dword [esp + 0x94], esi
jb 0x40247d
mov edx, dword [esp + 0x80]
push edx
call fcn.0047f7fb
add esp, 4
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
cmp dword [esp + 0xe8], esi
jb 0x4024ab
mov eax, dword [esp + 0xd4]
push eax
call fcn.0047f7fb
add esp, 4
mov dword [esp + 0xe8], edi
mov dword [esp + 0xe4], ebx
mov byte [esp + 0xd4], bl
cmp dword [esp + 0x78], esi
jb 0x4024d3
mov ecx, dword [esp + 0x64]
push ecx
call fcn.0047f7fb
add esp, 4
mov ecx, dword [esp + 0x130]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.00587964
mov esp, ebp
pop ebp
ret