Function at 0x409d90
Capabilities:
Load windows common language runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57a540
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x5e3fe4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
cmp byte [esi + 0x30], 0
jne 0x409fae
lea eax, [esi + 4]
mov byte [esi + 0x30], 1
push eax
push 0x5c3c70
push 0x5c3c80
call dword [sym.imp.mscoree.dll_CLRCreateInstance]
mov edi, eax
test edi, edi
js 0x409f3a
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x409f3a
mov eax, dword [ecx]
lea ebx, [esi + 8]
push ebx
push 0x5c3c60
push str.v4.0.30319
push ecx
call dword [eax + 0xc]
mov edi, eax
test edi, edi
js 0x409f33
mov ecx, dword [ebx]
test ecx, ecx
je 0x409f33
mov eax, dword [ecx]
lea edx, [ebp - 0x94]
push edx
push ecx
call dword [eax + 0x28]
mov edi, eax
test edi, edi
jns 0x409e3c
mov ecx, str.IsLoadable
jmp 0x409f3f
cmp dword [ebp - 0x94], 0
jne 0x409e4f
mov ecx, str.IsLoadable__false
jmp 0x409f3f
mov ecx, dword [ebx]
lea ebx, [esi + 0xc]
push ebx
push 0x5c3c50
push 0x5c3c90
mov eax, dword [ecx]
push ecx
call dword [eax + 0x24]
mov edi, eax
test edi, edi
js 0x409f2c
mov ecx, dword [ebx]
test ecx, ecx
je 0x409f2c
mov eax, dword [ecx]
push ecx
call dword [eax + 0x28]
mov edi, eax
test edi, edi
jns 0x409e8f
mov ecx, str.Start
jmp 0x409f3f
lea ebx, [esi + 0x10]
mov dword [ebp - 4], 0
mov ecx, dword [ebx]
test ecx, ecx
je 0x409ea5
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0xffffffff
mov dword [ebx], 0
mov eax, dword [esi + 0xc]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edi, eax
test edi, edi
js 0x409f25
cmp dword [ebx], 0
je 0x409f25
lea edi, [esi + 0x14]
mov dword [ebp - 4], 2
mov ecx, dword [edi]
test ecx, ecx
je 0x409edd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 4], 0xffffffff
mov dword [edi], 0
mov ecx, dword [ebx]
test ecx, ecx
je 0x409fca
push edi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ecx]
push 0x5c3c40
push ecx
call dword [eax]
mov edi, eax
test edi, edi
js 0x409f1e
cmp dword [esi + 0x14], 0
je 0x409f1e
mov ecx, esi
call fcn.0040a190
jmp 0x409fae
mov ecx, str.QueryInterface
jmp 0x409f3f
mov ecx, str.GetDefaultDomain
jmp 0x409f3f
mov ecx, str.GetInterface
jmp 0x409f3f
mov ecx, str.GetRuntime
jmp 0x409f3f
mov ecx, 0x5c3888
call fcn.004041a0
push edi
lea eax, [ebp - 0x90]
push str.0x_08lx
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0x90]
call fcn.004041a0
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x409f72
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x409f7f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x409f95
mov eax, dword [ecx]
push ecx
call dword [eax + 0x2c]
mov eax, dword [esi + 0xc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov byte [esi + 0x30], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0054e183
mov esp, ebp
pop ebp
ret
push 0x80004003
call fcn.0054f510
int3