Function at 0x402780
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x443b26
mov eax, dword fs:[0]
push eax
sub esp, 0x588
mov eax, dword [0x45d55c]
xor eax, esp
mov dword [esp + 0x580], eax
push ebx
push esi
push edi
mov eax, dword [0x45d55c]
xor eax, esp
push eax
lea eax, [esp + 0x598]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x14]
xor ebx, ebx
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], ebx
call fcn.00401890
mov edi, dword [ebp + 0x1c]
cmp edi, ebx
mov dword [esp + 0x5a0], ebx
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x18]
je 0x402814
push str.C_
push ecx
push edx
call fcn.00401770
add esp, 0xc
mov byte [esp + 0x5a0], 1
jmp 0x40282b
push 0x448f50
push ecx
push edx
call fcn.00401770
add esp, 0xc
mov byte [esp + 0x5a0], 2
push eax
lea ecx, [esp + 0x20]
call fcn.004016b0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0x5a0], 0
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40285d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1c]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x40289f
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov dword [esp + 0x5a0], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402898
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
jmp 0x403813
push str.obj.cs
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.00401770
mov eax, dword [esp + 0x40]
push 0x44796c
push eax
mov byte [esp + 0x5b4], 3
call fcn.0042da56
mov ebx, eax
add esp, 0x14
test ebx, ebx
jne 0x40291f
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x5a0], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4028fb
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 dword [esp + 0x5a0], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x40288c
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
mov ecx, dword [esp + 0x4c]
push ecx
push str.public_class__s_r_n
push ebx
call fcn.0042d843
push 0x4480e0
push ebx
call fcn.0042d843
push str.____private_static_int_hmodule__0__r_n
push ebx
call fcn.0042d843
push str.____private_int_obj__0__r_n_r_n
push ebx
call fcn.0042d843
add esp, 0x44
test edi, edi
je 0x402b21
xor edi, edi
mov ecx, esi
mov dword [esp + 0x24], edi
call fcn.00401000
test eax, eax
jbe 0x402a1d
mov dword [esp + 0x10], edi
mov eax, dword [esi + 4]
test eax, eax
je 0x4029c1
mov esi, dword [esi + 8]
sub esi, eax
mov eax, 0x6572ec3
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x4029c6
call fcn.0042d299
mov edx, dword [esp + 0x20]
mov esi, dword [edx + 4]
add esi, dword [esp + 0x10]
mov ecx, 0x143
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov edi, str.SetPointer
lea esi, [esp + 0x3c]
mov ecx, 0xb
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov esi, edx
je 0x402a12
mov edi, dword [esp + 0x24]
add dword [esp + 0x10], 0x50c
add edi, 1
mov ecx, esi
mov dword [esp + 0x24], edi
call fcn.00401000
cmp edi, eax
jb 0x4029a0
jmp 0x402a1d
mov ecx, dword [esp + 0x544]
mov dword [esp + 0x14], ecx
mov edx, dword [ebp + 0x18]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00402740
mov ecx, dword [eax]
push ecx
push str._____UnmanagedFunctionPointerAttribute_CallingConvention.StdCall__CharSet__CharSet._s___r_n
push ebx
call fcn.0042d843
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
add esp, 0x14
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402a5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.____private_delegate_int_TypeMemoryLoad_byte___buffer__int_length_int_OffsetSetPointer___r_n
push ebx
call fcn.0042d843
push str.____public_static_bool_LoadDmMemory_byte___buffer_int_length_byte___MemoryLoadData_int_MemoryLoadSize__r_n
push ebx
call fcn.0042d843
push 0x448078
push ebx
call fcn.0042d843
push str.________if__hmodule___0__return_true__r_n_r_n
push ebx
call fcn.0042d843
push str.________try_r_n
push ebx
call fcn.0042d843
push str._________r_n
push ebx
call fcn.0042d843
push str.____________MemoryModule_memModule__new_MemoryModule_MemoryLoadData___r_n_r_n
push ebx
call fcn.0042d843
push str.____________TypeMemoryLoad_MemoryLoad___TypeMemoryLoad_memModule.GetDelegateFromFuncName__MemoryLoad___typeof_TypeMemoryLoad____r_n
push ebx
call fcn.0042d843
mov ecx, dword [esp + 0x54]
add esp, 0x40
push ecx
push str.____________hmodule__MemoryLoad_buffer_length__d___r_n_r_n
push ebx
call fcn.0042d843
push str.____________memModule.Close____r_n
push ebx
call fcn.0042d843
push str.____________if__hmodule___0__return_true__r_n
push ebx
call fcn.0042d843
push 0x447f2c
push ebx
call fcn.0042d843
push str.________catch__Exception_ex__r_n
push ebx
call fcn.0042d843
push str._________r_n
push ebx
call fcn.0042d843
push str.____________Console.WriteLine__Error:____ex.Message___r_n
push ebx
call fcn.0042d843
push 0x447f2c
push ebx
call fcn.0042d843
add esp, 0x44
push str.________return_false__r_n
jmp 0x402bdc
push str._____DllImport__kernel32.dll____r_n
push ebx
call fcn.0042d843
push str.____public_static_extern_int_LoadLibrary_string_lpFileName___r_n_r_n
push ebx
call fcn.0042d843
push str._____DllImport__kernel32.dll____r_n
push ebx
call fcn.0042d843
push str.____public_static_extern_bool_FreeLibrary_int_hModule___r_n_r_n
push ebx
call fcn.0042d843
push str.____public_static_bool_LoadDm_string_path__r_n
push ebx
call fcn.0042d843
push 0x448078
push ebx
call fcn.0042d843
push str.________if__hmodule___0__return_true__r_n_r_n
push ebx
call fcn.0042d843
push str.________hmodule__LoadLibrary_path___r_n
push ebx
call fcn.0042d843
add esp, 0x40
push str.________if__hmodule___0__return_true__r_n
push ebx
call fcn.0042d843
push str.________return_false__r_n
push ebx
call fcn.0042d843
push str._____r_n_r_n
push ebx
call fcn.0042d843
push str.____public_static_bool_FreeDm___r_n
push ebx
call fcn.0042d843
push 0x448078
push ebx
call fcn.0042d843
push str.________if__hmodule__0__return_true__r_n
push ebx
call fcn.0042d843
push str.________FreeLibrary_hmodule___r_n
push ebx
call fcn.0042d843
push str.________hmodule__0__r_n
push ebx
call fcn.0042d843
add esp, 0x40
push str.________return_true__r_n
push ebx
call fcn.0042d843
push str._____r_n_r_n
push ebx
call fcn.0042d843
xor edi, edi
add esp, 0x10
mov ecx, esi
mov dword [esp + 0x24], edi
call fcn.00401000
test eax, eax
jbe 0x402c86
mov dword [esp + 0x10], edi
mov eax, dword [esi + 4]
test eax, eax
je 0x402c2a
mov esi, dword [esi + 8]
sub esi, eax
mov eax, 0x6572ec3
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x402c2f
call fcn.0042d299
mov edx, dword [esp + 0x20]
mov esi, dword [edx + 4]
add esi, dword [esp + 0x10]
mov ecx, 0x143
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov edi, str.CreateObj
lea esi, [esp + 0x3c]
mov ecx, 0xa
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov esi, edx
je 0x402c7b
mov edi, dword [esp + 0x24]
add dword [esp + 0x10], 0x50c
add edi, 1
mov ecx, esi
mov dword [esp + 0x24], edi
call fcn.00401000
cmp edi, eax
jb 0x402c09
jmp 0x402c86
mov ecx, dword [esp + 0x544]
mov dword [esp + 0x14], ecx
mov edx, dword [ebp + 0x18]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.00402740
mov ecx, dword [eax]
push ecx
push str._____UnmanagedFunctionPointerAttribute_CallingConvention.StdCall__CharSet__CharSet._s___r_n
push ebx
call fcn.0042d843
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
add esp, 0x14
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x402cc5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.____private_delegate_int_TypeCreateObj____r_n
push ebx
call fcn.0042d843
mov ecx, dword [esp + 0x34]
push ecx
push str.____public__s___r_n
push ebx
call fcn.0042d843
push 0x448078
push ebx
call fcn.0042d843
mov edx, dword [esp + 0x30]
push edx
push str.________TypeCreateObj_CreateObj___TypeCreateObj_Marshal.GetDelegateForFunctionPointer__IntPtr__hmodule___d___typeof_TypeCreateObj____r_n
push ebx
call fcn.0042d843
push str.________obj__CreateObj____r_n
push ebx
call fcn.0042d843
push str._____r_n_r_n
push ebx
call fcn.0042d843
xor edi, edi
add esp, 0x38
mov ecx, esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
call fcn.00401000
test eax, eax
jbe 0x402db2
mov dword [esp + 0x10], edi
mov eax, dword [esi + 4]
test eax, eax
je 0x402d52
mov esi, dword [esi + 8]
sub esi, eax
mov eax, 0x6572ec3
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x402d57
call fcn.0042d299
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 4]
add esi, dword [esp + 0x10]
mov ecx, 0x143
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
mov edi, str.ReleaseObj
lea esi, [esp + 0x3c]
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x402da3
mov edi, dword [esp + 0x24]
add dword [esp + 0x10], 0x50c
mov esi, eax
add edi, 1
mov ecx, esi
mov dword [esp + 0x24], edi
call fcn.00401000
cmp edi, eax
jb 0x402d31
jmp 0x402db2
mov eax, dword [esp + 0x544]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.00402740
mov eax, dword [eax]
push eax
push str._____UnmanagedFunctionPointerAttribute_CallingConvention.StdCall__CharSet__CharSet._s___r_n
push ebx
call fcn.0042d843
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x402df1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.____private_delegate_int_TypeReleaseObj_int__obj___r_n
push ebx
call fcn.0042d843
push str.____public_void_ReleaseObj___r_n
push ebx
call fcn.0042d843
push 0x448078
push ebx
call fcn.0042d843
push str.________if__obj___0__r_n
push ebx
call fcn.0042d843
push str._________r_n
push ebx
call fcn.0042d843
mov ecx, dword [esp + 0x3c]
push ecx
push str.____________TypeReleaseObj__ReleaseObj___TypeReleaseObj_Marshal.GetDelegateForFunctionPointer__IntPtr__hmodule___d___typeof_TypeReleaseObj____r_n
push ebx
call fcn.0042d843
push str._____________ReleaseObj_obj___r_n
push ebx
call fcn.0042d843
push str.____________obj__0__r_n
push ebx
call fcn.0042d843
add esp, 0x44
push 0x447f2c
push ebx
call fcn.0042d843
push str._____r_n_r_n
push ebx
call fcn.0042d843
mov edx, dword [esp + 0x3c]
push edx
push str._____s___r_n
push ebx
call fcn.0042d843
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
add esp, 0x34
mov ecx, esi
mov dword [esp + 0x24], 0
call fcn.00401000
test eax, eax
jbe 0x40341b
mov dword [esp + 0x18], 0
lea ebx, [ebx]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
test eax, eax
je 0x402ee7
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 + 0x24], eax
jb 0x402eec
call fcn.0042d299
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 4]
add esi, dword [esp + 0x18]
mov ecx, 0x143
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
jmp 0x402f10
mov cl, byte [esp + eax + 0x3c]
mov byte [esp + eax + 0x54c], cl
add eax, 1
test cl, cl
jne 0x402f10
mov edi, str.CreateObj
lea esi, [esp + 0x54c]
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4033f7
mov edi, str.ReleaseObj
lea esi, [esp + 0x54c]
mov ecx, 0xb
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4033f7
mov edi, str.SetRet64ToPointer
lea esi, [esp + 0x54c]
mov ecx, 0x12
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4033f7
mov edi, str.SetPointer
lea esi, [esp + 0x54c]
mov ecx, 0xb
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4033f7
mov edi, 0x447ef8
lea esi, [esp + 0x54c]
mov ecx, 0xf
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4033f7
mov edi, 0x447ee8
lea esi, [esp + 0x54c]
mov ecx, 0xf
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4033f7
mov ecx, dword [ebp + 0x18]
push ecx
lea edx, [esp + 0x34]
push edx
call fcn.00402740
mov eax, dword [eax]
push eax
push str._____UnmanagedFunctionPointerAttribute_CallingConvention.StdCall__CharSet__CharSet._s___r_n
push ebx
call fcn.0042d843
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403003
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.____public_delegate
push ebx
call fcn.0042d843
mov eax, dword [esp + 0x548]
add esp, 8
cmp eax, 3
jne 0x40302c
lea ecx, [esp + 0x54c]
push ecx
push str.int_Type_s_int__obj
jmp 0x40307a
cmp eax, 0x14
jne 0x403040
lea edx, [esp + 0x54c]
push edx
push str.long_Type_s_int__obj
jmp 0x40307a
cmp eax, 8
jne 0x403054
lea eax, [esp + 0x54c]
push eax
push str.IntPtr_Type_s_int__obj
jmp 0x40307a
cmp eax, 4
jne 0x403068
lea ecx, [esp + 0x54c]
push ecx
push str.float_Type_s_int__obj
jmp 0x40307a
cmp eax, 5
jne 0x403083
lea edx, [esp + 0x54c]
push edx
push str.double_Type_s_int__obj
push ebx
call fcn.0042d843
add esp, 0xc
xor eax, eax
cmp dword [esp + 0xbc], eax
mov dword [esp + 0x14], eax
jle 0x403154
lea esi, [esp + 0xc0]
mov dword [esp + 0x10], esi
mov eax, dword [esp + eax*4 + 0x4c0]
cmp eax, 3
jne 0x4030ed
mov edi, dword [esp + 0x10]
mov esi, 0x448740
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4030d7
mov ecx, dword [esp + 0x10]
push ecx
push str._int___s
push ebx
call fcn.0042d843
mov esi, dword [esp + 0x1c]
jmp 0x403132
mov edx, dword [esp + 0x10]
push edx
push str._int__s
push ebx
call fcn.0042d843
mov esi, dword [esp + 0x1c]
jmp 0x403132
cmp eax, 0x14
jne 0x4030fa
push esi
push str._long__s
jmp 0x40312c
cmp eax, 4
jne 0x403107
push esi
push str._float__s
jmp 0x40312c
cmp eax, 5
jne 0x403114
push esi
push str._double__s
jmp 0x40312c
cmp eax, 8
jne 0x403121
push esi
push str._string__s
jmp 0x40312c
cmp eax, 0x1a
jne 0x403135
push esi
push str._out_int__s
push ebx
call fcn.0042d843
add esp, 0xc
mov eax, dword [esp + 0x14]
add eax, 1
add esi, 0x20
cmp eax, dword [esp + 0xbc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
jl 0x4030a1
push 0x4486e8
push ebx
call fcn.0042d843
push str.____public
push ebx
call fcn.0042d843
mov eax, dword [esp + 0x550]
add esp, 0x10
cmp eax, 3
jne 0x403188
lea eax, [esp + 0x54c]
push eax
push str.int__s_
jmp 0x4031d6
cmp eax, 0x14
jne 0x40319c
lea ecx, [esp + 0x54c]
push ecx
push str.long__s_
jmp 0x4031d6
cmp eax, 8
jne 0x4031b0
lea edx, [esp + 0x54c]
push edx
push str.string__s_
jmp 0x4031d6
cmp eax, 4
jne 0x4031c4
lea eax, [esp + 0x54c]
push eax
push str.float__s_
jmp 0x4031d6
cmp eax, 5
jne 0x4031df
lea ecx, [esp + 0x54c]
push ecx
push str.double__s_
push ebx
call fcn.0042d843
add esp, 0xc
xor edi, edi
cmp dword [esp + 0xbc], edi
mov dword [esp + 0x14], edi
jle 0x4032d3
lea esi, [esp + 0xc0]
mov dword [esp + 0x10], esi
lea ecx, [ecx]
mov eax, dword [esp + edi*4 + 0x4c0]
cmp eax, 3
jne 0x403254
mov edi, dword [esp + 0x10]
mov esi, 0x448740
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x40323a
mov eax, dword [esp + 0x10]
push eax
push str.int___s
push ebx
call fcn.0042d843
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
jmp 0x403299
mov ecx, dword [esp + 0x10]
push ecx
push str.int__s
push ebx
call fcn.0042d843
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
jmp 0x403299
cmp eax, 0x14
jne 0x403261
push esi
push 0x447e94
jmp 0x403293
cmp eax, 4
jne 0x40326e
push esi
push str.float__s
jmp 0x403293
cmp eax, 5
jne 0x40327b
push esi
push str.double__s
jmp 0x403293
cmp eax, 8
jne 0x403288
push esi
push str.string__s
jmp 0x403293
cmp eax, 0x1a
jne 0x40329c
push esi
push str.out_int__s
push ebx
call fcn.0042d843
add esp, 0xc
mov edx, dword [esp + 0xbc]
add edx, 0xffffffff
cmp edi, edx
jge 0x4032b8
push 0x447870
push ebx
call fcn.0042d843
add esp, 8
add edi, 1
add esi, 0x20
cmp edi, dword [esp + 0xbc]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
jl 0x403200
push 0x44786c
push ebx
call fcn.0042d843
push 0x448078
push ebx
call fcn.0042d843
mov ecx, dword [esp + 0x554]
lea eax, [esp + 0x55c]
push eax
push ecx
mov edx, eax
push edx
push eax
push str.________Type_s_fun___Type_s_Marshal.GetDelegateForFunctionPointer__IntPtr__hmodule___d___typeof_Type_s____r_n
push ebx
call fcn.0042d843
add esp, 0x28
cmp dword [esp + 0x540], 8
jne 0x403329
cmp dword [ebp + 0x18], 0
je 0x403322
push str.________return_Marshal.PtrToStringUni_fun_obj
jmp 0x40332e
push str.________return_Marshal.PtrToStringAnsi_fun_obj
jmp 0x40332e
push str.________return_fun_obj
push ebx
call fcn.0042d843
add esp, 8
cmp dword [esp + 0xbc], 0
mov dword [esp + 0x14], 0
jle 0x4033c6
lea ecx, [esp + 0xc0]
mov dword [esp + 0x10], ecx
jmp 0x403360
mov edi, dword [esp + 0x10]
mov esi, 0x448740
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x403380
mov eax, dword [esp + 0x10]
push eax
push 0x4485f0
jmp 0x4033a4
mov ecx, dword [esp + 0x14]
cmp dword [esp + ecx*4 + 0x4c0], 0x1a
jne 0x40339a
mov edx, dword [esp + 0x10]
push edx
push str._out__s
jmp 0x4033a4
mov eax, dword [esp + 0x10]
push eax
push 0x4485e4
push ebx
call fcn.0042d843
mov eax, dword [esp + 0x20]
add dword [esp + 0x1c], 0x20
add eax, 1
add esp, 0xc
cmp eax, dword [esp + 0xbc]
mov dword [esp + 0x14], eax
jl 0x403360
cmp dword [esp + 0x540], 8
jne 0x4033de
push 0x4485e0
push ebx
call fcn.0042d843
add esp, 8
push 0x4486e8
push ebx
call fcn.0042d843
push str._____r_n_r_n
push ebx
call fcn.0042d843
add esp, 0x10
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x18], 0x50c
add esi, 1
mov dword [esp + 0x24], esi
call fcn.00401000
cmp esi, eax
jb 0x402ec0
push 0x447b60
push ebx
call fcn.0042d843
push ebx
call fcn.0042d7c7
mov edi, dword [ebp + 0x1c]
add esp, 0xc
test edi, edi
je 0x40352b
push 0x4485d0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.00401770
mov eax, dword [eax]
push eax
mov ebx, 1
push 0x8d
mov byte [esp + 0x5b4], 4
mov dword [esp + 0x2c], ebx
call fcn.0040b070
add esp, 0x14
test eax, eax
je 0x4034b4
push str.MemoryModule.rar
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.00401770
mov eax, dword [eax]
push eax
mov ebx, 3
push 0x94
mov dword [esp + 0x5b4], 5
mov dword [esp + 0x2c], ebx
call fcn.0040b070
add esp, 0x14
test eax, eax
mov byte [esp + 0x2b], 0
jne 0x4034b9
mov byte [esp + 0x2b], 1
test bl, 2
mov dword [esp + 0x5a0], 4
je 0x4034f0
mov eax, dword [esp + 0x30]
and ebx, 0xfffffffd
add eax, 0xfffffff0
mov dword [esp + 0x18], ebx
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4034f0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, 1
mov dword [esp + 0x5a0], 3
je 0x403520
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403520
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp byte [esp + 0x2b], 0
jne 0x4028d3
push 0x447828
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x40]
push edx
call fcn.00401770
mov eax, dword [esp + 0x44]
push 0x44796c
push eax
mov byte [esp + 0x5b4], 6
call fcn.0042da56
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x403590
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x5a0], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4028d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4028d3
push 0x447b30
push esi
call fcn.0042d843
push 0x447ac8
push esi
call fcn.0042d843
push 0x447a78
push esi
call fcn.0042d843
push 0x447a20
push esi
call fcn.0042d843
add esp, 0x20
test edi, edi
jne 0x4035d8
mov ebx, dword [esp + 0x2c]
push ebx
push str._s.LoadDm_
push esi
call fcn.0042d843
add esp, 0xc
jmp 0x403622
push 0x448560
push esi
call fcn.0042d843
push 0x448510
push esi
call fcn.0042d843
push 0x4484b0
push esi
call fcn.0042d843
push 0x448458
push esi
call fcn.0042d843
push 0x448430
push esi
call fcn.0042d843
mov ebx, dword [esp + 0x54]
push ebx
push str._s.LoadDmMemory_
push esi
call fcn.0042d843
add esp, 0x34
push ebx
push ebx
push str._s_dm__new__s______
push esi
call fcn.0042d843
push str.MessageBox.Show_dm.Ver_____r_n
push esi
call fcn.0042d843
push str.dm.ReleaseObj____r_n
push esi
call fcn.0042d843
add esp, 0x20
test edi, edi
jne 0x40365b
push ebx
push str._s.FreeDm____r_n
push esi
call fcn.0042d843
add esp, 0xc
push 0x447994
push esi
call fcn.0042d843
add esp, 8
test edi, edi
je 0x403674
push 0x4483a8
jmp 0x403679
push 0x448388
push esi
call fcn.0042d843
add esp, 8
push str.string_dm_path___d:_aa.dll___r_n
push esi
call fcn.0042d843
add esp, 8
test edi, edi
je 0x4036af
push str.string_MemoryLoadPath___d:MemoryLoad.dll___r_n
push esi
call fcn.0042d843
push str.dmsoft.LoadDmMemory_File.ReadAllBytes_dm_path____int_new_FileInfo_dm_path_.Length__File.ReadAllBytes_MemoryLoadPath____int_new_FileInfo_MemoryLoadPath_.Length___r_n
push esi
call fcn.0042d843
add esp, 0x10
jmp 0x4036bd
push str.dmsoft.LoadDm_dm_path___r_n
push esi
call fcn.0042d843
add esp, 8
push str.try_r_n_r_n_r_n
push esi
call fcn.0042d843
push str.____Application.Run_new_FormMain_____r_n
push esi
call fcn.0042d843
push 0x447b60
push esi
call fcn.0042d843
push str.catch__MyException_ex__r_n_r_n
push esi
call fcn.0042d843
push str.____MessageBox.Show_ex.GetError_____r_n
push esi
call fcn.0042d843
push 0x447b60
push esi
call fcn.0042d843
add esp, 0x30
test edi, edi
jne 0x403716
push str.dmsoft.FreeDm____r_n
push esi
call fcn.0042d843
add esp, 8
jmp 0x40373a
push 0x4481b4
push esi
call fcn.0042d843
push 0x44818c
push esi
call fcn.0042d843
push str.GetBasePath
push esi
call fcn.0042d843
add esp, 0x18
push esi
call fcn.0042d7c7
push 0x447984
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.00401770
mov eax, dword [eax]
push eax
push 0x88
mov byte [esp + 0x5b8], 7
call fcn.0040b070
mov esi, eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
add esp, 0x18
mov byte [esp + 0x5a0], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403796
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
mov byte [esp + 0x5a0], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4037be
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0x5a0], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4037e6
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 dword [esp + 0x5a0], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403811
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x598]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x580]
xor ecx, esp
call fcn.0042d746
mov esp, ebp
pop ebp
ret