Function at 0x41b1b0
Capabilities:
Parse credit card information

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [ecx + 0x94]
mov esi, dword [ecx + 0x98]
cmp eax, esi
je 0x41b1f0
mov edx, dword [ecx + 0x7c]
mov ebx, ecx
test edx, edx
je 0x41b210
cmp edx, 2
je 0x41b2f0
cmp edx, 1
je 0x41b390
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ecx + 0x84], 0x1b
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
lea edx, [eax + 1]
mov esi, dword [ecx + 0x9c]
mov dword [ecx + 0x94], edx
movsx edi, byte [eax]
mov edx, edi
movzx ebp, dl
movzx eax, byte [esi + ebp + 0x11d]
test al, al
je 0x41b350
movsx eax, al
mov byte [esp + 0x1f], dl
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x8c]
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
movzx edx, byte [esp + 0x1f]
je 0x41b450
cmp dl, 0x5c
je 0x41b410
cmp dl, 0x28
je 0x41b580
cmp dl, 0x29
je 0x41b660
cmp dl, 0x5b
je 0x41b530
cmp dl, 0x7b
je 0x41b6e0
mov eax, edx
movsx ecx, dl
and eax, 0xffffffdf
cmp al, 0x5d
je 0x41b6f6
mov edi, dword [ebx + 0x9c]
movzx ebp, dl
mov esi, ebx
movzx eax, byte [edi + ebp + 0x11d]
test al, al
je 0x41b732
movzx edx, byte [ebx]
test dl, dl
je 0x41b1e2
cmp al, dl
je 0x41b2e2
lea esi, [esi]
lea edi, [edi]
add esi, 8
movzx edx, byte [esi]
test dl, dl
je 0x41b1e2
cmp dl, al
jne 0x41b2d0
mov eax, dword [esi + 4]
mov dword [ebx + 0x84], eax
jmp 0x41b1e2
lea ecx, [eax + 1]
mov dword [ebx + 0x94], ecx
movsx edx, byte [eax]
cmp dl, 0x2d
je 0x41b650
cmp dl, 0x5b
je 0x41b4c0
cmp dl, 0x5d
je 0x41b6b0
cmp dl, 0x5c
jne 0x41b690
test byte [ebx + 0x80], 0x90
je 0x41b690
mov ecx, dword [ebx + 0xbc]
mov eax, dword [ebx + 0xb8]
add ecx, ebx
test al, 1
je 0x41b345
mov edx, dword [ecx]
mov eax, dword [edx + eax - 1]
call eax
jmp 0x41b520
mov eax, dword [esi]
mov byte [esp + 0x1f], dl
mov ecx, esi
mov dword [esp + 4], 0x20
mov dword [esp], edi
call dword [eax + 0x20]
sub esp, 8
cmp al, 0x20
movzx edx, byte [esp + 0x1f]
je 0x41b237
mov byte [esi + ebp + 0x11d], al
jmp 0x41b237
lea ecx, [eax + 1]
mov edi, dword [ebx + 0x9c]
mov dword [ebx + 0x94], ecx
movzx ebp, byte [eax]
mov edi, dword [edi + 0x18]
test byte [edi + ebp*2], 8
mov edx, ebp
jne 0x41b5b0
cmp dl, 0x2c
je 0x41b570
test dword [ebx + 0x80], 0x120
je 0x41b670
cmp dl, 0x5c
jne 0x41b893
cmp esi, ecx
je 0x41b893
cmp byte [eax + 1], 0x7d
jne 0x41b893
add eax, 2
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xd
mov dword [ebx + 0x94], eax
jmp 0x41b1e2
mov eax, dword [ebx + 0x94]
cmp eax, dword [ebx + 0x98]
je 0x41b875
test dword [ebx + 0x80], 0x120
jne 0x41b490
mov ecx, dword [ebx + 0xbc]
mov eax, dword [ebx + 0xb8]
add ecx, ebx
test al, 1
je 0x41b446
mov edx, dword [ecx]
mov eax, dword [edx + eax - 1]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
jmp eax
lea ecx, [ebx + 0xa0]
mov dword [ebx + 0x84], 1
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
mov eax, dword [ebx + 0xa4]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00526ab0
sub esp, 0x10
jmp 0x41b1e2
movzx edx, byte [eax]
lea ecx, [edx - 0x28]
cmp cl, 1
jbe 0x41b4a0
cmp dl, 0x7b
jne 0x41b42e
lea edx, [eax + 1]
mov dword [ebx + 0x94], edx
movzx edx, byte [eax]
jmp 0x41b266
cmp esi, ecx
je 0x41b884
movzx edx, byte [eax + 1]
cmp dl, 0x2e
je 0x41b810
cmp dl, 0x3a
je 0x41b81c
cmp dl, 0x3d
je 0x41b7ca
lea ecx, [ebx + 0xa0]
mov dword [ebx + 0x84], 1
mov dword [esp + 0xc], 0x5b
mov dword [esp + 8], 1
mov eax, dword [ebx + 0xa4]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00526ab0
sub esp, 0x10
mov byte [ebx + 0x90], 0
jmp 0x41b1e2
mov eax, dword [ebx + 0x94]
cmp eax, dword [ebx + 0x98]
mov dword [ebx + 0x7c], 2
mov byte [ebx + 0x90], 1
je 0x41b555
cmp byte [eax], 0x5e
je 0x41b7b2
mov dword [ebx + 0x84], 9
jmp 0x41b1e2
mov dword [ebx + 0x84], 0x19
jmp 0x41b1e2
mov eax, dword [ebx + 0x80]
test al, 0x10
je 0x41b599
mov edx, dword [ebx + 0x94]
cmp byte [edx], 0x3f
je 0x41b75b
test al, 2
setne al
movzx eax, al
add eax, 5
mov dword [ebx + 0x84], eax
jmp 0x41b1e2
movsx edx, dl
mov dword [ebx + 0x84], 0x1a
mov dword [esp + 8], 1
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0xa4]
lea esi, [ebx + 0xa0]
mov dword [esp], 0
mov ecx, esi
mov dword [esp + 4], eax
call fcn.00526ab0
mov eax, dword [ebx + 0x94]
sub esp, 0x10
cmp dword [ebx + 0x98], eax
jne 0x41b62b
jmp 0x41b1e2
lea edx, [eax + 1]
mov ecx, esi
mov dword [ebx + 0x94], edx
movsx eax, byte [eax]
mov dword [esp], eax
call fcn.00526a48
mov eax, dword [ebx + 0x94]
sub esp, 4
cmp eax, dword [ebx + 0x98]
je 0x41b1e2
mov edx, dword [ebx + 0x9c]
movzx ecx, byte [eax]
mov edx, dword [edx + 0x18]
test byte [edx + ecx*2], 8
jne 0x41b600
jmp 0x41b1e2
mov dword [ebx + 0x84], 0x1c
jmp 0x41b520
mov dword [ebx + 0x84], 8
jmp 0x41b1e2
cmp dl, 0x7d
jne 0x41b893
mov dword [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xd
jmp 0x41b1e2
mov dword [ebx + 0x84], 1
lea ecx, [ebx + 0xa0]
mov dword [esp + 0xc], edx
jmp 0x41b4ff
test byte [ebx + 0x80], 0x10
jne 0x41b6c2
cmp byte [ebx + 0x90], 0
jne 0x41b690
mov dword [ebx + 0x84], 0xb
mov dword [ebx + 0x7c], 0
jmp 0x41b520
mov dword [ebx + 0x7c], 1
mov dword [ebx + 0x84], 0xc
jmp 0x41b1e2
mov dword [ebx + 0x84], 1
mov dword [esp + 0xc], ecx
lea eax, [ebx + 0xa0]
mov dword [esp + 8], 1
mov edx, dword [ebx + 0xa4]
mov ecx, eax
mov dword [esp], 0
mov dword [esp + 4], edx
call fcn.00526ab0
sub esp, 0x10
jmp 0x41b1e2
mov eax, dword [edi]
mov dword [esp], ecx
mov ecx, edi
mov dword [esp + 4], 0
call dword [eax + 0x20]
sub esp, 8
test al, al
je 0x41b7f3
mov byte [edi + ebp + 0x11d], al
jmp 0x41b2b5
lea eax, [edx + 1]
cmp eax, dword [ebx + 0x98]
mov dword [ebx + 0x94], eax
je 0x41b8a2
movzx eax, byte [edx + 1]
cmp al, 0x3a
je 0x41b828
cmp al, 0x3d
je 0x41b840
cmp al, 0x21
jne 0x41b866
add edx, 2
mov dword [ebx + 0x84], 7
lea ecx, [ebx + 0xa0]
mov dword [ebx + 0x94], edx
mov dword [esp + 0xc], 0x6e
jmp 0x41b464
add eax, 1
mov dword [ebx + 0x84], 0xa
mov dword [ebx + 0x94], eax
jmp 0x41b1e2
mov dword [ebx + 0x84], 0x11
lea edx, [eax + 2]
mov ecx, ebx
mov dword [ebx + 0x94], edx
movsx eax, byte [eax + 1]
mov dword [esp], eax
call fcn.00411750
sub esp, 4
jmp 0x41b520
cmp byte [ebx], 0
jne 0x41b2d0
jmp 0x41b1e2
mov dword [ebx + 0x84], 0x10
jmp 0x41b7d4
mov dword [ebx + 0x84], 0xf
jmp 0x41b7d4
add edx, 2
mov dword [ebx + 0x84], 6
mov dword [ebx + 0x94], edx
jmp 0x41b1e2
add edx, 2
mov dword [ebx + 0x84], 7
lea ecx, [ebx + 0xa0]
mov dword [ebx + 0x94], edx
mov dword [esp + 0xc], 0x70
jmp 0x41b464
mov edx, str.Invalid_special_open_parenthesis.
mov eax, 5
call fcn.0041aae0
mov edx, str.Unexpected_end_of_regex_when_escaping.
mov eax, 2
call fcn.0041aae0
mov edx, str.Unexpected_character_class_open_bracket.
mov eax, 4
call fcn.0041aae0
mov edx, str.Unexpected_character_in_brace_expression.
mov eax, 7
call fcn.0041aae0
mov edx, str.Unexpected_end_of_regex_when_in_an_open_parenthesis.
mov eax, 5
call fcn.0041aae0
nop
lea esi, [esi]
lea edi, [edi]