Function at 0x402340
Capabilities:
Create directory

Disassembly:
mov al, byte [esp + 4]
sub esp, 0x10
push ebx
xor ebx, ebx
push ebp
push esi
cmp al, bl
push edi
je 0x40250b
lea edi, [ecx + 4]
push str.Plugin
lea eax, [esp + 0x14]
push edi
push eax
mov dword [esp + 0x30], edi
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, ebx
jne 0x40237b
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push ebx
push eax
call esi
push 1
lea ecx, [esp + 0x14]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push str.PluginThunder
lea ecx, [esp + 0x14]
push edi
push ecx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, ebx
jne 0x4023b0
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebx
push eax
call esi
push 1
lea ecx, [esp + 0x14]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push str.PluginThunderAtOnce
lea edx, [esp + 0x14]
push edi
push edx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, ebx
jne 0x4023df
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push ebx
push eax
call esi
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x402408
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4023ff
cmp al, 0xff
je 0x4023ff
dec al
mov byte [ecx], al
jmp 0x402408
push ecx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [str.Name]
mov ebp, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
cmp eax, ebx
je 0x40248d
mov edi, 0x407258
mov esi, edi
mov eax, dword [esp + 0x24]
push str.PluginThunderPlugin.ini
lea ecx, [esp + 0x14]
push eax
push ecx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, ebx
jne 0x402441
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov edx, dword [esi + 4]
push eax
mov eax, dword [edi]
push edx
push eax
push str.General
call ebp
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x402475
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x40246c
cmp al, 0xff
je 0x40246c
dec al
mov byte [ecx], al
jmp 0x402475
push ecx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esi + 8]
add esi, 8
cmp eax, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov edi, esi
jne 0x40241e
cmp dword [str.Name], ebx
je 0x40250b
mov edi, 0x4072a0
mov esi, edi
mov ecx, dword [esp + 0x24]
push str.PluginThunderAtOncePlugin.ini
lea edx, [esp + 0x14]
push ecx
push edx
call sub.MSVCP60.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__
mov eax, dword [eax + 4]
add esp, 0xc
cmp eax, ebx
jne 0x4024bf
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov ecx, dword [edi]
push eax
mov eax, dword [esi + 4]
push eax
push ecx
push str.General
call ebp
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x4024f3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x4024ea
cmp al, 0xff
je 0x4024ea
dec al
mov byte [ecx], al
jmp 0x4024f3
push ecx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esi + 8]
add esi, 8
cmp eax, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov edi, esi
jne 0x40249c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 4