Function at 0x54a0b0
Capabilities:
Parse credit card information

Disassembly:
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x54a42d
push ebx
push edi
cmp eax, 0x7c
je 0x54a42b
cmp eax, 0x29
jne 0x54a0ed
cmp dword [esi + 0x10], 0
jne 0x54a42b
test dword [esi + 0x50], 0x10000000
je 0x54a43a
jmp 0x54a3bc
cmp eax, 0x2e
jne 0x54a101
push 5
lea ecx, [esi + 0x24]
call main
jmp 0x54a3c9
cmp eax, 0x5c
jne 0x54a1dd
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x54a150
cmp word [eax], 0x5c
jne 0x54a14b
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x54a149
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x54a137
movzx edi, word [ecx]
cmp edi, 0x28
je 0x54a14b
cmp edi, 0x29
je 0x54a14b
test dl, 0x10
jne 0x54a149
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x54a14b
cmp ecx, 0x7d
je 0x54a14b
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0054c760
test byte [esi + 0x50], 0x80
je 0x54a1d1
movzx eax, word [esi + 0x48]
cmp eax, 0x62
jne 0x54a1b9
push 4
lea ecx, [esi + 0x24]
call main
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x54a366
cmp word [eax], 0x5c
jne 0x54a361
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x54a35f
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x54a1b1
movzx edx, word [ecx]
cmp edx, 0x28
je 0x54a361
cmp edx, 0x29
je 0x54a361
test bl, 0x10
jmp 0x54a350
cmp eax, 0x42
jne 0x54a1d1
push 4
lea ecx, [esi + 0x24]
call main
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
jmp 0x54a170
mov ecx, esi
call main
jmp 0x54a416
cmp eax, 0x5b
jne 0x54a28f
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x54a22c
cmp word [eax], 0x5c
jne 0x54a227
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x54a225
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x54a213
movzx edi, word [ecx]
cmp edi, 0x28
je 0x54a227
cmp edi, 0x29
je 0x54a227
test dl, 0x10
jne 0x54a225
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x54a227
cmp ecx, 0x7d
je 0x54a227
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0054c760
lea ecx, [esi + 0x24]
call main
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x54a254
mov eax, dword [esi + 0x28]
mov ecx, esi
xor dword [eax + 8], 1
call fcn.0054c5c0
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x54a272
cmp eax, 0x5d
jne 0x54a272
push eax
lea ecx, [esi + 0x24]
call main
mov ecx, esi
call fcn.0054c5c0
mov ecx, esi
call fcn.0054aac0
cmp dword [esi + 0x4c], 0x5d
jne 0x54a44c
mov ecx, esi
call fcn.0054c5c0
jmp 0x54a416
cmp eax, 0x28
jne 0x54a308
mov eax, dword [esi]
mov edx, dword [esi + 8]
cmp eax, edx
je 0x54a2da
cmp word [eax], 0x5c
jne 0x54a2d5
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x54a2d3
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x54a2c1
movzx edi, word [ecx]
cmp edi, 0x28
je 0x54a2d5
cmp edi, 0x29
je 0x54a2d5
test dl, 0x10
jne 0x54a2d3
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x54a2d5
cmp ecx, 0x7d
je 0x54a2d5
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0054c760
mov ecx, esi
call fcn.0054c910
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x54a43a
mov ecx, esi
call fcn.0054c5c0
test bl, bl
je 0x54a41d
jmp 0x54a416
cmp eax, 0x5e
jne 0x54a311
push 2
jmp 0x54a318
cmp eax, 0x24
jne 0x54a372
push 3
lea ecx, [esi + 0x24]
call main
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x54a366
cmp word [eax], 0x5c
jne 0x54a361
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x54a35f
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x54a34d
movzx edi, word [ecx]
cmp edi, 0x28
je 0x54a361
cmp edi, 0x29
je 0x54a361
test dl, 0x10
jne 0x54a35f
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x54a361
cmp ecx, 0x7d
je 0x54a361
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0054c760
jmp 0x54a41d
cmp eax, 0x2a
je 0x54a431
cmp eax, 0x2b
je 0x54a431
cmp eax, 0x3f
je 0x54a431
cmp eax, 0x7b
je 0x54a431
cmp eax, 0x7d
jne 0x54a3aa
test dword [esi + 0x50], 0x10000000
je 0x54a443
jmp 0x54a3bc
cmp eax, 0x5d
jne 0x54a3bc
test dword [esi + 0x50], 0x10000000
je 0x54a44c
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call main
mov edx, dword [esi + 8]
mov eax, dword [esi]
cmp eax, edx
je 0x54a40f
cmp word [eax], 0x5c
jne 0x54a40a
lea ecx, [eax + 2]
mov eax, ecx
cmp ecx, edx
je 0x54a408
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x54a3f6
movzx edi, word [ecx]
cmp edi, 0x28
je 0x54a40a
cmp edi, 0x29
je 0x54a40a
test dl, 0x10
jne 0x54a408
movzx ecx, word [ecx]
cmp ecx, 0x7b
je 0x54a40a
cmp ecx, 0x7d
je 0x54a40a
mov eax, dword [esi]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0054c760
mov ecx, esi
call main
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x54a0c3
pop edi
pop ebx
mov al, cl
pop esi
ret
push 0xa
mov ecx, esi
call main
push 5
mov ecx, esi
call main
push 6
mov ecx, esi
call main
push 4
mov ecx, esi
call main
int3