Function at 0x4129e0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x14
push ebx
push ebp
xor ebp, ebp
push esi
xor ebx, ebx
push edi
mov edi, ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], vtable.CBufferT_wchar_t_.0
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], ebp
cmp word [edi + 0x90], 0
mov ecx, 1
jne 0x412a1c
cmp dword [edi + 0x94], ecx
je 0x412c6e
mov eax, dword [edi + 0x94]
test eax, eax
jne 0x412af9
cmp word [edi + 0xa0], 0x7b
jne 0x412a40
cmp dword [edi + 0xa4], ecx
je 0x412c44
cmp word [edi + 0xa0], 0x3f
jne 0x412a56
cmp dword [edi + 0xa4], ecx
je 0x412c44
cmp word [edi + 0xa0], 0x2a
jne 0x412a6c
cmp dword [edi + 0xa4], ecx
je 0x412c44
cmp word [edi + 0xa0], 0x2b
jne 0x412a82
cmp dword [edi + 0xa4], ecx
je 0x412c44
cmp ebp, 8
movzx eax, word [edi + 0x90]
mov dword [esp + 0x10], eax
mov esi, ebp
jge 0x412a99
mov esi, 8
lea eax, [ebx + 2]
cmp eax, esi
jle 0x412aba
add esi, esi
cmp eax, esi
jle 0x412aba
lea esi, [ebx + 0xd]
mov ecx, esi
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x412ab8
dec ecx
or ecx, 0xfffffff8
inc ecx
sub esi, ecx
cmp esi, ebp
mov eax, dword [esp + 0x18]
jle 0x412ad9
lea edx, [esi + esi]
push edx
push eax
call fcn.004a0495
mov ebp, esi
add esp, 8
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ebp
mov cx, word [esp + 0x10]
mov word [eax + ebx*2], cx
inc ebx
xor edx, edx
mov ecx, edi
mov dword [esp + 0x1c], ebx
mov word [eax + ebx*2], dx
call fcn.004113a0
jmp 0x412a01
cmp eax, ecx
jne 0x412a01
movzx ecx, word [edi + 0x90]
movzx eax, cx
cmp ax, 0x29
je 0x412c6e
cmp ax, 0x7c
je 0x412c6e
test ebx, ebx
jg 0x412c76
cmp ax, 0x28
je 0x412cb4
cmp ax, 0x5b
je 0x412cf3
cmp ax, 0x2e
je 0x412cf3
cmp ax, 0x77
je 0x412cf3
cmp ax, 0x57
je 0x412cf3
cmp ax, 0x63
je 0x412cf3
cmp ax, 0x6a
je 0x412cf3
cmp ax, 0x4a
je 0x412cf3
cmp ax, 0x50
je 0x412cf3
cmp ax, 0x73
je 0x412cf3
cmp ax, 0x53
je 0x412cf3
cmp ax, 0x64
je 0x412cf3
cmp ax, 0x44
je 0x412cf3
cmp ax, 0x5e
je 0x412ce5
cmp ax, 0x24
je 0x412ce5
cmp ax, 0x41
je 0x412ce5
cmp ax, 0x5a
je 0x412ce5
cmp ax, 0x7a
je 0x412ce5
cmp ax, 0x62
je 0x412ce5
cmp ax, 0x42
je 0x412ce5
cmp ax, 0x47
je 0x412ce5
cmp ax, 0x5c
je 0x412cd7
cmp ax, 0x6b
je 0x412cd7
cmp ax, 0x67
je 0x412cd7
movzx eax, cx
push 1
push 1
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], eax
call fcn.0040e7b0
mov ecx, edi
call fcn.004113a0
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
jmp 0x412a01
test ebx, ebx
jne 0x412c70
movzx edx, word [edi + 0x90]
push ecx
push ecx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], edx
call fcn.0040e7b0
mov ecx, edi
call fcn.004113a0
mov ebx, dword [esp + 0x1c]
test ebx, ebx
jle 0x412d0d
push 0x1c
call fcn.0049f1a2
add esp, 4
test eax, eax
je 0x412d01
mov esi, dword [esp + 0x18]
test esi, esi
jne 0x412c91
mov esi, 0x4bad64
mov edx, dword [esp + 0x28]
mov edx, dword [edx]
mov ecx, edx
and ecx, 8
push ecx
and edx, 0x10
push edx
push ebx
push esi
mov ecx, eax
call fcn.00410660
push eax
mov ecx, edi
call fcn.0040e0e0
jmp 0x412d16
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, edi
call fcn.00413d40
lea ecx, [esp + 0x14]
mov esi, eax
call fcn.0040de00
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 4
mov edx, dword [esp + 0x28]
push edx
mov ecx, edi
call fcn.00412530
jmp 0x412d16
mov eax, dword [esp + 0x28]
push eax
mov ecx, edi
call fcn.004122c0
jmp 0x412d16
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, edi
call fcn.00411bc0
jmp 0x412d16
xor eax, eax
push eax
mov ecx, edi
call fcn.0040e0e0
jmp 0x412d16
push 0
mov ecx, edi
call fcn.00411440
mov esi, eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x412d29
push eax
call fcn.0049e944
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 4