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

Disassembly:
sub esp, 0x114
push ebx
push ebp
push esi
push edi
xor ebp, ebp
push 1
cmp dword [0x419e98], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebp
pop esi
je 0x406f8a
cmp dword [esp + 0x128], ebp
mov dword [0x419f0c], ebp
je 0x406f90
mov dword [0x419f0c], esi
mov edi, 0x426748
mov dword [0x42689c], ebp
push edi
mov dword [0x4268a0], ebp
call fcn.00409390
cmp dword [esp + 0x12c], ebp
pop ecx
mov dword [0x4268a4], eax
je 0x407079
mov cl, byte [0x426748]
mov eax, edi
test cl, cl
je 0x406fe0
cmp byte [eax], 0x5c
jne 0x406fce
mov byte [eax], 0x2f
push eax
call fcn.004087b8
cmp byte [eax], 0
pop ecx
jne 0x406fc6
mov cl, byte [0x426748]
cmp cl, 0x2f
mov dword [esp + 0x10], edi
jne 0x407002
and byte [esp + 0x21], 0
mov dword [0x4268a0], esi
mov byte [esp + 0x20], cl
mov dword [esp + 0x10], 0x426749
jmp 0x407079
cmp dword [0x416930], esi
jle 0x407022
movzx eax, cl
push 0x103
push eax
call fcn.0040a06a
pop ecx
pop ecx
mov cl, byte [0x426748]
jmp 0x407034
mov edx, dword [str.________________________________H]
movzx eax, cl
mov ax, word [edx + eax*2]
and eax, 0x103
cmp eax, ebp
je 0x407079
cmp byte [0x426749], 0x3a
jne 0x407079
cmp byte [0x42674a], 0x2f
mov dword [0x4268a0], esi
mov byte [esp + 0x20], cl
mov byte [esp + 0x21], 0x3a
lea eax, [esp + 0x22]
mov dword [esp + 0x10], 0x42674a
jne 0x407076
mov byte [esp + 0x22], 0x2f
lea eax, [esp + 0x23]
mov dword [esp + 0x10], 0x42674b
and byte [eax], 0
lea eax, [esp + 0x20]
push esi
push eax
call fcn.0040756c
pop ecx
cmp eax, ebp
pop ecx
mov dword [esp + 0x14], eax
jne 0x407514
and byte [esp + 0x20], 0
cmp dword [esp + 0x128], ebp
lea ebx, [esp + 0x20]
jne 0x4070ca
cmp dword [0x419ea0], ebp
je 0x4070ba
push 0x2f
push edi
call fcn.0040a67e
pop ecx
mov dword [esp + 0x14], eax
pop ecx
cmp dword [esp + 0x10], ebp
jne 0x4070c6
mov dword [esp + 0x10], edi
jmp 0x4070ca
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov esi, 0x41a644
movzx ebp, byte [eax]
test ebp, ebp
je 0x4072ab
cmp ebp, 0x3b
ja 0x4071cb
je 0x4071c2
mov eax, ebp
sub eax, 0x20
je 0x4071a5
dec eax
dec eax
je 0x40723a
sub eax, 8
je 0x40723a
sub eax, 5
je 0x407116
sub eax, 0xb
jmp 0x4071e2
and byte [ebx], 0
lea eax, [esp + 0x20]
push eax
call fcn.00407534
lea eax, [esp + 0x24]
mov dword [esp], 0x416388
push eax
call fcn.004086f0
pop ecx
test eax, eax
pop ecx
jne 0x407140
and byte [esp + 0x20], al
jmp 0x407197
cmp dword [0x419ee0], 0
jne 0x40716a
lea eax, [esp + 0x20]
push 0x416384
push eax
call fcn.004086f0
pop ecx
test eax, eax
pop ecx
jne 0x40716a
and byte [esp + 0x20], al
mov dword [esp + 0x1c], 1
cmp byte [esp + 0x20], 0
je 0x407197
lea eax, [esp + 0x20]
push 2
push eax
call fcn.0040756c
pop ecx
mov dword [esp + 0x18], eax
pop ecx
mov ecx, eax
and ecx, 0x7f00
cmp ecx, 0x100
jg 0x407514
and dword [esp + 0x18], 0
lea ebx, [esp + 0x20]
jmp 0x40723e
cmp dword [0x419eb8], 0
jne 0x40723a
push edi
call fcn.0040751f
test eax, eax
pop ecx
jne 0x40723a
mov byte [ebx], 0x20
jmp 0x40723d
mov dword [esp + 0x18], ebx
mov byte [ebx], 0x3b
jmp 0x40723d
cmp ebp, 0x3c
je 0x40723a
cmp ebp, 0x3d
jbe 0x4071e4
cmp ebp, 0x3f
jbe 0x40723a
cmp ebp, 0x5c
je 0x40723a
cmp ebp, 0x7c
je 0x40723a
cmp dword [0x416930], 1
jle 0x4071fc
push 0x157
push ebp
call fcn.0040a06a
pop ecx
pop ecx
jmp 0x40720a
mov eax, dword [str.________________________________H]
mov ax, word [eax + ebp*2]
and eax, 0x157
test eax, eax
jne 0x407213
cmp ebp, 0x7f
jb 0x40723e
push dword [0x416930]
push dword [esp + 0x14]
call fcn.00409745
push eax
push dword [esp + 0x1c]
push ebx
call fcn.00409410
push ebx
call fcn.004087b8
add esp, 0x18
mov ebx, eax
jmp 0x40723e
mov byte [ebx], 0x5f
inc ebx
push dword [esp + 0x10]
call fcn.004087b8
movzx ebp, byte [eax]
test ebp, ebp
pop ecx
mov dword [esp + 0x10], eax
jne 0x4070de
xor eax, eax
cmp dword [esp + 0x1c], eax
je 0x4072ab
cmp dword [0x419eb4], eax
jne 0x4072ab
push eax
push 0x41e644
push edi
call fcn.0040333b
push eax
push str.warning:__skipped__..___path_component_s__in__s_n
push esi
call fcn.00408690
add esp, 0x14
push eax
push esi
push 0x419e80
call dword [0x426880]
add esp, 0x10
test dword [esp + 0x14], 0xffff80ff
jne 0x4072ab
mov eax, dword [esp + 0x14]
and eax, 0x7f00
or al, 1
mov dword [esp + 0x14], eax
push dword [0x4268a4]
push edi
call fcn.004042a4
cmp byte [eax], 0x2f
pop ecx
pop ecx
jne 0x4073d4
push 4
push edi
call fcn.0040756c
xor eax, eax
pop ecx
cmp dword [0x42689c], eax
pop ecx
je 0x40736c
cmp dword [0x419eb4], eax
jne 0x40730d
push eax
push 0x41e644
push edi
call fcn.0040333b
push eax
push str.___creating:___22s_n
push esi
call fcn.00408690
add esp, 0x14
push eax
push esi
push 0x419e80
call dword [0x426880]
add esp, 0x10
mov eax, dword [0x41a640]
mov eax, dword [eax + 0x14]
test al, 0x6f
je 0x40735d
and eax, 0x7f
push eax
push edi
call dword [sym.imp.ish_SetFileAttributesA]
test eax, eax
jne 0x40735d
push 1
push 0x41e644
push edi
call fcn.0040333b
pop ecx
pop ecx
push eax
call dword [sym.imp.ish_GetLastError]
push eax
push str._nwarning___d_:_could_not_set_file_attributes_for__s_n
push esi
call fcn.00408690
add esp, 0x10
push eax
push esi
push 0x419e80
call dword [0x426880]
add esp, 0x10
mov eax, dword [esp + 0x14]
and ah, 0x90
or ah, 0x10
jmp 0x407514
cmp dword [0x419f08], 1
jne 0x4073c5
mov eax, dword [0x41a640]
mov eax, dword [eax + 0x14]
test al, 0x6f
je 0x4073c5
and eax, 0x7f
push eax
push edi
call dword [sym.imp.ish_SetFileAttributesA]
test eax, eax
jne 0x4073c5
push 1
push 0x41e644
push edi
call fcn.0040333b
pop ecx
pop ecx
push eax
call dword [sym.imp.ish_GetLastError]
push eax
push str._nwarning___d_:_could_not_set_file_attributes_for__s_n
push esi
call fcn.00408690
add esp, 0x10
push eax
push esi
push 0x419e80
call dword [0x426880]
add esp, 0x10
mov eax, dword [esp + 0x14]
and ah, 0x82
or ah, 2
jmp 0x407514
and byte [ebx], 0
cmp dword [0x419ed0], 0
jne 0x407422
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x407422
lea ebx, [ebp + 1]
cmp dword [0x416930], 1
jle 0x407403
movzx eax, byte [ebx]
push 4
push eax
call fcn.0040a06a
pop ecx
pop ecx
jmp 0x407412
movzx eax, byte [ebx]
mov ecx, dword [str.________________________________H]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
je 0x407419
inc ebx
jmp 0x4073eb
cmp byte [ebx], 0
jne 0x407422
and byte [ebp], 0
lea eax, [esp + 0x20]
push eax
call fcn.00407534
cmp byte [esp + 0x24], 0
pop ecx
jne 0x407455
push 1
push 0x41e644
push edi
call fcn.0040333b
push eax
push str.mapname:__conversion_of__s_failed_n
push esi
call fcn.00408690
add esp, 0x14
jmp 0x4074f4
lea eax, [esp + 0x20]
push 3
push eax
call fcn.0040756c
push 4
push edi
call fcn.0040756c
mov eax, dword [0x41a640]
add esp, 0x10
test byte [eax + 0x18], 0x20
je 0x407510
mov al, byte [0x4268a8]
push 0x4162dc
add al, 0x60
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1d]
push eax
call fcn.0040a490
cmp dword [0x419eb4], 0
pop ecx
pop ecx
jne 0x4074d1
push 0
push 0x41e644
push edi
call fcn.0040333b
push eax
lea eax, [esp + 0x28]
push eax
push str.labelling__s___22s_n
push esi
call fcn.00408690
add esp, 0x18
push eax
push esi
push 0x419e80
call dword [0x426880]
add esp, 0x10
lea eax, [esp + 0x18]
push edi
push eax
call dword [sym.imp.ish_SetVolumeLabelA]
test eax, eax
jne 0x4073c5
push 1
push str.mapname:__error_setting_volume_label_n
push esi
call fcn.00408690
pop ecx
pop ecx
push eax
push esi
push 0x419e80
call dword [0x426880]
mov eax, dword [esp + 0x24]
add esp, 0x10
and ah, 0x83
or ah, 3
jmp 0x407514
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x114
ret