Function at 0x437a60
Capabilities:
Create directory
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x492f23
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2744
call fcn.00478630
mov eax, dword [0x4ae680]
xor eax, esp
mov dword [esp + 0x2740], eax
push ebx
push esi
push edi
mov eax, dword [0x4ae680]
xor eax, esp
push eax
lea eax, [esp + 0x2758]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0045d928
xor edi, edi
call fcn.0043a3a0
call fcn.00438a90
mov eax, dword [esi + 0x1f14]
push edi
push 4
push 0xc5
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push str.CmdsRecord_
call fcn.0044c190
add eax, 0x260
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.004070a0
add esp, 0xc
mov dword [esp + 0x2760], edi
lea edi, [esi + 0xc0]
push eax
mov ecx, edi
call fcn.004077a0
mov dword [esp + 0x2760], 0xffffffff
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437b2a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [edi]
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
call fcn.0045ded3
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x437b4f
push 0x80004005
call fcn.00407700
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x10], eax
push str.12345678ACEF
lea ecx, [esi + 0x20a0]
mov dword [esp + 0x2764], 1
call fcn.0045b82f
call fcn.0044c190
push 0
lea ecx, [esp + 0x14]
call fcn.0044d7c0
lea ecx, [esp + 0x1c]
call fcn.0045e8c9
mov byte [esp + 0x2760], 2
mov edi, dword [esp + 0x10]
push 0
push edi
lea ecx, [esp + 0x24]
call fcn.0045e95e
test eax, eax
jne 0x437c51
push str.CmdsRecord_
call fcn.0044c190
add eax, 0x260
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.004070a0
add esp, 0xc
push str.FirstConfig.cfg
push eax
lea edx, [esp + 0x20]
mov bl, 3
push edx
mov byte [esp + 0x276c], bl
call fcn.004070a0
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2764], 4
call fcn.004077a0
mov byte [esp + 0x2760], bl
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437c25
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2760], 2
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437c4d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x10]
push 0x49b083
push edi
call fcn.00476a04
add esp, 8
test eax, eax
setne al
test al, al
je 0x437cc9
push ecx
lea eax, [edi - 0x10]
mov dword [esp + 0x18], esp
mov ebx, esp
push eax
call fcn.00407730
add eax, 0x10
add esp, 4
mov dword [ebx], eax
mov byte [esp + 0x2764], 5
call fcn.0044c190
mov ecx, eax
mov byte [esp + 0x2764], 2
call fcn.0044d8f0
push 0x49b083
push edi
call fcn.00476a04
add esp, 8
test eax, eax
sete al
test al, al
je 0x437d74
push esi
call fcn.00440690
mov ecx, esi
call fcn.004389a0
jmp 0x437d74
push esi
call fcn.00440690
mov ecx, esi
call fcn.004389a0
push str.CmdsRecord_
call fcn.0044c190
add eax, 0x260
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.004070a0
add esp, 0xc
push 0x49d814
push eax
lea edx, [esp + 0x1c]
mov bl, 6
push edx
mov byte [esp + 0x276c], bl
call fcn.004070a0
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2764], 7
call fcn.004077a0
mov byte [esp + 0x2760], bl
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437d48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2760], 2
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437d70
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x10]
push edi
lea ecx, [esi + 0x1f48]
call fcn.0045b82f
mov ecx, dword [esi + 0x20]
push 0
push 0
push 0x800
push ecx
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [esi + 0x1da0], 0
mov dword [esp + 0x34], vtable.CCmdsMag.0
add edi, 0xfffffff0
push edi
mov byte [esp + 0x2764], 8
call fcn.00407730
add esp, 4
lea ebx, [eax + 0x10]
push ebx
push 0
push str.JetType
push str.JETTYPE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
add ebx, 0xfffffff0
mov byte [esi + 0xbd], al
lea edx, [ebx + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x437dee
mov ecx, dword [ebx]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push ebx
call eax
push edi
call fcn.00407730
add esp, 4
lea ebx, [eax + 0x10]
push ebx
push 0
push str.DPIType
push str.DPITYPE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov byte [esi + 0xb5], al
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437e2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push edi
call fcn.00407730
add esp, 4
lea ebx, [eax + 0x10]
push ebx
push 0
push str.FlashSel
push str.FlashSel
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [esi + 0x10d0], eax
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437e70
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, esi
call fcn.004389a0
mov ebx, esi
call fcn.00436610
call fcn.0043b8b0
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2760], 1
call fcn.0045e8ef
mov dword [esp + 0x2760], 0xffffffff
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437eb8
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
mov eax, 1
mov ecx, dword [esp + 0x2758]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2740]
xor ecx, esp
call fcn.00476352
mov esp, ebp
pop ebp
ret