Function at 0x401000
Capabilities:
Read .ini file
Set current directory

Disassembly:
test dword [0x412d88], 0xfffffe00
jne 0x401028
test dword [0x412d88], 0xffffffff
jne 0x4019e4
call fcn.0040ccac
jmp main
push ebx
mov ebx, esp
and esp, 0xfffffff0
push edi
push esi
push ebp
sub esp, 0x254
mov eax, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
mov esi, dword [ebx + 0x14]
mov dword [esp + 0x20], eax
mov edx, str.C:Program_Files3d_analyzer
pxor xmm4, xmm4
movq qword [edx], xmm4
movq qword [edx + 8], xmm4
movq qword [edx + 0x10], xmm4
movq qword [edx + 0x18], xmm4
movq qword [edx + 0x20], xmm4
movq qword [edx + 0x28], xmm4
movq qword [edx + 0x30], xmm4
movq qword [edx + 0x38], xmm4
movq qword [edx + 0x40], xmm4
movq qword [edx + 0x48], xmm4
movq qword [edx + 0x50], xmm4
movq qword [edx + 0x58], xmm4
movq qword [edx + 0x60], xmm4
movq qword [edx + 0x68], xmm4
movq qword [edx + 0x70], xmm4
movq qword [edx + 0x78], xmm4
movq qword [edx + 0x80], xmm4
movq qword [edx + 0x88], xmm4
movq qword [edx + 0x90], xmm4
movq qword [edx + 0x98], xmm4
movq qword [edx + 0xa0], xmm4
movq qword [edx + 0xa8], xmm4
movq qword [edx + 0xb0], xmm4
movq qword [edx + 0xb8], xmm4
movq qword [edx + 0xc0], xmm4
movq qword [edx + 0xc8], xmm4
movq qword [edx + 0xd0], xmm4
movq qword [edx + 0xd8], xmm4
movq qword [edx + 0xe0], xmm4
movq qword [edx + 0xe8], xmm4
movq qword [edx + 0xf0], xmm4
movq qword [edx + 0xf8], xmm4
movq qword [edx + 0x100], xmm4
movq qword [edx + 0x108], xmm4
movq qword [edx + 0x110], xmm4
movq qword [edx + 0x118], xmm4
movq qword [edx + 0x120], xmm4
movq qword [edx + 0x128], xmm4
movq qword [edx + 0x130], xmm4
movq qword [edx + 0x138], xmm4
movq qword [edx + 0x140], xmm4
movq qword [edx + 0x148], xmm4
movq qword [edx + 0x150], xmm4
movq qword [edx + 0x158], xmm4
movq qword [edx + 0x160], xmm4
movq qword [edx + 0x168], xmm4
movq qword [edx + 0x170], xmm4
movq qword [edx + 0x178], xmm4
movq qword [edx + 0x180], xmm4
movq qword [edx + 0x188], xmm4
movq qword [edx + 0x190], xmm4
movq qword [edx + 0x198], xmm4
movq qword [edx + 0x1a0], xmm4
movq qword [edx + 0x1a8], xmm4
movq qword [edx + 0x1b0], xmm4
movq qword [edx + 0x1b8], xmm4
movq qword [edx + 0x1c0], xmm4
movq qword [edx + 0x1c8], xmm4
movq qword [edx + 0x1d0], xmm4
movq qword [edx + 0x1d8], xmm4
movq qword [edx + 0x1e0], xmm4
movq qword [edx + 0x1e8], xmm4
movq qword [edx + 0x1f0], xmm4
movq qword [edx + 0x1f8], xmm4
push 0x200
push str.C:Program_Files3d_analyzer
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.C:Program_Files3d_analyzer
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edx, [eax - 1]
test edx, edx
jl 0x4012ee
add eax, 0xffffffff
cmp eax, 6
jl 0x4012d3
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], edi
mov al, byte [edx + str.C:Program_Files3d_analyzer]
lea ecx, [edx + str.C:Program_Files3d_analyzer]
cmp al, 0x5c
je 0x4019b0
lea ecx, [edx + 0x41091f]
lea eax, [edx - 1]
mov dl, byte [edx + 0x41091f]
cmp dl, 0x5c
je 0x4019d8
mov dl, byte [eax + 0x41091f]
lea ecx, [eax + 0x41091f]
cmp dl, 0x5c
je 0x4019ce
mov dl, byte [eax + 0x41091e]
lea ecx, [eax + 0x41091e]
cmp dl, 0x5c
je 0x4019c4
mov dl, byte [eax + 0x41091d]
lea ecx, [eax + 0x41091d]
cmp dl, 0x5c
je 0x4019ba
lea edx, [eax - 4]
cmp edx, 6
jge 0x401258
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov al, byte [edx + str.C:Program_Files3d_analyzer]
lea ecx, [edx + str.C:Program_Files3d_analyzer]
cmp al, 0x5c
je 0x4019a8
add edx, 0xffffffff
test edx, edx
jge 0x4012d3
push str.C:Program_Files3d_analyzer
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
movdqa xmm3, xmmword [str.z_fz9fodlwh2qr]
pxor xmm3, xmmword [section..data1]
mov al, byte [0x40e060]
mov dl, byte [0x40e061]
mov cl, byte [0x40e062]
movdqa xmmword [0x412da0], xmm3
xor al, 0x1a
xor dl, 0x1b
mov byte [0x412db6], 0
mov byte [0x412db0], al
mov al, byte [0x40e063]
push 0x4152b0
mov byte [0x412db1], dl
push 0x410b20
xor cl, 0x1c
xor al, 0x1d
mov byte [0x412db2], cl
mov byte [0x412db3], al
mov al, byte [0x40e064]
xor al, 0x1e
mov byte [0x412db4], al
mov al, byte [0x40e065]
xor al, 0x1f
mov byte [0x412db5], al
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x41525c
push 0x410d20
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4152dc
push 0x410f20
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x41527c
push 0x411120
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x4013ed
push edi
xor ebp, ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x4013ed
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], edi
mov edx, dword [esp + 0x14]
lea esi, [edx + ebp]
mov al, byte [esi]
cmp al, 0x2f
je 0x401521
mov eax, dword [esp + 0x14]
push eax
add ebp, 1
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebp, eax
jl 0x4013c6
mov esi, dword [esp + 0x1c]
push esi
mov eax, dword [esp + 0x24]
push eax
call fcn.004066f0
add esp, 8
test eax, eax
jne 0x401410
xor eax, eax
add esp, 0x254
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret 0x10
push 0x41525c
push 0x410d20
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x401499
mov byte [0x412b98], 1
push 0x410f20
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0xffffffff
test eax, eax
jl 0x40145d
mov cl, byte [eax + 0x410f20]
lea edx, [eax + 0x410f20]
cmp cl, 0x20
je 0x401453
cmp cl, 0x5c
jne 0x40145d
mov byte [edx], 0
add eax, 0xffffffff
test eax, eax
jge 0x40143d
push 0x411120
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0xffffffff
test eax, eax
jl 0x40148f
mov cl, byte [eax + 0x411120]
lea edx, [eax + 0x411120]
cmp cl, 0x20
je 0x401485
cmp cl, 0x5c
jne 0x40148f
mov byte [edx], 0
add eax, 0xffffffff
test eax, eax
jge 0x40146f
mov eax, dword [0x412d90]
call fcn.00405604
lea edx, [esp + 0x230]
xor eax, eax
push eax
push eax
push eax
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x40150b
mov al, byte [0x412b98]
test al, al
je 0x4014d8
mov eax, 1
push eax
push eax
push 0x111
push dword [0x412d90]
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [0x412b98], 0
lea eax, [esp + 0x230]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x230]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
lea edx, [esp + 0x230]
xor eax, eax
push eax
push eax
push eax
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x4014b0
mov eax, dword [esp + 0x238]
add esp, 0x254
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret 0x10
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edx, [ebp + 5]
mov dword [esp + 0x18], edx
cmp eax, edx
jle 0x4013d7
movsx edx, byte [esi + 1]
add edx, 0x20
cmp edx, 0x65
je 0x401745
cmp edx, 0x65
je 0x40169b
cmp edx, 0x68
je 0x40160a
cmp edx, 0x64
jne 0x4013d7
movsx eax, byte [esi + 2]
add eax, 0x20
cmp eax, 0x6c
jne 0x4013d7
movsx eax, byte [esi + 3]
add eax, 0x20
cmp eax, 0x6c
jne 0x4013d7
mov al, byte [esi + 4]
cmp al, 0x3d
jne 0x4013d7
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
xor ebp, ebp
lea esi, [ecx + edx]
mov al, byte [esi]
cmp al, 0x2f
je 0x4015f8
mov eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [esp + 0x18]
cmp edx, eax
jge 0x4015f8
mov dword [esp + 0x10], ebp
mov ebp, edx
mov edi, dword [esp + 0x10]
mov dl, byte [esi]
mov esi, dword [esp + 0x14]
mov byte [edi + 0x411120], dl
add ebp, 1
mov byte [edi + 0x411121], 0
add edi, 1
lea esi, [esi + ebp]
mov al, byte [esi]
mov dword [esp + 0x10], edi
cmp al, 0x2f
je 0x401604
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebp, eax
jl 0x4015bb
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x18]
lea ebp, [eax - 1]
jmp 0x4013d7
mov dword [esp + 0x18], ebp
jmp 0x4015f8
movsx eax, byte [esi + 2]
add eax, 0x20
cmp eax, 0x6f
jne 0x40155d
movsx eax, byte [esi + 3]
add eax, 0x20
cmp eax, 0x6f
jne 0x40155d
movsx eax, byte [esi + 4]
add eax, 0x20
cmp eax, 0x6b
jne 0x40155d
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov al, byte [ecx + edx]
cmp al, 0x2f
je 0x40167e
mov eax, edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [esp + 0x18]
cmp edx, eax
jge 0x40167e
mov esi, edx
mov ebp, dword [esp + 0x14]
mov al, byte [esi + ebp + 1]
add esi, 1
cmp al, 0x2f
je 0x401691
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jl 0x401660
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
mov eax, dword [esp + 0x18]
mov byte [0x412b94], 1
lea ebp, [eax - 1]
jmp 0x4013d7
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebp
jmp 0x40167e
movsx eax, byte [esi + 2]
add eax, 0x20
cmp eax, 0x78
jne 0x401554
movsx eax, byte [esi + 3]
add eax, 0x20
cmp eax, 0x65
jne 0x401554
mov al, byte [esi + 4]
cmp al, 0x32
jne 0x401554
mov al, byte [esi + 5]
cmp al, 0x3d
jne 0x401554
mov edx, dword [esp + 0x14]
mov al, byte [ebp + edx + 6]
lea esi, [ebp + 6]
xor edi, edi
lea ecx, [edx + ebp + 6]
cmp al, 0x2f
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], ecx
je 0x40173d
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jge 0x40173d
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov dl, byte [ebp]
mov ebp, dword [esp + 0x14]
mov byte [edi + 0x410b20], dl
add esi, 1
mov byte [edi + 0x410b21], 0
add edi, 1
lea ebp, [ebp + esi]
mov al, byte [ebp]
mov dword [esp + 0x18], edi
cmp al, 0x2f
je 0x40173d
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jl 0x401701
lea ebp, [esi - 1]
jmp 0x4013d7
movsx eax, byte [esi + 2]
add eax, 0x20
cmp eax, 0x78
jne 0x40154b
movsx eax, byte [esi + 3]
add eax, 0x20
cmp eax, 0x65
jne 0x40154b
mov al, byte [esi + 4]
cmp al, 0x3d
jne 0x40154b
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov al, byte [ecx + edx]
xor ebp, ebp
lea esi, [edx + ecx]
cmp al, 0x2f
je 0x4017de
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [esp + 0x18]
cmp edx, eax
jge 0x4017de
mov dword [esp + 0x10], ebp
mov ebp, edx
mov edi, dword [esp + 0x10]
mov dl, byte [esi]
mov esi, dword [esp + 0x14]
mov byte [edi + 0x410d20], dl
add ebp, 1
mov byte [edi + 0x410d21], 0
add edi, 1
lea esi, [esi + ebp]
mov al, byte [esi]
mov dword [esp + 0x10], edi
cmp al, 0x2f
je 0x40199f
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebp, eax
jl 0x40179d
mov dword [esp + 0x18], ebp
push 0x410d20
push 0x410f20
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x410f20
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0xffffffff
test eax, eax
jl 0x401818
mov cl, byte [eax + 0x410f20]
lea edx, [eax + 0x410f20]
cmp cl, 0x5c
je 0x401824
add eax, 0xffffffff
test eax, eax
jge 0x401800
mov eax, dword [esp + 0x18]
lea ebp, [eax - 1]
jmp 0x4013d7
mov byte [edx], 0
push 0x410f20
push 0x411120
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
call fcn.004021f4
lea eax, [esp + 0x30]
push 0x4150d0
push 0x411120
push 0x4150c8
push eax
call fcn.0040677c
add esp, 0x10
lea eax, [esp + 0x30]
push eax
push 0
push 0x4150ec
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x30]
push ebp
push 0
mov ecx, 1
push 0x4150fc
push 0x4150e0
xor edx, edx
cmp eax, 0
cmovne edx, ecx
mov byte [0x412b90], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x30]
push ebp
push 0
mov ecx, 1
push 0x41510c
push 0x4150e0
xor edx, edx
cmp eax, 0
cmovne edx, ecx
mov byte [0x412b34], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x30]
push ebp
push 0
mov ecx, 1
push 0x41511c
push 0x4150e0
xor edx, edx
cmp eax, 0
cmovne edx, ecx
mov byte [0x412b2c], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x30]
push ebp
push 0
mov ecx, 1
push 0x41512c
push 0x4150e0
xor edx, edx
cmp eax, 0
cmovne edx, ecx
mov byte [0x40e06c], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x30]
push ebp
push 0
mov ecx, 1
push 0x415138
push 0x4150e0
xor edx, edx
cmp eax, 0
cmovne edx, ecx
mov byte [0x412b30], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x30]
push ebp
push 0
mov ecx, 1
push 0x41514c
push 0x4150e0
xor edx, edx
cmp eax, 0
cmovne edx, ecx
mov byte [0x412b24], dl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x412b88], eax
lea eax, [esp + 0x30]
push eax
push 0
push 0x415158
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, 1
xor edx, edx
cmp eax, 0
cmovne edx, ecx
mov byte [0x412b8c], dl
jmp 0x401818
mov dword [esp + 0x18], ebp
jmp 0x4017de
mov byte [ecx], 0
jmp 0x4012ee
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x4019a8
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x4019a8
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x4019a8
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x4019a8
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
jmp 0x4019a8
push ebx
mov ebx, esp
and esp, 0xfffffff0
push edi
push esi
push ebp
sub esp, 0x244
mov ebp, dword [ebx + 0x10]
mov edi, str.C:Program_Files3d_analyzer
xor eax, eax
mov ecx, 0x80
rep stosd dword es:[edi], eax
push 0x200
push str.C:Program_Files3d_analyzer
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.C:Program_Files3d_analyzer
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edx, [eax - 1]
test edx, edx
jl 0x401ac5
add eax, 0xffffffff
cmp eax, 6
jl 0x401aaa
mov al, byte [edx + str.C:Program_Files3d_analyzer]
lea ecx, [edx + str.C:Program_Files3d_analyzer]
cmp al, 0x5c
je 0x4021db
lea ecx, [edx + 0x41091f]
lea eax, [edx - 1]
mov dl, byte [edx + 0x41091f]
cmp dl, 0x5c
je 0x4021ef
mov dl, byte [eax + 0x41091f]
lea ecx, [eax + 0x41091f]
cmp dl, 0x5c
je 0x4021ea
mov dl, byte [eax + 0x41091e]
lea ecx, [eax + 0x41091e]
cmp dl, 0x5c
je 0x4021e5
mov dl, byte [eax + 0x41091d]
lea ecx, [eax + 0x41091d]
cmp dl, 0x5c
je 0x4021e0
lea edx, [eax - 4]
cmp edx, 6
jge 0x401a34
mov ebp, dword [ebx + 0x10]
mov al, byte [edx + str.C:Program_Files3d_analyzer]
lea ecx, [edx + str.C:Program_Files3d_analyzer]
cmp al, 0x5c
je 0x4021d3
add edx, 0xffffffff
test edx, edx
jge 0x401aaa
push str.C:Program_Files3d_analyzer
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov al, byte [str.z_fz9fodlwh2qr]
mov dl, byte [0x40e051]
mov cl, byte [0x40e052]
xor al, 0xa
xor dl, 0xb
xor cl, 0xc
mov byte [0x412db6], 0
mov byte [0x412da0], al
mov al, byte [0x40e053]
push 0x4152b0
mov byte [0x412da1], dl
push 0x410b20
mov byte [0x412da2], cl
xor al, 0xd
mov byte [0x412da3], al
mov al, byte [0x40e054]
xor al, 0xe
mov byte [0x412da4], al
mov al, byte [0x40e055]
xor al, 0xf
mov byte [0x412da5], al
mov al, byte [0x40e056]
xor al, 0x10
mov byte [0x412da6], al
mov al, byte [0x40e057]
xor al, 0x11
mov byte [0x412da7], al
mov al, byte [0x40e058]
xor al, 0x12
mov byte [0x412da8], al
mov al, byte [0x40e059]
xor al, 0x13
mov byte [0x412da9], al
mov al, byte [0x40e05a]
xor al, 0x14
mov byte [0x412daa], al
mov al, byte [0x40e05b]
xor al, 0x15
mov byte [0x412dab], al
mov al, byte [0x40e05c]
xor al, 0x16
mov byte [0x412dac], al
mov al, byte [0x40e05d]
xor al, 0x17
mov byte [0x412dad], al
mov al, byte [0x40e05e]
xor al, 0x18
mov byte [0x412dae], al
mov al, byte [0x40e05f]
xor al, 0x19
mov byte [0x412daf], al
mov al, byte [0x40e060]
xor al, 0x1a
mov byte [0x412db0], al
mov al, byte [0x40e061]
xor al, 0x1b
mov byte [0x412db1], al
mov al, byte [0x40e062]
xor al, 0x1c
mov byte [0x412db2], al
mov al, byte [0x40e063]
xor al, 0x1d
mov byte [0x412db3], al
mov al, byte [0x40e064]
xor al, 0x1e
mov byte [0x412db4], al
mov al, byte [0x40e065]
xor al, 0x1f
mov byte [0x412db5], al
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x41525c
push 0x410d20
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x4152dc
push 0x410f20
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x41527c
push 0x411120
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x401c5f
push ebp
xor edi, edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x401c5f
mov edx, dword [ebx + 0x10]
lea ebp, [edx + edi]
mov al, byte [ebp]
cmp al, 0x2f
je 0x401d93
mov eax, dword [ebx + 0x10]
push eax
add edi, 1
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp edi, eax
jl 0x401c3d
push dword [ebx + 0x14]
push dword [ebx + 8]
call fcn.004066f0
add esp, 8
test eax, eax
jne 0x401c82
xor eax, eax
add esp, 0x244
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret 0x10
push 0x41525c
push 0x410d20
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x401d0b
mov byte [0x412b98], 1
push 0x410f20
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0xffffffff
test eax, eax
jl 0x401ccf
mov cl, byte [eax + 0x410f20]
lea edx, [eax + 0x410f20]
cmp cl, 0x20
je 0x401cc5
cmp cl, 0x5c
jne 0x401ccf
mov byte [edx], 0
add eax, 0xffffffff
test eax, eax
jge 0x401caf
push 0x411120
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0xffffffff
test eax, eax
jl 0x401d01
mov cl, byte [eax + 0x411120]
lea edx, [eax + 0x411120]
cmp cl, 0x20
je 0x401cf7
cmp cl, 0x5c
jne 0x401d01
mov byte [edx], 0
add eax, 0xffffffff
test eax, eax
jge 0x401ce1
mov eax, dword [0x412d90]
call fcn.00405604
lea edx, [esp + 0x220]
xor eax, eax
push eax
push eax
push eax
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x401d7d
mov al, byte [0x412b98]
test al, al
je 0x401d4a
mov eax, 1
push eax
push eax
push 0x111
push dword [0x412d90]
call dword [sym.imp.USER32.dll_PostMessageA]
mov byte [0x412b98], 0
lea eax, [esp + 0x220]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x220]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
lea edx, [esp + 0x220]
xor eax, eax
push eax
push eax
push eax
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x401d22
mov eax, dword [esp + 0x228]
add esp, 0x244
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret 0x10
mov eax, dword [ebx + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edx, [edi + 5]
mov dword [esp + 0x14], edx
cmp eax, edx
jle 0x401c4e
movsx edx, byte [ebp + 1]
add edx, 0x20
cmp edx, 0x65
je 0x401f9e
cmp edx, 0x65
je 0x401ef8
cmp edx, 0x68
je 0x401e70
cmp edx, 0x64
jne 0x401c4e
movsx eax, byte [ebp + 2]
add eax, 0x20
cmp eax, 0x6c
jne 0x401c4e
movsx eax, byte [ebp + 3]
add eax, 0x20
cmp eax, 0x6c
jne 0x401c4e
mov al, byte [ebp + 4]
cmp al, 0x3d
jne 0x401c4e
mov edx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
xor esi, esi
lea ebp, [ecx + edx]
mov al, byte [ebp]
cmp al, 0x2f
je 0x401e64
mov eax, dword [ebx + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [esp + 0x14]
cmp edx, eax
jge 0x401e64
mov edi, dword [ebx + 0x10]
mov dl, byte [ebp]
mov ebp, dword [esp + 0x14]
mov byte [esi + 0x411120], dl
add ebp, 1
mov byte [esi + 0x411121], 0
mov dword [esp + 0x14], ebp
add esi, 1
lea ebp, [edi + ebp]
mov al, byte [ebp]
cmp al, 0x2f
je 0x401e64
mov eax, dword [ebx + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [esp + 0x14]
cmp edx, eax
jl 0x401e27
mov eax, dword [esp + 0x14]
lea edi, [eax - 1]
jmp 0x401c4e
movsx eax, byte [ebp + 2]
add eax, 0x20
cmp eax, 0x6f
jne 0x401dce
movsx eax, byte [ebp + 3]
add eax, 0x20
cmp eax, 0x6f
jne 0x401dce
movsx eax, byte [ebp + 4]
add eax, 0x20
cmp eax, 0x6b
jne 0x401dce
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
mov al, byte [ecx + edx]
cmp al, 0x2f
je 0x401edf
mov eax, dword [ebx + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [esp + 0x14]
cmp edx, eax
jge 0x401edf
mov esi, edx
mov ebp, dword [ebx + 0x10]
mov al, byte [esi + ebp + 1]
add esi, 1
cmp al, 0x2f
je 0x401ef2
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jl 0x401ec5
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x14]
mov byte [0x412b94], 1
lea edi, [eax - 1]
jmp 0x401c4e
mov dword [esp + 0x14], esi
jmp 0x401edf
movsx eax, byte [ebp + 2]
add eax, 0x20
cmp eax, 0x78
jne 0x401dc5
movsx eax, byte [ebp + 3]
add eax, 0x20
cmp eax, 0x65
jne 0x401dc5
mov al, byte [ebp + 4]
cmp al, 0x32
jne 0x401dc5
mov al, byte [ebp + 5]
cmp al, 0x3d
jne 0x401dc5
mov edx, dword [ebx + 0x10]
mov al, byte [edi + edx + 6]
lea esi, [edi + 6]
xor ebp, ebp
lea ecx, [edx + edi + 6]
cmp al, 0x2f
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
je 0x401f96
mov eax, dword [ebx + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jge 0x401f96
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov dl, byte [ebp]
mov ebp, dword [ebx + 0x10]
mov byte [edi + 0x410b20], dl
add esi, 1
mov byte [edi + 0x410b21], 0
add edi, 1
lea ebp, [ebp + esi]
mov al, byte [ebp]
mov dword [esp + 0x10], edi
cmp al, 0x2f
je 0x401f96
mov eax, dword [ebx + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp esi, eax
jl 0x401f5c
lea edi, [esi - 1]
jmp 0x401c4e
movsx eax, byte [ebp + 2]
add eax, 0x20
cmp eax, 0x78
jne 0x401dbc
movsx eax, byte [ebp + 3]
add eax, 0x20
cmp eax, 0x65
jne 0x401dbc
mov al, byte [ebp + 4]
cmp al, 0x3d
jne 0x401dbc
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
mov al, byte [ecx + edx]
xor ebp, ebp
lea esi, [edx + ecx]
cmp al, 0x2f
je 0x402033
mov eax, dword [ebx + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [esp + 0x14]
cmp edx, eax
jge 0x402033
mov dword [esp + 0x10], ebp
mov ebp, edx
mov edi, dword [esp + 0x10]
mov dl, byte [esi]
mov esi, dword [ebx + 0x10]
mov byte [edi + 0x410d20], dl
add ebp, 1
mov byte [edi + 0x410d21], 0
add edi, 1
lea esi, [esi + ebp]
mov al, byte [esi]
mov dword [esp + 0x10], edi
cmp al, 0x2f
je 0x4021ca
mov eax, dword [ebx + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cmp ebp, eax
jl 0x401ff4
mov dword [esp + 0x14], ebp
push 0x410d20
push 0x410f20
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x410f20
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, 0xffffffff
test eax, eax
jl 0x40206d
mov cl, byte [eax + 0x410f20]
lea edx, [eax + 0x410f20]
cmp cl, 0x5c
je 0x402079
add eax, 0xffffffff
test eax, eax
jge 0x402055
mov eax, dword [esp + 0x14]
lea edi, [eax - 1]
jmp 0x401c4e
mov byte [edx], 0
push 0x410f20
push 0x411120
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
call fcn.004021f4
lea eax, [esp + 0x20]
push 0x4150d0
push 0x411120
push 0x4150c8
push eax
call fcn.0040677c
add esp, 0x10
lea eax, [esp + 0x20]
push eax
push 0
push 0x4150ec
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x20]
push ebp
push 0
xor edx, edx
push 0x4150fc
test eax, eax
setne dl
mov byte [0x412b90], dl
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x20]
push ebp
push 0
xor edx, edx
push 0x41510c
test eax, eax
setne dl
mov byte [0x412b34], dl
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x20]
push ebp
push 0
xor edx, edx
push 0x41511c
test eax, eax
setne dl
mov byte [0x412b2c], dl
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x20]
push ebp
push 0
xor edx, edx
push 0x41512c
test eax, eax
setne dl
mov byte [0x40e06c], dl
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x20]
push ebp
push 0
xor edx, edx
push 0x415138
test eax, eax
setne dl
mov byte [0x412b30], dl
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea ebp, [esp + 0x20]
push ebp
push 0
xor edx, edx
push 0x41514c
test eax, eax
setne dl
mov byte [0x412b24], dl
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x412b88], eax
lea eax, [esp + 0x20]
push eax
push 0
push 0x415158
push 0x4150e0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
xor edx, edx
test eax, eax
setne dl
mov byte [0x412b8c], dl
jmp 0x40206d
mov dword [esp + 0x14], ebp
jmp 0x402033
mov byte [ecx], 0
jmp 0x401ac5
mov ebp, dword [ebx + 0x10]
jmp 0x4021d3
mov ebp, dword [ebx + 0x10]
jmp 0x4021d3
mov ebp, dword [ebx + 0x10]
jmp 0x4021d3
mov ebp, dword [ebx + 0x10]
jmp 0x4021d3
mov ebp, dword [ebx + 0x10]
jmp 0x4021d3