Function at 0x407921
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 [0x41a0d8], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
je 0x407952
cmp dword [esp + 0x124], edi
mov dword [0x41a148], edi
je 0x407958
mov dword [0x41a148], esi
mov ebp, 0x426984
push ebp
mov dword [0x426ad8], edi
mov dword [0x426adc], edi
call fcn.00409640
cmp dword [esp + 0x128], edi
pop ecx
mov dword [0x426ae0], eax
je 0x407a3e
mov cl, byte [0x426984]
test cl, cl
mov eax, ebp
je 0x4079a8
cmp byte [eax], 0x5c
jne 0x407996
mov byte [eax], 0x2f
push eax
call fcn.00408729
cmp byte [eax], 0
pop ecx
jne 0x40798e
mov cl, byte [0x426984]
cmp cl, 0x2f
mov dword [esp + 0xc], ebp
jne 0x4079ca
mov dword [0x426adc], esi
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], 0
mov dword [esp + 0xc], 0x426985
jmp 0x407a3e
cmp dword [0x4191f0], esi
movzx eax, cl
jle 0x4079ea
push 0x103
push eax
call fcn.0040a278
pop ecx
pop ecx
mov cl, byte [0x426984]
jmp 0x4079f9
mov edx, dword [str.________________________________H]
movzx eax, word [edx + eax*2]
and eax, 0x103
cmp eax, edi
je 0x407a3e
cmp byte [0x426985], 0x3a
jne 0x407a3e
cmp byte [0x426986], 0x2f
mov dword [0x426adc], esi
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], 0x3a
lea eax, [esp + 0x1e]
mov dword [esp + 0xc], 0x426986
jne 0x407a3b
mov byte [esp + 0x1e], 0x2f
lea eax, [esp + 0x1f]
mov dword [esp + 0xc], 0x426987
mov byte [eax], 0
lea eax, [esp + 0x1c]
push esi
push eax
call fcn.0040722a
cmp eax, edi
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jne 0x407ee5
cmp dword [esp + 0x124], edi
push ebx
mov byte [esp + 0x20], 0
lea ebx, [esp + 0x20]
jne 0x407a90
cmp dword [0x41a0e0], edi
je 0x407a80
push 0x2f
push ebp
call fcn.0040a704
pop ecx
pop ecx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], edi
jne 0x407a8c
mov dword [esp + 0x10], ebp
jmp 0x407a90
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx esi, byte [eax]
test esi, esi
mov edi, 0x41a880
je 0x407c75
cmp esi, 0x3b
ja 0x407b94
je 0x407b8b
mov eax, esi
sub eax, 0x20
je 0x407b66
dec eax
dec eax
je 0x407c03
sub eax, 8
je 0x407c03
sub eax, 5
je 0x407adc
sub eax, 0xb
jmp 0x407bab
lea esi, [esp + 0x20]
mov byte [ebx], 0
call fcn.004069c8
mov eax, esi
push 0x4153ac
push eax
call fcn.00408660
test eax, eax
pop ecx
pop ecx
jne 0x407b01
mov byte [esp + 0x20], al
jmp 0x407b58
cmp dword [0x41a11c], 0
jne 0x407b2b
lea eax, [esp + 0x20]
push 0x4155bc
push eax
call fcn.00408660
test eax, eax
pop ecx
pop ecx
jne 0x407b2b
mov byte [esp + 0x20], al
mov dword [esp + 0x1c], 1
cmp byte [esp + 0x20], 0
je 0x407b58
lea eax, [esp + 0x20]
push 2
push eax
call fcn.0040722a
pop ecx
pop ecx
mov ecx, eax
and ecx, 0x7f00
cmp ecx, 0x100
mov dword [esp + 0x14], eax
jg 0x407ee4
and dword [esp + 0x18], 0
lea ebx, [esp + 0x20]
jmp 0x407c07
cmp dword [0x41a0f8], 0
jne 0x407c03
mov eax, ebp
call fcn.0040681d
neg eax
sbb eax, eax
test dword [0x426aec], eax
jne 0x407c03
mov byte [ebx], 0x20
jmp 0x407c06
mov dword [esp + 0x18], ebx
mov byte [ebx], 0x3b
jmp 0x407c06
cmp esi, 0x3c
je 0x407c03
cmp esi, 0x3d
jbe 0x407bad
cmp esi, 0x3f
jbe 0x407c03
cmp esi, 0x5c
je 0x407c03
cmp esi, 0x7c
je 0x407c03
cmp dword [0x4191f0], 1
jle 0x407bc5
push 0x157
push esi
call fcn.0040a278
pop ecx
pop ecx
jmp 0x407bd3
mov eax, dword [str.________________________________H]
movzx eax, word [eax + esi*2]
and eax, 0x157
test eax, eax
jne 0x407bdc
cmp esi, 0x7f
jb 0x407c07
push dword [0x4191f0]
push dword [esp + 0x14]
call fcn.004094ad
push eax
push dword [esp + 0x1c]
push ebx
call fcn.00409170
push ebx
call fcn.00408729
add esp, 0x18
mov ebx, eax
jmp 0x407c07
mov byte [ebx], 0x5f
inc ebx
push dword [esp + 0x10]
call fcn.00408729
movzx esi, byte [eax]
test esi, esi
pop ecx
mov dword [esp + 0x10], eax
jne 0x407aa4
xor eax, eax
cmp dword [esp + 0x1c], eax
je 0x407c75
cmp dword [0x41a0f4], eax
jne 0x407c75
push eax
push 0x41e880
push ebp
call fcn.00401cb2
push eax
push str.warning:__skipped__..___path_component_s__in__s_n
push edi
call fcn.00408605
add esp, 0x14
push eax
push edi
push 0x41a0c0
call dword [fcn.00426abc]
add esp, 0x10
test dword [esp + 0x14], 0xffff80ff
jne 0x407c75
mov eax, dword [esp + 0x14]
and eax, 0x7f00
or eax, 1
mov dword [esp + 0x14], eax
push dword [0x426ae0]
push ebp
call fcn.00404053
cmp byte [eax], 0x2f
pop ecx
pop ecx
jne 0x407da6
push 4
push ebp
call fcn.0040722a
xor eax, eax
cmp dword [0x426ad8], eax
pop ecx
pop ecx
je 0x407d3a
cmp dword [0x41a0f4], eax
jne 0x407cd7
push eax
push 0x41e880
push ebp
call fcn.00401cb2
push eax
push str.___creating:___22s_n
push edi
call fcn.00408605
add esp, 0x14
push eax
push edi
push 0x41a0c0
call dword [fcn.00426abc]
add esp, 0x10
mov eax, dword [0x41a87c]
mov eax, dword [eax + 0x14]
test al, 0x6f
je 0x407d27
and eax, 0x7f
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x407d27
push 1
push 0x41e880
push ebp
call fcn.00401cb2
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.00408605
add esp, 0x10
push eax
push edi
push 0x41a0c0
call dword [fcn.00426abc]
add esp, 0x10
mov eax, dword [esp + 0x14]
and eax, 0xffff90ff
or eax, 0x1000
jmp 0x407ee4
cmp dword [0x41a144], 1
jne 0x407d93
mov eax, dword [0x41a87c]
mov eax, dword [eax + 0x14]
test al, 0x6f
je 0x407d93
and eax, 0x7f
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x407d93
push 1
push 0x41e880
push ebp
call fcn.00401cb2
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.00408605
add esp, 0x10
push eax
push edi
push 0x41a0c0
call dword [fcn.00426abc]
add esp, 0x10
mov eax, dword [esp + 0x14]
and eax, 0xffff82ff
or eax, 0x200
jmp 0x407ee4
mov byte [ebx], 0
cmp dword [0x41a110], 0
jne 0x407df1
mov ebx, dword [esp + 0x18]
test ebx, ebx
je 0x407df1
lea esi, [ebx + 1]
cmp dword [0x4191f0], 1
movzx eax, byte [esi]
jle 0x407dd5
push 4
push eax
call fcn.0040a278
pop ecx
pop ecx
jmp 0x407de2
mov ecx, dword [str.________________________________H]
movzx eax, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x407de9
inc esi
jmp 0x407dbd
cmp byte [esi], 0
jne 0x407df1
mov byte [ebx], 0
lea esi, [esp + 0x20]
call fcn.004069c8
cmp byte [esp + 0x20], 0
jne 0x407e40
push 1
push 0x41e880
push ebp
call fcn.00401cb2
push eax
push str.mapname:__conversion_of__s_failed_n
push edi
call fcn.00408605
add esp, 0x14
push eax
push edi
push 0x41a0c0
call dword [fcn.00426abc]
mov eax, dword [esp + 0x24]
and eax, 0xffff83ff
add esp, 0x10
or eax, 0x300
jmp 0x407ee4
lea eax, [esp + 0x20]
push 3
push eax
call fcn.0040722a
push 4
push ebp
call fcn.0040722a
mov eax, dword [0x41a87c]
add esp, 0x10
test byte [eax + 0x18], 0x20
je 0x407ee0
mov al, byte [0x426ae4]
add al, 0x60
mov byte [esp + 0x18], al
lea eax, [esp + 0x19]
push 0x415514
push eax
call fcn.0040a7b0
cmp dword [0x41a0f4], 0
pop ecx
pop ecx
jne 0x407eb8
push 0
push 0x41e880
push ebp
call fcn.00401cb2
push eax
lea eax, [esp + 0x28]
push eax
push str.labelling__s___22s_n
push edi
call fcn.00408605
add esp, 0x18
push eax
push edi
push 0x41a0c0
call dword [fcn.00426abc]
add esp, 0x10
push ebp
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_SetVolumeLabelA]
test eax, eax
jne 0x407d93
push 1
push str.mapname:__error_setting_volume_label_n
push edi
call fcn.00408605
pop ecx
pop ecx
jmp 0x407e1d
mov eax, dword [esp + 0x14]
pop ebx
pop edi
pop esi
pop ebp
add esp, 0x114
ret