Function at 0x414fe0
Capabilities:
Create directory
Delete file
Parse credit card information
Write file on windows

Disassembly:
sub esp, 0x150
mov eax, dword [0x5b0c20]
xor eax, esp
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x154]
push ebp
mov ebp, ecx
lea edx, [esp + 0xc]
mov dword [esp + 8], ebp
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x415008
lea eax, [esp + 0xc]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415020
sub eax, edx
mov ecx, eax
test ecx, ecx
jle 0x41507e
nop
mov al, byte [esp + ecx + 0xc]
cmp al, 0x5c
je 0x415074
cmp al, 0x2f
je 0x415074
cmp al, 0x22
je 0x415074
cmp al, 0x5b
je 0x415074
cmp al, 0x5d
je 0x415074
cmp al, 0x3a
je 0x415074
cmp al, 0x7c
je 0x415074
cmp al, 0x3c
je 0x415074
cmp al, 0x3e
je 0x415074
cmp al, 0x2b
je 0x415074
cmp al, 0x3d
je 0x415074
cmp al, 0x3b
je 0x415074
cmp al, 0x2c
je 0x415074
cmp al, 0x3f
je 0x415074
cmp al, 0x2a
je 0x415074
cmp al, 0x40
jne 0x415079
mov byte [esp + ecx + 0xc], 0x5f
dec ecx
test ecx, ecx
jg 0x415030
push 0x104
lea eax, [esp + 0x50]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [esp + 0x4c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415097
sub eax, edx
test eax, eax
jle 0x4150b5
cmp byte [esp + eax + 0x4c], 0x5c
je 0x4150b5
mov byte [esp + eax + 0x4c], 0
dec eax
test eax, eax
jg 0x4150a4
lea eax, [esp + 0x4c]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4150c0
mov ecx, dword [str.Themes]
mov dx, word [0x553430]
mov dword [eax], ecx
mov cl, byte [0x553432]
mov word [eax + 4], dx
lea edx, [esp + 0x4c]
push 0
push edx
mov byte [eax + 6], cl
call fcn.00526e12
add esp, 8
test eax, eax
je 0x415120
push 0
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x415120
pop ebp
mov ecx, dword [esp + 0x14c]
xor ecx, esp
call fcn.00524d83
add esp, 0x150
ret 4
push edi
lea edi, [esp + 0x50]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x415126
mov cx, word [0x553428]
lea eax, [esp + 0x10]
mov word [edi], cx
mov edx, eax
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415140
lea edi, [esp + 0x50]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x415150
mov ecx, eax
shr ecx, 2
push esi
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [esp + 0x54]
rep movsb byte es:[edi], byte [esi]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x415170
mov edx, dword [0x553420]
mov cl, byte [0x553424]
push 0
push 0
push 2
push 0
push 7
mov dword [eax], edx
push 0xc0000000
lea edx, [esp + 0x6c]
push edx
mov byte [eax + 4], cl
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4151b7
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
jmp 0x41525f
push ebx
lea esi, [ebp + 0x74]
mov ebp, dword [sym.imp.KERNEL32.dll_WriteFile]
xor ebx, ebx
push 0
lea eax, [esp + 0x14]
push eax
push 0x53
push esi
push edi
call ebp
test eax, eax
je 0x4151f8
inc ebx
add esi, 0x53
cmp ebx, 0x17
jl 0x4151c3
mov esi, dword [esp + 0x14]
push 0
lea edx, [esp + 0x14]
push edx
push 0x53
lea eax, [esi + 0x7e9]
push eax
push edi
call ebp
test eax, eax
jne 0x41520e
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x58]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor eax, eax
jmp 0x41525e
mov edx, dword [esi + 0x840]
mov eax, dword [esi + 0x83c]
push edx
push eax
lea ecx, [esp + 0x60]
push str._d__d
push ecx
call fcn.00525599
lea eax, [esp + 0x68]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415235
sub eax, edx
push 0
lea edx, [esp + 0x14]
push edx
push eax
lea eax, [esp + 0x64]
push eax
push edi
call ebp
push edi
test eax, eax
je 0x4151f9
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x158]
pop esi
pop edi
pop ebp
xor ecx, esp
call fcn.00524d83
add esp, 0x150
ret 4