Function at 0x432f90
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b95c9
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x51e12c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x1c]
mov ebx, dword [ebp + 0xc]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
movzx eax, word [edi]
mov dword [ebp - 4], 0
test ax, ax
je 0x4332db
mov esi, eax
mov ecx, 0x7ff
cmp si, 0x24
je 0x433203
cmp si, 0x26
je 0x433203
cmp si, 0x2b
je 0x433203
cmp si, 0x2c
je 0x433203
cmp si, 0x2f
je 0x433203
cmp si, 0x3a
je 0x433203
cmp si, 0x3b
je 0x433203
cmp si, 0x3d
je 0x433203
cmp si, 0x3f
je 0x433203
cmp si, 0x40
je 0x433203
cmp si, 0x23
je 0x433203
cmp si, 0x20
je 0x433203
cmp si, 0x7f
jbe 0x4331f3
push 0x4e2214
cmp si, cx
ja 0x4330f8
lea eax, [ebp - 0x20]
push eax
call fcn.0041dc50
add esp, 8
movzx ecx, si
or ecx, 0x3000
shr ecx, 6
push ecx
mov ecx, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1663]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0045cd40
add esp, 0x14
lea ecx, [ebp - 0x20]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator]
movzx esi, word [edi]
lea eax, [ebp - 0x24]
push 0x4e2214
and esi, 0x3f
push eax
or esi, 0x80
call fcn.0041dc50
add esp, 8
mov ecx, eax
push esi
call dword [sym.imp.mfc140u.dll_Ordinal_1663]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0045cd40
lea ecx, [ebp - 0x24]
jmp 0x4331ca
lea eax, [ebp - 0x28]
push eax
call fcn.0041dc50
add esp, 8
movzx ecx, si
shr ecx, 0xc
or ecx, 0xe0
push ecx
mov ecx, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1663]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0045cd40
add esp, 0x14
lea ecx, [ebp - 0x28]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator]
movzx esi, word [edi]
lea eax, [ebp - 0x2c]
and esi, 0xfc0
push 0x4e2214
or esi, 0x2000
push eax
shr esi, 6
call fcn.0041dc50
add esp, 8
mov ecx, eax
push esi
call dword [sym.imp.mfc140u.dll_Ordinal_1663]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0045cd40
add esp, 0x14
lea ecx, [ebp - 0x2c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_2]
movzx esi, word [edi]
lea eax, [ebp - 0x30]
push 0x4e2214
and esi, 0x3f
push eax
or esi, 0x80
call fcn.0041dc50
add esp, 8
mov ecx, eax
push esi
call dword [sym.imp.mfc140u.dll_Ordinal_1663]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0045cd40
lea ecx, [ebp - 0x30]
add esp, 0x14
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::operator_2]
lea ecx, [ebp - 0x1c]
call dword [sym.imp.mfc140u.dll_ATL::CSimpleStringT_wchar_t_1_::GetBuffer_1]
mov esi, eax
test esi, esi
jne 0x433286
mov ax, word [edi]
mov esi, 2
mov word [ebx], ax
jmp 0x4332c2
lea eax, [ebp - 0x34]
push 0x4e2214
push eax
call fcn.0041dc50
movzx ecx, word [edi]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.mfc140u.dll_Ordinal_1663]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x18]
push 4
push eax
call fcn.0045cd40
add esp, 0x14
lea ecx, [ebp - 0x34]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x18]
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x433242
sub ecx, edx
sar ecx, 1
je 0x433283
movzx eax, word [ebp + esi*2 - 0x18]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov word [ebp + esi*2 - 0x18], ax
add esp, 4
lea eax, [ebp - 0x18]
inc esi
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433270
sub eax, edx
sar eax, 1
cmp esi, eax
jb 0x433253
lea esi, [ebp - 0x18]
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x433290
sub ecx, edx
sar ecx, 1
push esi
lea eax, [ecx + 1]
push eax
push ebx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4332b1
sub esi, ecx
sar esi, 1
add esi, esi
movzx eax, word [edi + 2]
add edi, 2
add ebx, esi
mov ecx, 0x7ff
mov esi, eax
test ax, ax
jne 0x432fe4
xor eax, eax
lea ecx, [ebp - 0x1c]
mov word [ebx], ax
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046dcfd
mov esp, ebp
pop ebp
ret