Function at 0x527870
Capabilities:
Parse credit card information

Disassembly:
push ebx
push esi
mov esi, ecx
xor cl, cl
push edi
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x527beb
cmp eax, 0x7c
je 0x527beb
cmp eax, 0x29
jne 0x5278ad
cmp dword [esi + 0x10], 0
jne 0x527beb
test dword [esi + 0x50], 0x10000000
je 0x527bf8
jmp 0x527b7c
cmp eax, 0x2e
jne 0x5278c1
push 5
lea ecx, [esi + 0x24]
call fcn.00527c10
jmp 0x527b89
cmp eax, 0x5c
jne 0x52799d
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x527910
cmp word [eax], 0x5c
jne 0x52790b
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x527909
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5278f7
movzx edi, word [ecx]
cmp edi, 0x28
je 0x52790b
cmp edi, 0x29
je 0x52790b
test dl, 0x10
jne 0x527909
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x52790b
cmp ecx, 0x7d
je 0x52790b
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.005268b0
test byte [esi + 0x50], 0x80
je 0x527991
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x527979
push 4
lea ecx, [esi + 0x24]
call fcn.00527c10
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x527b26
cmp word [eax], 0x5c
jne 0x527b21
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x527b1f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x527971
movzx edx, word [ecx]
cmp edx, 0x28
je 0x527b21
cmp edx, 0x29
je 0x527b21
test bl, 0x10
jmp 0x527b10
cmp eax, 0x42
jne 0x527991
push 4
lea ecx, [esi + 0x24]
call fcn.00527c10
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x527930
mov ecx, esi
call fcn.00528930
jmp 0x527bd6
cmp eax, 0x5b
jne 0x527a05
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x5279e8
cmp word [eax], 0x5c
jne 0x5279e3
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x5279e1
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x5279cf
movzx edi, word [ecx]
cmp edi, 0x28
je 0x5279e3
cmp edi, 0x29
je 0x5279e3
test dl, 0x10
jne 0x5279e1
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x5279e3
cmp ecx, 0x7d
je 0x5279e3
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.005268b0
mov ecx, esi
call fcn.00528800
cmp dword [esi + 0x4c], 0x5d
jne 0x527bff
jmp 0x527b89
cmp eax, 0x28
jne 0x527ac8
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x527a54
cmp word [eax], 0x5c
jne 0x527a4f
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x527a4d
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x527a3b
movzx edi, word [ecx]
cmp edi, 0x28
je 0x527a4f
cmp edi, 0x29
je 0x527a4f
test dl, 0x10
jne 0x527a4d
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x527a4f
cmp ecx, 0x7d
je 0x527a4f
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.005268b0
mov ecx, esi
call fcn.00528a80
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x527bf8
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x527ab4
cmp word [eax], 0x5c
jne 0x527aaf
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x527aad
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x527a9b
movzx edi, word [ecx]
cmp edi, 0x28
je 0x527aaf
cmp edi, 0x29
je 0x527aaf
test dl, 0x10
jne 0x527aad
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x527aaf
cmp ecx, 0x7d
je 0x527aaf
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.005268b0
test bl, bl
je 0x527bdd
jmp 0x527bd6
cmp eax, 0x5e
jne 0x527ad1
push 2
jmp 0x527ad8
cmp eax, 0x24
jne 0x527b32
push 3
lea ecx, [esi + 0x24]
call fcn.00527c10
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x527b26
cmp word [eax], 0x5c
jne 0x527b21
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x527b1f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x527b0d
movzx edi, word [ecx]
cmp edi, 0x28
je 0x527b21
cmp edi, 0x29
je 0x527b21
test dl, 0x10
jne 0x527b1f
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x527b21
cmp ecx, 0x7d
je 0x527b21
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.005268b0
jmp 0x527bdd
cmp eax, 0x2a
je 0x527bf1
cmp eax, 0x2b
je 0x527bf1
cmp eax, 0x3f
je 0x527bf1
cmp eax, 0x7b
je 0x527bf1
cmp eax, 0x7d
jne 0x527b6a
test dword [esi + 0x50], 0x10000000
je 0x527c06
jmp 0x527b7c
cmp eax, 0x5d
jne 0x527b7c
test dword [esi + 0x50], 0x10000000
je 0x527bff
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00528e60
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x527bcf
cmp word [eax], 0x5c
jne 0x527bca
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x527bc8
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x527bb6
movzx edi, word [ecx]
cmp edi, 0x28
je 0x527bca
cmp edi, 0x29
je 0x527bca
test dl, 0x10
jne 0x527bc8
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x527bca
cmp ecx, 0x7d
je 0x527bca
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.005268b0
mov ecx, esi
call fcn.00528c20
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x527883
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.005268a0
push 5
call fcn.005268a0
push 4
call fcn.005268a0
push 6
call fcn.005268a0
int3