Function at 0x441904
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x4038c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x12c
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x403880
push 3
push 0x413a8c
lea eax, [ebp - 0x38]
push eax
call sub.MSVBVM60.DLL___vbaAryConstruct2
push 0x11
push 0x413a1c
lea eax, [ebp - 0x5c]
push eax
call sub.MSVBVM60.DLL___vbaAryConstruct2
push 3
push 0x413a8c
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaAryConstruct2
mov dword [ebp - 0xf0], 0x3f
mov dword [ebp - 0xec], 1
and dword [ebp - 0x40], 0
jmp 0x441990
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0xec]
jo 0x44221f
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0xf0]
jg 0x441b40
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
jl 0x441a01
cmp dword [ebp - 0xf4], 0x19
jg 0x441a01
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x40
jae 0x4419d5
and dword [ebp - 0x110], 0
jmp 0x4419e0
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x40]
add ecx, 0x41
jo 0x44221f
call sub.MSVBVM60.DLL___vbaUI1I4
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0xe4]
mov byte [ecx], al
jmp 0x441b3b
cmp dword [ebp - 0xf4], 0x1a
jl 0x441a5a
cmp dword [ebp - 0xf4], 0x33
jg 0x441a5a
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x40
jae 0x441a2e
and dword [ebp - 0x114], 0
jmp 0x441a39
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x40]
add ecx, 0x47
jo 0x44221f
call sub.MSVBVM60.DLL___vbaUI1I4
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0xe4]
mov byte [ecx], al
jmp 0x441b3b
cmp dword [ebp - 0xf4], 0x34
jl 0x441ab3
cmp dword [ebp - 0xf4], 0x3d
jg 0x441ab3
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x40
jae 0x441a87
and dword [ebp - 0x118], 0
jmp 0x441a92
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x40]
sub ecx, 4
jo 0x44221f
call sub.MSVBVM60.DLL___vbaUI1I4
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0xe4]
mov byte [ecx], al
jmp 0x441b3b
cmp dword [ebp - 0xf4], 0x3e
jne 0x441af8
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x40
jae 0x441ad7
and dword [ebp - 0x11c], 0
jmp 0x441ae2
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x11c], eax
mov cx, 0x2b
call sub.MSVBVM60.DLL___vbaUI1I2
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0xe4]
mov byte [ecx], al
jmp 0x441b3b
cmp dword [ebp - 0xf4], 0x3f
jne 0x441b3b
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x40
jae 0x441b1c
and dword [ebp - 0x120], 0
jmp 0x441b27
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x120], eax
mov cx, 0x2f
call sub.MSVBVM60.DLL___vbaUI1I2
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0xe4]
mov byte [ecx], al
jmp 0x44197e
mov dword [ebp - 0xfc], 0xff
mov dword [ebp - 0xf8], 1
and dword [ebp - 0x40], 0
jmp 0x441b6c
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0xf8]
jo 0x44221f
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0xfc]
jg 0x441c08
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x100
jae 0x441b99
and dword [ebp - 0x124], 0
jmp 0x441ba4
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x40]
imul eax, eax, 0x100
jo 0x44221f
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x2c]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x100
jae 0x441bdd
and dword [ebp - 0x128], 0
jmp 0x441be8
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x40]
imul eax, eax, 0x10000
jo 0x44221f
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ebp - 0x74]
mov dword [edx + ecx*4], eax
jmp 0x441b5a
mov eax, dword [ebp + 8]
push dword [eax]
call sub.MSVBVM60.DLL___vbaLenBstr
cdq
push 3
pop ecx
idiv ecx
mov ecx, edx
call sub.MSVBVM60.DLL___vbaI2I4
mov word [ebp - 0x44], ax
movsx eax, word [ebp - 0x44]
test eax, eax
je 0x441cc5
mov ax, 3
sub ax, word [ebp - 0x44]
jo 0x44221f
mov word [ebp - 0x44], ax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd4], 8
push 0
lea eax, [ebp - 0xa0]
push eax
call sub.MSVBVM60.DLL_rtcVarBstrFromAnsi
lea eax, [ebp - 0xa0]
push eax
movsx eax, word [ebp - 0x44]
push eax
lea eax, [ebp - 0xb0]
push eax
call sub.MSVBVM60.DLL_rtcStringVar
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xc0]
push eax
call sub.MSVBVM60.DLL___vbaVarCat
push eax
call sub.MSVBVM60.DLL___vbaStrVarMove
mov edx, eax
mov ecx, dword [ebp + 8]
call sub.MSVBVM60.DLL___vbaStrMove
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xa0]
push eax
push 3
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0x10
mov eax, dword [ebp + 8]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd4], 0x4008
push 0
push 0x80
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xa0]
push eax
call sub.MSVBVM60.DLL_rtcStrConvVar2
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xc4]
push eax
call sub.MSVBVM60.DLL___vbaVar2Vec
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x1c]
push eax
call sub.MSVBVM60.DLL___vbaAryMove
lea ecx, [ebp - 0xa0]
call sub.MSVBVM60.DLL___vbaFreeVar
push dword [ebp - 0x1c]
push 1
call sub.MSVBVM60.DLL___vbaUbound
add eax, 1
jo 0x44221f
cdq
push 3
pop ecx
idiv ecx
imul eax, eax, 4
jo 0x44221f
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
cdq
push 0x48
pop ecx
idiv ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
imul eax, eax, 2
jo 0x44221f
add eax, dword [ebp - 0x68]
jo 0x44221f
sub eax, 1
jo 0x44221f
mov dword [ebp - 0x88], eax
push 0
push dword [ebp - 0x88]
push 1
push 0x11
lea eax, [ebp - 0x18]
push eax
push 1
push 0x80
call sub.MSVBVM60.DLL___vbaRedim
add esp, 0x1c
and dword [ebp - 0x68], 0
push dword [ebp - 0x1c]
push 1
call sub.MSVBVM60.DLL___vbaUbound
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], 3
push dword [ebp - 0x1c]
push 1
call sub.MSVBVM60.DLL___vbaLbound
mov dword [ebp - 0x8c], eax
jmp 0x441ddc
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x100]
jo 0x44221f
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x104]
jg 0x44207c
push dword [ebp - 0x8c]
push dword [ebp - 0x1c]
call sub.MSVBVM60.DLL___vbaDerefAry1
movzx eax, byte [eax]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x100
jae 0x441e1a
and dword [ebp - 0x12c], 0
jmp 0x441e25
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x8c]
add eax, 1
jo 0x44221f
push eax
push dword [ebp - 0x1c]
call sub.MSVBVM60.DLL___vbaDerefAry1
movzx eax, byte [eax]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0x100
jae 0x441e5b
and dword [ebp - 0x130], 0
jmp 0x441e66
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ecx + eax*4]
add edi, dword [esi + edx*4]
jo 0x44221f
mov eax, dword [ebp - 0x8c]
add eax, 2
jo 0x44221f
push eax
push dword [ebp - 0x1c]
call sub.MSVBVM60.DLL___vbaDerefAry1
movzx eax, byte [eax]
add edi, eax
jo 0x44221f
mov dword [ebp - 0x64], edi
mov eax, dword [ebp - 0x64]
and eax, 0xfc0000
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 0x40000
idiv ecx
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x40
jae 0x441ed8
and dword [ebp - 0x134], 0
jmp 0x441ee3
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x134], eax
push dword [ebp - 0x20]
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0xe4]
mov cl, byte [ecx]
mov byte [eax], cl
mov eax, dword [ebp - 0x64]
and eax, 0x3f000
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cdq
mov ecx, 0x1000
idiv ecx
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x40
jae 0x441f29
and dword [ebp - 0x138], 0
jmp 0x441f34
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x20]
add eax, 1
jo 0x44221f
push eax
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0xe4]
mov cl, byte [ecx]
mov byte [eax], cl
mov eax, dword [ebp - 0x64]
and eax, 0xfc0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cdq
push 0x40
pop ecx
idiv ecx
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x40
jae 0x441f82
and dword [ebp - 0x13c], 0
jmp 0x441f8d
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x20]
add eax, 2
jo 0x44221f
push eax
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0xe4]
mov cl, byte [ecx]
mov byte [eax], cl
mov eax, dword [ebp - 0x64]
and eax, 0x3f
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x40
jae 0x441fcd
and dword [ebp - 0x140], 0
jmp 0x441fd8
call sub.MSVBVM60.DLL___vbaGenerateBoundsError
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x20]
add eax, 3
jo 0x44221f
push eax
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0xe4]
mov cl, byte [ecx]
mov byte [eax], cl
cmp dword [ebp - 0x68], 0x44
jne 0x442059
mov cx, 0xd
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
mov eax, dword [ebp - 0x20]
add eax, 4
jo 0x44221f
push eax
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0xa
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
mov eax, dword [ebp - 0x20]
add eax, 5
jo 0x44221f
push eax
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
and dword [ebp - 0x68], 0
mov eax, dword [ebp - 0x20]
add eax, 6
jo 0x44221f
mov dword [ebp - 0x20], eax
jmp 0x442077
mov eax, dword [ebp - 0x68]
add eax, 4
jo 0x44221f
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x20]
add eax, 4
jo 0x44221f
mov dword [ebp - 0x20], eax
jmp 0x441dc4
push dword [ebp - 0x88]
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
movzx ax, byte [eax]
cmp ax, 0xa
jne 0x4420a9
mov eax, dword [ebp - 0x88]
sub eax, 2
jo 0x44221f
mov dword [ebp - 0x88], eax
cmp word [ebp - 0x44], 1
jne 0x4420cd
mov cx, 0x3d
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push dword [ebp - 0x88]
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
jmp 0x442114
cmp word [ebp - 0x44], 2
jne 0x442114
mov cx, 0x3d
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
push dword [ebp - 0x88]
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
mov cx, 0x3d
call sub.MSVBVM60.DLL___vbaUI1I2
mov bl, al
mov eax, dword [ebp - 0x88]
sub eax, 1
jo 0x44221f
push eax
push dword [ebp - 0x18]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov byte [eax], bl
lea eax, [ebp - 0x18]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd4], 0x6011
push 0
push 0x40
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0xa0]
push eax
call sub.MSVBVM60.DLL_rtcStrConvVar2
lea eax, [ebp - 0xa0]
push eax
call sub.MSVBVM60.DLL___vbaStrVarMove
mov edx, eax
lea ecx, [ebp - 0x90]
call sub.MSVBVM60.DLL___vbaStrMove
lea ecx, [ebp - 0xa0]
call sub.MSVBVM60.DLL___vbaFreeVar
push 0x442208
jmp 0x4421ac
lea eax, [ebp - 0x18]
push eax
push 0
call sub.MSVBVM60.DLL___vbaAryDestruct
lea eax, [ebp - 0x1c]
push eax
push 0
call sub.MSVBVM60.DLL___vbaAryDestruct
lea eax, [ebp - 0x38]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0xd8]
push eax
push 0
call sub.MSVBVM60.DLL___vbaAryDestruct
lea eax, [ebp - 0x5c]
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0xdc]
push eax
push 0
call sub.MSVBVM60.DLL___vbaAryDestruct
lea eax, [ebp - 0x80]
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0xe0]
push eax
push 0
call sub.MSVBVM60.DLL___vbaAryDestruct
ret
call sub.MSVBVM60.DLL___vbaErrorOverflow