Function at 0x4076f1
Capabilities:
Parse credit card information
Set file attributes

Disassembly:
sub esp, 0x114
push ebp
push esi
xor esi, esi
push edi
xor edi, edi
inc esi
cmp dword [0x41a0b8], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
je 0x407722
cmp dword [esp + 0x124], edi
mov dword [0x41a12c], edi
je 0x407728
mov dword [0x41a12c], esi
mov ebp, 0x426968
push ebp
mov dword [0x426bc0], edi
mov dword [0x426bc4], edi
call fcn.00409230
cmp dword [esp + 0x128], edi
pop ecx
mov dword [0x426bc8], eax
je 0x40780e
mov cl, byte [0x426968]
test cl, cl
mov eax, ebp
je 0x407778
cmp byte [eax], 0x5c
jne 0x407766
mov byte [eax], 0x2f
push eax
call fcn.00408318
cmp byte [eax], 0
pop ecx
jne 0x40775e
mov cl, byte [0x426968]
cmp cl, 0x2f
mov dword [esp + 0xc], ebp
jne 0x40779a
mov dword [0x426bc4], esi
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], 0
mov dword [esp + 0xc], 0x426969
jmp 0x40780e
cmp dword [0x4191f0], esi
movzx eax, cl
jle 0x4077ba
push 0x103
push eax
call fcn.00409ea8
pop ecx
pop ecx
mov cl, byte [0x426968]
jmp 0x4077c9
mov edx, dword [str.________________________________H]
movzx eax, word [edx + eax*2]
and eax, 0x103
cmp eax, edi
je 0x40780e
cmp byte [0x426969], 0x3a
jne 0x40780e
cmp byte [0x42696a], 0x2f
mov dword [0x426bc4], esi
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], 0x3a
lea eax, [esp + 0x1e]
mov dword [esp + 0xc], 0x42696a
jne 0x40780b
mov byte [esp + 0x1e], 0x2f
lea eax, [esp + 0x1f]
mov dword [esp + 0xc], 0x42696b
mov byte [eax], 0
lea eax, [esp + 0x1c]
push esi
push eax
call fcn.004071a1
cmp eax, edi
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jne 0x407cb5
cmp dword [esp + 0x124], edi
push ebx
mov byte [esp + 0x20], 0
lea ebx, [esp + 0x20]
jne 0x407860
cmp dword [0x41a0c0], edi
je 0x407850
push 0x2f
push ebp
call fcn.0040a594
pop ecx
pop ecx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], edi
jne 0x40785c
mov dword [esp + 0x10], ebp
jmp 0x407860
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx esi, byte [eax]
test esi, esi
mov edi, 0x41a864
je 0x407a45
cmp esi, 0x3b
ja 0x407964
je 0x40795b
mov eax, esi
sub eax, 0x20
je 0x407936
dec eax
dec eax
je 0x4079d3
sub eax, 8
je 0x4079d3
sub eax, 5
je 0x4078ac
sub eax, 0xb
jmp 0x40797b
lea esi, [esp + 0x20]
mov byte [ebx], 0
call fcn.004069a1
mov eax, esi
push 0x415314
push eax
call fcn.00408290
test eax, eax
pop ecx
pop ecx
jne 0x4078d1
mov byte [esp + 0x20], al
jmp 0x407928
cmp dword [0x41a100], 0
jne 0x4078fb
lea eax, [esp + 0x20]
push 0x415524
push eax
call fcn.00408290
test eax, eax
pop ecx
pop ecx
jne 0x4078fb
mov byte [esp + 0x20], al
mov dword [esp + 0x1c], 1
cmp byte [esp + 0x20], 0
je 0x407928
lea eax, [esp + 0x20]
push 2
push eax
call fcn.004071a1
pop ecx
pop ecx
mov ecx, eax
and ecx, 0x7f00
cmp ecx, 0x100
mov dword [esp + 0x14], eax
jg 0x407cb4
and dword [esp + 0x18], 0
lea ebx, [esp + 0x20]
jmp 0x4079d7
cmp dword [0x41a0d8], 0
jne 0x4079d3
mov eax, ebp
call fcn.004067f6
neg eax
sbb eax, eax
test dword [0x426bd4], eax
jne 0x4079d3
mov byte [ebx], 0x20
jmp 0x4079d6
mov dword [esp + 0x18], ebx
mov byte [ebx], 0x3b
jmp 0x4079d6
cmp esi, 0x3c
je 0x4079d3
cmp esi, 0x3d
jbe 0x40797d
cmp esi, 0x3f
jbe 0x4079d3
cmp esi, 0x5c
je 0x4079d3
cmp esi, 0x7c
je 0x4079d3
cmp dword [0x4191f0], 1
jle 0x407995
push 0x157
push esi
call fcn.00409ea8
pop ecx
pop ecx
jmp 0x4079a3
mov eax, dword [str.________________________________H]
movzx eax, word [eax + esi*2]
and eax, 0x157
test eax, eax
jne 0x4079ac
cmp esi, 0x7f
jb 0x4079d7
push dword [0x4191f0]
push dword [esp + 0x14]
call fcn.0040909d
push eax
push dword [esp + 0x1c]
push ebx
call fcn.00408d60
push ebx
call fcn.00408318
add esp, 0x18
mov ebx, eax
jmp 0x4079d7
mov byte [ebx], 0x5f
inc ebx
push dword [esp + 0x10]
call fcn.00408318
movzx esi, byte [eax]
test esi, esi
pop ecx
mov dword [esp + 0x10], eax
jne 0x407874
xor eax, eax
cmp dword [esp + 0x1c], eax
je 0x407a45
cmp dword [0x41a0d4], eax
jne 0x407a45
push eax
push 0x41e864
push ebp
call fcn.00401aa5
push eax
push str.warning:__skipped__..___path_component_s__in__s_n
push edi
call fcn.00408233
add esp, 0x14
push eax
push edi
push 0x41a0a0
call dword [fcn.00426aa0]
add esp, 0x10
test dword [esp + 0x14], 0xffff80ff
jne 0x407a45
mov eax, dword [esp + 0x14]
and eax, 0x7f00
or eax, 1
mov dword [esp + 0x14], eax
push dword [0x426bc8]
push ebp
call fcn.00403fa2
cmp byte [eax], 0x2f
pop ecx
pop ecx
jne 0x407b76
push 4
push ebp
call fcn.004071a1
xor eax, eax
cmp dword [0x426bc0], eax
pop ecx
pop ecx
je 0x407b0a
cmp dword [0x41a0d4], eax
jne 0x407aa7
push eax
push 0x41e864
push ebp
call fcn.00401aa5
push eax
push str.___creating:___22s_n
push edi
call fcn.00408233
add esp, 0x14
push eax
push edi
push 0x41a0a0
call dword [fcn.00426aa0]
add esp, 0x10
mov eax, dword [0x41a860]
mov eax, dword [eax + 0x14]
test al, 0x6f
je 0x407af7
and eax, 0x7f
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x407af7
push 1
push 0x41e864
push ebp
call fcn.00401aa5
pop ecx
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._nwarning___d_:_could_not_set_file_attributes_for__s_n
push edi
call fcn.00408233
add esp, 0x10
push eax
push edi
push 0x41a0a0
call dword [fcn.00426aa0]
add esp, 0x10
mov eax, dword [esp + 0x14]
and eax, 0xffff90ff
or eax, 0x1000
jmp 0x407cb4
cmp dword [0x41a128], 1
jne 0x407b63
mov eax, dword [0x41a860]
mov eax, dword [eax + 0x14]
test al, 0x6f
je 0x407b63
and eax, 0x7f
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x407b63
push 1
push 0x41e864
push ebp
call fcn.00401aa5
pop ecx
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._nwarning___d_:_could_not_set_file_attributes_for__s_n
push edi
call fcn.00408233
add esp, 0x10
push eax
push edi
push 0x41a0a0
call dword [fcn.00426aa0]
add esp, 0x10
mov eax, dword [esp + 0x14]
and eax, 0xffff82ff
or eax, 0x200
jmp 0x407cb4
mov byte [ebx], 0
cmp dword [0x41a0f0], 0
jne 0x407bc1
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x407bc1
lea esi, [ebx + 1]
cmp dword [0x4191f0], 1
movzx eax, byte [esi]
jle 0x407ba5
push 4
push eax
call fcn.00409ea8
pop ecx
pop ecx
jmp 0x407bb2
mov ecx, dword [str.________________________________H]
movzx eax, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x407bb9
inc esi
jmp 0x407b8d
cmp byte [esi], 0
jne 0x407bc1
mov byte [ebx], 0
lea esi, [esp + 0x20]
call fcn.004069a1
cmp byte [esp + 0x20], 0
jne 0x407c10
push 1
push 0x41e864
push ebp
call fcn.00401aa5
push eax
push str.mapname:__conversion_of__s_failed_n
push edi
call fcn.00408233
add esp, 0x14
push eax
push edi
push 0x41a0a0
call dword [fcn.00426aa0]
mov eax, dword [esp + 0x24]
and eax, 0xffff83ff
add esp, 0x10
or eax, 0x300
jmp 0x407cb4
lea eax, [esp + 0x20]
push 3
push eax
call fcn.004071a1
push 4
push ebp
call fcn.004071a1
mov eax, dword [0x41a860]
add esp, 0x10
test byte [eax + 0x18], 0x20
je 0x407cb0
mov al, byte [0x426bcc]
add al, 0x60
mov byte [esp + 0x18], al
lea eax, [esp + 0x19]
push 0x41547c
push eax
call fcn.0040a640
cmp dword [0x41a0d4], 0
pop ecx
pop ecx
jne 0x407c88
push 0
push 0x41e864
push ebp
call fcn.00401aa5
push eax
lea eax, [esp + 0x28]
push eax
push str.labelling__s___22s_n
push edi
call fcn.00408233
add esp, 0x18
push eax
push edi
push 0x41a0a0
call dword [fcn.00426aa0]
add esp, 0x10
push ebp
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelA]
test eax, eax
jne 0x407b63
push 1
push str.mapname:__error_setting_volume_label_n
push edi
call fcn.00408233
pop ecx
pop ecx
jmp 0x407bed
mov eax, dword [esp + 0x14]
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x114
ret