Function at 0x407e70
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x443f07
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 edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x44], edi
call fcn.00401890
push str.VBNet_
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
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 + 0x18]
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 0x407f2a
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 0x407f6d
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 0x407f66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x4085a1
push str.obj.vb
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x24]
push edx
call fcn.00401770
mov eax, dword [esp + 0x28]
push 0x44796c
push eax
mov byte [esp + 0x5bc], 2
call fcn.0042da56
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x407fed
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 0x407fc9
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 0x407f5a
push edi
push str.Public_Class__s_r_n
push ebx
call fcn.0042d843
push str.____Private_obj_As_Object_r_n_r_n
push ebx
call fcn.0042d843
push str.____Public_Sub_New___
push ebx
call fcn.0042d843
push esi
push str.________obj__CreateObject___s___r_n
push ebx
call fcn.0042d843
push str.____End_Sub_r_n_r_n
push ebx
call fcn.0042d843
push str.____Protected_Overrides_Sub_Finalize___
push ebx
call fcn.0042d843
push str.________obj__Nothing_r_n
push ebx
call fcn.0042d843
add esp, 0x40
push str.____End_Sub_r_n_r_n
push ebx
call fcn.0042d843
mov ecx, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x28], 0
call fcn.00401000
test eax, eax
jbe 0x408448
mov dword [esp + 0x18], 0
mov edi, edi
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
test eax, eax
je 0x408097
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 + 0x28], eax
jb 0x40809c
call fcn.0042d299
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 4]
add esi, dword [esp + 0x18]
mov ecx, 0x143
lea edi, [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
jmp 0x4080c0
mov cl, byte [esp + eax + 0x84]
mov byte [esp + eax + 0x554], cl
add eax, 1
test cl, cl
jne 0x4080c0
mov edi, str.Stop
lea esi, [esp + 0x554]
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x408114
mov eax, dword [str.StopAudio]
mov ecx, dword [0x4478a4]
mov dx, word [0x4478a8]
mov dword [esp + 0x554], eax
mov dword [esp + 0x558], ecx
mov word [esp + 0x55c], dx
mov edi, 0x447ef8
lea esi, [esp + 0x554]
mov ecx, 0xf
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x408420
mov edi, 0x447ee8
lea esi, [esp + 0x554]
mov ecx, 0xf
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x408420
lea eax, [esp + 0x554]
push eax
push str.____Public_Function__s_
push ebx
call fcn.0042d843
xor edi, edi
add esp, 0xc
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
cmp dword [esp + 0xc4], edi
mov byte [esp + 0x5a8], 3
jle 0x4082b0
lea esi, [esp + 0xc8]
cmp dword [esp + edi*4 + 0x4c8], 0x1a
push esi
je 0x4081a8
push str.ByVal__s
push ebx
call fcn.0042d843
add esp, 0xc
jmp 0x40822b
push str._Runtime.InteropServices.Out____ByRef__s
push ebx
call fcn.0042d843
add esp, 0xc
call fcn.00411a1b
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4084ae
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x2c], eax
push esi
lea ecx, [esp + 0x30]
push str._________s__Nothing_r_n
push ecx
mov byte [esp + 0x5b4], 4
call fcn.004073e0
add esp, 0xc
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x34]
call fcn.00407de0
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
mov byte [esp + 0x5a8], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40822b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + edi*4 + 0x4c8]
cmp eax, 3
jne 0x40823e
push str._As_Integer
jmp 0x408278
cmp eax, 0x14
jne 0x40824a
push str._As_Long
jmp 0x408278
cmp eax, 4
jne 0x408256
push str._As_Single
jmp 0x408278
cmp eax, 5
jne 0x408262
push str._As_Double
jmp 0x408278
cmp eax, 8
jne 0x40826e
push str._As_String
jmp 0x408278
cmp eax, 0x1a
jne 0x408281
push str._As_Object
push ebx
call fcn.0042d843
add esp, 8
mov ecx, dword [esp + 0xc4]
add ecx, 0xffffffff
cmp edi, ecx
jge 0x40829d
push 0x447870
push ebx
call fcn.0042d843
add esp, 8
add edi, 1
add esi, 0x20
cmp edi, dword [esp + 0xc4]
jl 0x40818a
push str.__As
push ebx
call fcn.0042d843
mov eax, dword [esp + 0x550]
add esp, 8
cmp eax, 3
jne 0x4082d1
push str.Integer_r_n
jmp 0x40830b
cmp eax, 0x14
jne 0x4082dd
push str.Long_r_n
jmp 0x40830b
cmp eax, 8
jne 0x4082e9
push str.String_r_n
jmp 0x40830b
cmp eax, 2
jne 0x4082f5
push str.Short_r_n
jmp 0x40830b
cmp eax, 4
jne 0x408301
push str.Single_r_n
jmp 0x40830b
cmp eax, 5
jne 0x408314
push str.Double_r_n
push ebx
call fcn.0042d843
add esp, 8
xor esi, esi
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x408342
mov eax, dword [esp + 0x38]
sub eax, ecx
sar eax, 2
cmp esi, eax
jae 0x408342
mov edx, dword [ecx + esi*4]
push edx
push 0x447854
push ebx
call fcn.0042d843
add esp, 0xc
add esi, 1
jmp 0x408316
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x558]
push ecx
push str._________s__obj._s_
push ebx
call fcn.0042d843
xor esi, esi
add esp, 0x10
cmp dword [esp + 0xc4], esi
jle 0x4083aa
lea edi, [esp + 0xc8]
nop
push edi
push 0x447854
push ebx
call fcn.0042d843
mov edx, dword [esp + 0xd0]
add edx, 0xffffffff
add esp, 0xc
cmp esi, edx
jge 0x40839b
push 0x447870
push ebx
call fcn.0042d843
add esp, 8
add esi, 1
add edi, 0x20
cmp esi, dword [esp + 0xc4]
jl 0x408370
push 0x44786c
push ebx
call fcn.0042d843
push str.____End_Function_r_n_r_n
push ebx
call fcn.0042d843
mov esi, dword [esp + 0x44]
add esp, 0x10
test esi, esi
mov byte [esp + 0x5a8], 2
je 0x408412
mov eax, dword [esp + 0x38]
cmp esi, eax
mov edi, eax
je 0x408409
lea ecx, [ecx]
mov eax, dword [esi]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4083fe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 4
cmp esi, edi
jne 0x4083e0
mov esi, dword [esp + 0x34]
push esi
call fcn.0041126a
add esp, 4
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x18], 0x50c
add esi, 1
mov dword [esp + 0x28], esi
call fcn.00401000
cmp esi, eax
jb 0x408070
mov edi, dword [esp + 0x40]
push str.End_Class_r_n
push ebx
call fcn.0042d843
push ebx
call fcn.0042d7c7
push 0x447828
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.00401770
mov eax, dword [esp + 0x3c]
push 0x44796c
push eax
call fcn.0042da56
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x4084b8
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407fa1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x407fa1
push 0x80004005
call fcn.00401020
push 0x44b368
push esi
call fcn.0042d843
push 0x44b2f8
push esi
call fcn.0042d843
push 0x44b2a8
push esi
call fcn.0042d843
push 0x447a50
push esi
call fcn.0042d843
push 0x447a20
push esi
call fcn.0042d843
push edi
push str.Dim_dm_As__s_r_n
push esi
call fcn.0042d843
push edi
push str.dm__new__s___
push esi
call fcn.0042d843
add esp, 0x40
push str.MsgBox_dm.Ver___r_n
push esi
call fcn.0042d843
push str.dm__nothing_
push esi
call fcn.0042d843
push esi
call fcn.0042d7c7
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x408549
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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 0x408571
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 0x40859c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
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