Function at 0x401e80
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x443a67
mov eax, dword fs:[0]
push eax
sub esp, 0x590
mov eax, dword [0x45d55c]
xor eax, esp
mov dword [esp + 0x588], eax
push ebx
push esi
push edi
mov eax, dword [0x45d55c]
xor eax, esp
push eax
lea eax, [esp + 0x5a0]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x34], esi
call fcn.00401890
push 0x448158
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x5b4], 0
call fcn.00401770
add esp, 0xc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x5ac], 1
call fcn.004016b0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov byte [esp + 0x5a8], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401f3a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x401f7d
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x5a8], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x401f76
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x40271a
push str.obj.cs
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.00401770
mov eax, dword [esp + 0x2c]
push 0x44796c
push eax
mov byte [esp + 0x5bc], 2
call fcn.0042da56
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x401ffd
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x5a8], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401fd9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x5a8], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x401f6a
push str.using_System__r_n
push ebx
call fcn.0042d843
push str.using_System.Reflection__r_n
push ebx
call fcn.0042d843
push str.using_System.Runtime.InteropServices__r_n
push ebx
call fcn.0042d843
push 0x4480f8
push ebx
call fcn.0042d843
push esi
push str.public_class__s_r_n
push ebx
call fcn.0042d843
push 0x4480e0
push ebx
call fcn.0042d843
push str.____private_Type_obj__null__r_n
push ebx
call fcn.0042d843
push str.____private_object_obj_object__null__r_n_r_n
push ebx
call fcn.0042d843
add esp, 0x44
push esi
push str.____public__s___r_n
push ebx
call fcn.0042d843
push 0x448078
push ebx
call fcn.0042d843
push edi
push str.________obj__Type.GetTypeFromProgID___s____r_n
push ebx
call fcn.0042d843
push str.________obj_object__Activator.CreateInstance_obj___r_n
push ebx
call fcn.0042d843
push str._____r_n_r_n
push ebx
call fcn.0042d843
push str.______
push ebx
call fcn.0042d843
push str.____public_void_ReleaseObj___r_n
push ebx
call fcn.0042d843
add esp, 0x40
push 0x448078
push ebx
call fcn.0042d843
push str.________if__obj_object___null__r_n
push ebx
call fcn.0042d843
push str._________r_n
push ebx
call fcn.0042d843
push str.____________Marshal.ReleaseComObject_obj_object___r_n
push ebx
call fcn.0042d843
push str.____________obj_object__null__r_n
push ebx
call fcn.0042d843
push 0x447f2c
push ebx
call fcn.0042d843
push str._____r_n_r_n
push ebx
call fcn.0042d843
push esi
push str._____s___r_n
push ebx
call fcn.0042d843
add esp, 0x44
push 0x448078
push ebx
call fcn.0042d843
push str.________ReleaseObj____r_n
push ebx
call fcn.0042d843
push str._____r_n_r_n
push ebx
call fcn.0042d843
mov ecx, dword [esp + 0x3c]
add esp, 0x18
mov dword [esp + 0x2c], 0
call fcn.00401000
test eax, eax
jbe 0x40255f
mov dword [esp + 0x1c], 0
lea esp, [esp]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 4]
test eax, eax
je 0x402177
mov ecx, dword [ecx + 8]
sub ecx, eax
mov eax, 0x6572ec3
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x2c], eax
jb 0x40217c
call fcn.0042d299
mov ecx, dword [esp + 0x24]
mov esi, dword [ecx + 4]
add esi, dword [esp + 0x1c]
mov ecx, 0x143
lea edi, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
jmp 0x4021a0
mov cl, byte [esp + eax + 0x84]
mov byte [esp + eax + 0x554], cl
add eax, 1
test cl, cl
jne 0x4021a0
mov edi, 0x447ef8
lea esi, [esp + 0x554]
mov ecx, 0xf
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40253b
mov edi, 0x447ee8
lea esi, [esp + 0x554]
mov ecx, 0xf
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x40253b
push str.____public
push ebx
call fcn.0042d843
mov eax, dword [esp + 0x550]
add esp, 8
cmp eax, 3
jne 0x402214
lea ecx, [esp + 0x554]
push ecx
push str.int__s_
jmp 0x402262
cmp eax, 0x14
jne 0x402228
lea edx, [esp + 0x554]
push edx
push str.long__s_
jmp 0x402262
cmp eax, 8
jne 0x40223c
lea eax, [esp + 0x554]
push eax
push str.string__s_
jmp 0x402262
cmp eax, 4
jne 0x402250
lea ecx, [esp + 0x554]
push ecx
push str.float__s_
jmp 0x402262
cmp eax, 5
jne 0x40226b
lea edx, [esp + 0x554]
push edx
push str.double__s_
push ebx
call fcn.0042d843
add esp, 0xc
xor edi, edi
cmp dword [esp + 0xc4], edi
mov dword [esp + 0x18], edi
jle 0x402361
lea esi, [esp + 0xc8]
jmp 0x402290
mov eax, dword [esp + 0x18]
mov eax, dword [esp + eax*4 + 0x4c8]
cmp eax, 3
jne 0x4022b1
push esi
push str.int__s
push ebx
call fcn.0042d843
add esp, 0xc
jmp 0x402328
cmp eax, 0x14
jne 0x4022c7
push esi
push 0x447e94
push ebx
call fcn.0042d843
add esp, 0xc
jmp 0x402328
cmp eax, 4
jne 0x4022dd
push esi
push str.float__s
push ebx
call fcn.0042d843
add esp, 0xc
jmp 0x402328
cmp eax, 5
jne 0x4022f3
push esi
push str.double__s
push ebx
call fcn.0042d843
add esp, 0xc
jmp 0x402328
cmp eax, 8
jne 0x402309
push esi
push str.string__s
push ebx
call fcn.0042d843
add esp, 0xc
jmp 0x402328
cmp eax, 0x1a
jne 0x402328
push esi
push str.out_int__s
push ebx
call fcn.0042d843
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + edi*4 + 0x34], ecx
add edi, 1
mov edx, dword [esp + 0xc4]
add edx, 0xffffffff
cmp dword [esp + 0x18], edx
jge 0x402346
push 0x447870
push ebx
call fcn.0042d843
add esp, 8
mov eax, dword [esp + 0x18]
add eax, 1
add esi, 0x20
cmp eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
jl 0x402290
push 0x44786c
push ebx
call fcn.0042d843
push 0x448078
push ebx
call fcn.0042d843
mov eax, dword [esp + 0xd4]
add esp, 0x10
test eax, eax
jne 0x4023ea
push str.________object_result__r_n
push ebx
call fcn.0042d843
lea eax, [esp + 0x4c]
push eax
push str.________result__obj.InvokeMember___s___BindingFlags.InvokeMethod__null__obj_object__null___r_n
push ebx
call fcn.0042d843
add esp, 0x14
mov eax, dword [esp + 0x548]
cmp eax, 8
jne 0x4023b9
push str.________return_result.ToString____r_n
jmp 0x402524
cmp eax, 3
jne 0x4023c8
push str.________return__int_result__r_n
jmp 0x402524
cmp eax, 0x14
jne 0x4023d7
push str.________return_Convert.ToInt64_result___r_n
jmp 0x402524
cmp eax, 4
jne 0x40251a
push str.________return__float_result__r_n
jmp 0x402524
push eax
push str.________object___args__new_object__d___r_n
push ebx
call fcn.0042d843
push str.________object_result__r_n
push ebx
call fcn.0042d843
add esp, 0x14
test edi, edi
jle 0x402458
push str.________ParameterModifier___mods__new_ParameterModifier_1___r_n_r_n
push ebx
call fcn.0042d843
mov ecx, dword [esp + 0xcc]
push ecx
push str.________mods_0___new_ParameterModifier__d___r_n
push ebx
call fcn.0042d843
add esp, 0x14
xor esi, esi
test edi, edi
jle 0x40244a
nop
mov edx, dword [esp + esi*4 + 0x34]
push edx
push str.________mods_0___d___true__r_n
push ebx
call fcn.0042d843
add esi, 1
add esp, 0xc
cmp esi, edi
jl 0x402430
push 0x4480f8
push ebx
call fcn.0042d843
add esp, 8
xor esi, esi
cmp dword [esp + 0xc4], esi
jle 0x4024ac
lea eax, [esp + 0xc8]
mov dword [esp + 0x18], eax
xor eax, eax
test edi, edi
jle 0x402487
cmp esi, dword [esp + eax*4 + 0x34]
je 0x402483
add eax, 1
cmp eax, edi
jl 0x402474
jmp 0x402487
cmp eax, edi
jl 0x40249b
mov ecx, dword [esp + 0x18]
push ecx
push esi
push str.________args__d____s__r_n
push ebx
call fcn.0042d843
add esp, 0x10
add dword [esp + 0x18], 0x20
add esi, 1
cmp esi, dword [esp + 0xc4]
jl 0x40246e
push 0x4480f8
push ebx
call fcn.0042d843
add esp, 8
test edi, edi
jle 0x4024ca
lea edx, [esp + 0x44]
push edx
push str.________result__obj.InvokeMember___s___BindingFlags.InvokeMethod__null__obj_object__args__mods__null__null___r_n
jmp 0x4024d4
lea eax, [esp + 0x44]
push eax
push str.________result__obj.InvokeMember___s___BindingFlags.InvokeMethod__null__obj_object__args___r_n
push ebx
call fcn.0042d843
add esp, 0xc
test edi, edi
jle 0x4023a3
xor esi, esi
test edi, edi
jle 0x4023a3
nop
mov eax, dword [esp + esi*4 + 0x34]
push eax
shl eax, 5
lea ecx, [esp + eax + 0xcc]
push ecx
push str._________s___int_args__d___r_n
push ebx
call fcn.0042d843
add esi, 1
add esp, 0x10
cmp esi, edi
jl 0x4024f0
jmp 0x4023a3
cmp eax, 5
jne 0x40252d
push str.________return__double_result__r_n
push ebx
call fcn.0042d843
add esp, 8
push str._____r_n_r_n
push ebx
call fcn.0042d843
add esp, 8
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
add dword [esp + 0x1c], 0x50c
add esi, 1
mov dword [esp + 0x2c], esi
call fcn.00401000
cmp esi, eax
jb 0x402150
push 0x447b60
push ebx
call fcn.0042d843
push ebx
call fcn.0042d7c7
push 0x447828
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x3c]
push eax
call fcn.00401770
mov ecx, dword [esp + 0x40]
push 0x44796c
push ecx
mov byte [esp + 0x5c8], 3
call fcn.0042da56
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x4025d5
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x5a8], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x401fb1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x401fb1
push 0x447b30
push esi
call fcn.0042d843
push 0x447ac8
push esi
call fcn.0042d843
push 0x447a78
push esi
call fcn.0042d843
push 0x447a50
push esi
call fcn.0042d843
push 0x447a20
push esi
call fcn.0042d843
mov eax, dword [esp + 0x58]
push eax
push eax
push str._s_dm__new__s______
push esi
call fcn.0042d843
push str.MessageBox.Show_dm.Ver_____r_n
push esi
call fcn.0042d843
add esp, 0x40
push str.dm.ReleaseObj____r_n
push esi
call fcn.0042d843
push 0x447994
push esi
call fcn.0042d843
push esi
call fcn.0042d7c7
push 0x447984
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.00401770
mov eax, dword [eax]
push eax
push 0x88
mov byte [esp + 0x5d0], 4
call fcn.0040b070
mov esi, eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
add esp, 0x28
mov byte [esp + 0x5a8], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40269d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x5a8], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4026c5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x5a8], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4026ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x5a8], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402718
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x5a0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x588]
xor ecx, esp
call fcn.0042d746
mov esp, ebp
pop ebp
ret