Function at 0x428000
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 0x42852d
lea edi, [esi + 8]
cmp eax, 0x7c
je 0x42852d
cmp eax, 0x29
jne 0x428040
cmp dword [esi + 0x10], 0
jne 0x42852d
test dword [esi + 0x50], 0x10000000
je 0x42853a
jmp 0x4284c0
cmp eax, 0x2e
jne 0x428095
push 5
lea ecx, [esi + 0x24]
call fcn.00428590
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42850e
cmp word [eax], 0x5c
jne 0x4282f7
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4282f7
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x42808d
movzx edx, word [ecx]
cmp edx, 0x28
je 0x4282f5
cmp edx, 0x29
je 0x4282f5
test bl, 0x10
jmp 0x4282e6
cmp eax, 0x5c
jne 0x4281c9
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4280e1
cmp word [eax], 0x5c
jne 0x4280dc
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4280dc
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x4280c8
movzx edx, word [ecx]
cmp edx, 0x28
je 0x4280da
cmp edx, 0x29
je 0x4280da
test bl, 0x10
jne 0x4280dc
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x4280da
cmp edx, 0x7d
jne 0x4280dc
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00426a10
test byte [esi + 0x50], 0x80
je 0x4281bd
movzx eax, word [esi + 0x48]
mov ecx, eax
cmp eax, 0x62
jne 0x428156
push 4
lea ecx, [esi + 0x24]
call fcn.00428590
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42814a
cmp word [eax], 0x5c
jne 0x428145
lea ecx, [eax + 2]
cmp ecx, edx
je 0x428145
mov ebx, dword [esi + 0x50]
test bl, 8
jne 0x428131
movzx edx, word [ecx]
cmp edx, 0x28
je 0x428143
cmp edx, 0x29
je 0x428143
test bl, 0x10
jne 0x428145
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x428143
cmp edx, 0x7d
jne 0x428145
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00426a10
jmp 0x42851f
cmp ecx, 0x42
jne 0x4281bd
push 4
lea ecx, [esi + 0x24]
call fcn.00428590
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x4281b1
cmp word [eax], 0x5c
jne 0x4281ac
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4281ac
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x428198
movzx eax, word [ecx]
cmp eax, 0x28
je 0x4281aa
cmp eax, 0x29
je 0x4281aa
mov eax, dword [esi]
test dl, 0x10
jne 0x4281ac
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x4281aa
cmp edx, 0x7d
jne 0x4281ac
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00426a10
jmp 0x42851f
mov ecx, esi
call fcn.004296b0
jmp 0x428515
cmp eax, 0x5b
jne 0x428301
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x428217
cmp word [eax], 0x5c
jne 0x428212
lea ecx, [eax + 2]
cmp ecx, edx
je 0x428212
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4281fe
movzx eax, word [ecx]
cmp eax, 0x28
je 0x428210
cmp eax, 0x29
je 0x428210
mov eax, dword [esi]
test dl, 0x10
jne 0x428212
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x428210
cmp edx, 0x7d
jne 0x428212
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00426a10
lea ecx, [esi + 0x24]
call fcn.0042b2f0
mov eax, dword [esi + 0x4c]
cmp eax, 0x5e
jne 0x428284
mov eax, dword [esi + 0x28]
xor dword [eax + 8], 1
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42827a
cmp word [eax], 0x5c
jne 0x428275
lea ecx, [eax + 2]
cmp ecx, edx
je 0x428275
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x428261
movzx eax, word [ecx]
cmp eax, 0x28
je 0x428273
cmp eax, 0x29
je 0x428273
mov eax, dword [esi]
test dl, 0x10
jne 0x428275
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x428273
cmp edx, 0x7d
jne 0x428275
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00426a10
mov eax, dword [esi + 0x4c]
test dword [esi + 0x50], 0x20000000
je 0x4282a2
cmp eax, 0x5d
jne 0x4282a2
push eax
lea ecx, [esi + 0x24]
call fcn.0042b3d0
mov ecx, esi
call fcn.00427fb0
mov ecx, esi
call fcn.0042ad80
cmp dword [esi + 0x4c], 0x5d
jne 0x428548
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42850e
cmp word [eax], 0x5c
jne 0x4282f7
lea ecx, [eax + 2]
cmp ecx, edx
je 0x4282f7
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x4282e3
movzx eax, word [ecx]
cmp eax, 0x28
je 0x4282f5
cmp eax, 0x29
je 0x4282f5
mov eax, dword [esi]
test dl, 0x10
jne 0x4282f7
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x4282f5
cmp edx, 0x7d
jne 0x4282f7
mov eax, ecx
add eax, 2
mov dword [esi], eax
jmp 0x42850e
cmp eax, 0x28
jne 0x4283be
mov eax, dword [esi]
mov edx, dword [edi]
cmp eax, edx
je 0x42834f
cmp word [eax], 0x5c
jne 0x42834a
lea ecx, [eax + 2]
cmp ecx, edx
je 0x42834a
mov edx, dword [esi + 0x50]
test dl, 8
jne 0x428336
movzx eax, word [ecx]
cmp eax, 0x28
je 0x428348
cmp eax, 0x29
je 0x428348
mov eax, dword [esi]
test dl, 0x10
jne 0x42834a
movzx edx, word [ecx]
cmp edx, 0x7b
je 0x428348
cmp edx, 0x7d
jne 0x42834a
mov eax, ecx
add eax, 2
mov dword [esi], eax
mov ecx, esi
call fcn.00426a10
mov ecx, esi
call fcn.00429850
cmp dword [esi + 0x4c], 0x29
mov bl, al
jne 0x42853a
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x4283aa
cmp word [eax], 0x5c
jne 0x4283a7
add eax, 2
cmp eax, ecx
je 0x4283a7
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428393
movzx edx, word [eax]
cmp edx, 0x28
je 0x4283a5
cmp edx, 0x29
je 0x4283a5
test cl, 0x10
jne 0x4283a7
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x4283a5
cmp ecx, 0x7d
jne 0x4283a7
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00426a10
test bl, bl
je 0x42851f
jmp 0x428515
cmp eax, 0x5e
jne 0x42841a
push 2
lea ecx, [esi + 0x24]
call fcn.00428590
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42840e
cmp word [eax], 0x5c
jne 0x42840b
add eax, 2
cmp eax, ecx
je 0x42840b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4283f7
movzx edx, word [eax]
cmp edx, 0x28
je 0x428409
cmp edx, 0x29
je 0x428409
test cl, 0x10
jne 0x42840b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x428409
cmp ecx, 0x7d
jne 0x42840b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00426a10
jmp 0x42851f
cmp eax, 0x24
jne 0x428476
push 3
lea ecx, [esi + 0x24]
call fcn.00428590
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42846a
cmp word [eax], 0x5c
jne 0x428467
add eax, 2
cmp eax, ecx
je 0x428467
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x428453
movzx edx, word [eax]
cmp edx, 0x28
je 0x428465
cmp edx, 0x29
je 0x428465
test cl, 0x10
jne 0x428467
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x428465
cmp ecx, 0x7d
jne 0x428467
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00426a10
jmp 0x42851f
cmp eax, 0x2a
je 0x428533
cmp eax, 0x2b
je 0x428533
cmp eax, 0x3f
je 0x428533
cmp eax, 0x7b
je 0x428533
cmp eax, 0x7d
jne 0x4284ae
test dword [esi + 0x50], 0x10000000
je 0x428541
jmp 0x4284c0
cmp eax, 0x5d
jne 0x4284c0
test dword [esi + 0x50], 0x10000000
je 0x428548
movzx eax, word [esi + 0x48]
lea ecx, [esi + 0x24]
push eax
call fcn.00429af0
mov eax, dword [esi]
mov ecx, dword [edi]
cmp eax, ecx
je 0x42850e
cmp word [eax], 0x5c
jne 0x42850b
add eax, 2
cmp eax, ecx
je 0x42850b
mov ecx, dword [esi + 0x50]
test cl, 8
jne 0x4284f7
movzx edx, word [eax]
cmp edx, 0x28
je 0x428509
cmp edx, 0x29
je 0x428509
test cl, 0x10
jne 0x42850b
movzx ecx, word [eax]
cmp ecx, 0x7b
je 0x428509
cmp ecx, 0x7d
jne 0x42850b
mov dword [esi], eax
add dword [esi], 2
mov ecx, esi
call fcn.00426a10
mov ecx, esi
call fcn.00429950
lea edi, [esi + 8]
mov eax, dword [esi + 0x4c]
mov cl, 1
cmp eax, 0xffffffff
jne 0x428016
pop edi
pop esi
mov al, cl
pop ebx
ret
push 0xa
call fcn.00426a00
push 5
call fcn.00426a00
push 6
call fcn.00426a00
push 4
call fcn.00426a00
int3