Function at 0x427fb0
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
xor cl, cl
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x42847a
cmp eax, 0x7c
je 0x42847a
push edi
lea edi, [esi + 8]
push ebx
cmp eax, 0x29
jne 0x427ff4
cmp dword [esi + 0x10], 0
jne 0x428478
test dword [esi + 0x50], 0x10000000
je 0x42848a
jmp 0x428404
cmp eax, 0x2e
jne 0x428054
push 5
lea ecx, [esi + 0x24]
call fcn.0042bd80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x428454
cmp word [eax], 0x5c
jne 0x42804a
lea edx, [eax + 2]
cmp edx, ecx
je 0x42804a
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428033
movzx edi, word [edx]
mov ecx, eax
cmp edi, 0x28
je 0x428047
cmp edi, 0x29
je 0x428047
test bl, 0x10
jne 0x42804a
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428047
cmp edx, 0x7d
jne 0x42804a
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
jmp 0x428454
cmp eax, 0x5c
jne 0x4281b7
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4280ac
cmp word [eax], 0x5c
jne 0x4280a7
lea edx, [eax + 2]
cmp edx, ecx
je 0x4280a7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428090
movzx ecx, word [edx]
mov dword [ebp - 4], ecx
mov ecx, eax
cmp word [ebp - 4], 0x28
je 0x4280a4
cmp word [ebp - 4], 0x29
je 0x4280a4
test bl, 0x10
jne 0x4280a7
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x4280a4
cmp edx, 0x7d
jne 0x4280a7
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c7a0
test byte [esi + 0x50], 0x80
je 0x4281ab
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x428129
push 4
lea ecx, [esi + 0x24]
call fcn.0042bd80
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42811d
cmp word [eax], 0x5c
jne 0x428118
lea edx, [eax + 2]
cmp edx, ecx
je 0x428118
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428101
movzx ebx, word [edx]
mov ecx, eax
cmp ebx, 0x28
je 0x428115
cmp ebx, 0x29
je 0x428115
mov ecx, dword [esi + 0x50]
test cl, 0x10
jne 0x428118
movzx edx, word [edx]
mov ecx, eax
cmp edx, 0x7b
je 0x428115
cmp edx, 0x7d
jne 0x428118
lea eax, [ecx + 2]
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c7a0
jmp 0x428465
cmp ecx, 0x42
jne 0x4281ab
push 4
lea ecx, [esi + 0x24]
call fcn.0042bd80
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov edx, dword [edi]
mov eax, dword [esi]
cmp eax, edx
je 0x42819f
cmp word [eax], 0x5c
jne 0x42819a
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x428198
test byte [esi + 0x50], 8
jne 0x42816d
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x428184
cmp ecx, 0x29
je 0x428184
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x428198
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x428184
mov edx, ecx
cmp ebx, 0x7d
jne 0x428198
lea eax, [edx + 2]
mov ecx, esi
add eax, 2
mov dword [esi], eax
call fcn.0042c7a0
jmp 0x428465
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c7a0
jmp 0x428465
mov ecx, esi
call fcn.004284b0
jmp 0x42845b
cmp eax, 0x5b
jne 0x4282c8
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428215
cmp word [eax], 0x5c
jne 0x42820d
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x42820b
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4281f0
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x428206
cmp ecx, 0x29
je 0x428206
mov ecx, eax
test bl, 0x10
jne 0x42820b
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x428206
mov edx, ecx
cmp edi, 0x7d
jne 0x42820b
lea eax, [edx + 2]
jmp 0x42820d
mov eax, ecx
add eax, 2
lea edi, [esi + 8]
mov dword [esi], eax
mov ecx, esi
call fcn.0042c7a0
lea ebx, [esi + 0x24]
mov ecx, ebx
call fcn.00427820
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x428294
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42828a
cmp word [eax], 0x5c
jne 0x428282
lea edi, [eax + 2]
mov ecx, eax
cmp edi, edx
je 0x428280
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428265
movzx ecx, word [edi]
mov edx, eax
cmp ecx, 0x28
je 0x42827b
cmp ecx, 0x29
je 0x42827b
mov ecx, eax
test bl, 0x10
jne 0x428280
movzx edi, word [edi]
mov edx, eax
cmp edi, 0x7b
je 0x42827b
mov edx, ecx
cmp edi, 0x7d
jne 0x428280
lea eax, [edx + 2]
jmp 0x428282
mov eax, ecx
add eax, 2
lea ebx, [esi + 0x24]
mov dword [esi], eax
mov ecx, esi
call fcn.0042c7a0
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x4282b1
cmp eax, 0x5d
jne 0x4282b1
push eax
mov ecx, ebx
call fcn.004277a0
mov ecx, esi
call fcn.0042bdf0
mov ecx, esi
call fcn.00428fc0
push 4
push 0x5d
mov ecx, esi
call fcn.0042afc0
jmp 0x42845b
cmp eax, 0x28
jne 0x428346
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42831e
cmp word [eax], 0x5c
jne 0x428319
lea ebx, [eax + 2]
mov ecx, eax
cmp ebx, edx
je 0x428317
test byte [esi + 0x50], 8
jne 0x4282fb
movzx ecx, word [ebx]
mov edx, eax
cmp ecx, 0x28
je 0x428312
cmp ecx, 0x29
je 0x428312
mov ecx, eax
test byte [esi + 0x50], 0x10
jne 0x428317
movzx ebx, word [ebx]
mov edx, eax
cmp ebx, 0x7b
je 0x428312
mov edx, ecx
cmp ebx, 0x7d
jne 0x428317
lea eax, [edx + 2]
jmp 0x428319
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.0042c7a0
mov ecx, esi
call fcn.0042cb70
push 5
push 0x29
mov ecx, esi
mov bl, al
call fcn.0042afc0
test bl, bl
je 0x428465
jmp 0x42845b
cmp eax, 0x5e
jne 0x42835a
push 2
lea ecx, [esi + 0x24]
call fcn.0042bd80
jmp 0x42813f
cmp eax, 0x24
jne 0x4283ba
push 3
lea ecx, [esi + 0x24]
call fcn.0042bd80
mov eax, dword [esi]
lea edi, [esi + 8]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4283ae
cmp word [eax], 0x5c
jne 0x4283ab
add eax, 2
cmp eax, ecx
je 0x4283ab
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428396
movzx edx, word [eax]
cmp edx, 0x28
je 0x4283a8
cmp edx, 0x29
je 0x4283a8
test cl, 0x10
jne 0x4283ab
movzx eax, word [eax]
cmp eax, 0x7b
je 0x4283a8
cmp eax, 0x7d
jne 0x4283ab
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042c7a0
jmp 0x428465
cmp eax, 0x2a
je 0x428481
cmp eax, 0x2b
je 0x428481
cmp eax, 0x3f
je 0x428481
cmp eax, 0x7b
je 0x428481
cmp eax, 0x7d
jne 0x4283f2
test dword [esi + 0x50], 0x10000000
je 0x428493
jmp 0x428404
cmp eax, 0x5d
jne 0x428404
test dword [esi + 0x50], 0x10000000
je 0x42849c
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.004275d0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
cmp eax, ecx
je 0x428454
cmp word [eax], 0x5c
jne 0x428451
add eax, 2
cmp eax, ecx
je 0x428451
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x42843c
movzx edx, word [eax]
cmp edx, 0x28
je 0x42844e
cmp edx, 0x29
je 0x42844e
test cl, 0x10
jne 0x428451
movzx eax, word [eax]
cmp eax, 0x7b
je 0x42844e
cmp eax, 0x7d
jne 0x428451
add dword [esi], 2
add dword [esi], 2
mov ecx, esi
call fcn.0042c7a0
mov ecx, esi
call fcn.0042bf20
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
je 0x428478
cmp eax, 0x7c
jne 0x427fd3
pop ebx
pop edi
mov al, cl
pop esi
mov esp, ebp
pop ebp
ret
push 0xa
mov ecx, esi
call fcn.0042afb0
push 5
mov ecx, esi
call fcn.0042afb0
push 6
mov ecx, esi
call fcn.0042afb0
push 4
mov ecx, esi
call fcn.0042afb0
int3