Function at 0x428697
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x513010]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push ecx
lea ecx, [ebp - 0xa0]
mov edi, edx
call fcn.0046c432
lea ecx, [ebp - 0xa0]
call fcn.0046c4a2
mov ebx, eax
mov dword [ebp - 0xa4], ebx
jmp 0x428eaa
mov al, byte [ebx]
cmp al, 0x2d
je 0x4286e1
cmp al, 0x2f
jne 0x428e71
lea edx, [ebx + 1]
mov ecx, 0x4f7970
call fcn.00460189
mov esi, eax
test esi, esi
js 0x428e71
je 0x428f6f
cmp esi, 1
je 0x428f6f
cmp esi, 2
jne 0x42873a
call fcn.00465436
push 0xffffffffffffffff
mov edx, eax
xor ecx, ecx
call fcn.0045f484
mov dword [edi + 0x114], eax
pop ecx
test eax, eax
jne 0x42872e
mov byte [edi + 0x111], 1
mov byte [edi + 0x110], 1
jmp 0x428e97
cmp esi, 3
jne 0x42874b
mov byte [edi + 0x111], 1
jmp 0x428e97
cmp esi, 4
je 0x428f63
cmp esi, 5
je 0x428f63
cmp esi, 6
je 0x428f63
cmp esi, 7
je 0x42872e
cmp esi, 8
je 0x42872e
cmp esi, 9
jne 0x428781
mov byte [edi + 0x130], 1
jmp 0x428e97
cmp esi, 0xa
jne 0x428792
mov byte [edi + 0x131], 1
jmp 0x428e97
cmp esi, 0xb
jne 0x4287a3
mov byte [edi + 0x132], 1
jmp 0x428e97
cmp esi, 0xc
je 0x428f57
cmp esi, 0xd
je 0x428f57
cmp esi, 0xe
jne 0x4287c6
mov byte [edi + 0x144], 1
jmp 0x428e97
cmp esi, 0xf
jne 0x4287d7
mov byte [edi + 0x228], 1
jmp 0x428e97
cmp esi, 0x10
jne 0x4287e8
mov byte [edi + 0x229], 1
jmp 0x428e97
cmp esi, 0x11
je 0x428f4b
cmp esi, 0x12
je 0x428f4b
cmp esi, 0x13
jne 0x42880b
mov byte [edi + 0x22b], 1
jmp 0x428e97
cmp esi, 0x14
jne 0x42881c
mov byte [edi + 0x178], 1
jmp 0x428e97
cmp esi, 0x15
jne 0x42882d
mov byte [edi + 0x15d], 1
jmp 0x428e97
cmp esi, 0x16
jne 0x42883e
mov byte [edi + 0x22c], 1
jmp 0x428e97
cmp esi, 0x17
jne 0x42884f
mov byte [edi + 0x15e], 1
jmp 0x428e97
cmp esi, 0x18
jne 0x428860
mov byte [edi + 0x188], 1
jmp 0x428e97
cmp esi, 0x19
jne 0x428871
mov byte [edi + 0x15f], 1
jmp 0x428e97
cmp esi, 0x1a
jne 0x428882
mov byte [edi + 0x22d], 1
jmp 0x428e97
cmp esi, 0x42
jne 0x428893
mov byte [edi + 0x22f], 1
jmp 0x428e97
cmp esi, 0x43
jne 0x4288a4
mov byte [edi + 0x23c], 1
jmp 0x428e97
cmp esi, 0x40
je 0x428f3f
cmp esi, 0x41
je 0x428f3f
cmp esi, 0x1b
jne 0x4288c7
mov byte [edi + 0x190], 1
jmp 0x428e97
cmp esi, 0x1c
jne 0x4288d8
mov byte [edi + 0x124], 1
jmp 0x428e97
cmp esi, 0x1d
jne 0x4288e9
push ecx
lea ecx, [edi + 0x198]
jmp 0x428e91
cmp esi, 0x1e
jne 0x428908
cmp byte [0x5191cb], 0
jne 0x428f7b
cmp byte [0x5191ca], 0
jne 0x428f7b
lea ecx, [ebp - 0xa0]
call fcn.0046c4d0
mov ebx, eax
test ebx, ebx
je 0x428e6b
push ebx
call fcn.004c7173
mov dword [ebp - 0xa8], eax
pop ecx
cmp esi, 0x1f
jne 0x42893a
mov dword [edi + 0x238], eax
jmp 0x428e97
cmp esi, 0x20
jne 0x428956
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x114], eax
jmp 0x42872e
cmp esi, 0x21
jne 0x42898f
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov ecx, eax
mov dword [edi + 0x118], eax
call fcn.0045fafa
mov ecx, dword [edi + 0x118]
mov edx, 0x4f7da0
push 0x4f7d08
call fcn.0045f9f9
pop ecx
jmp 0x428e97
cmp esi, 0x22
jne 0x4289ab
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x158], eax
jmp 0x428e97
cmp esi, 0x23
je 0x4289b5
cmp esi, 0x24
jne 0x4289fa
push ecx
lea ecx, [ebp - 0xa0]
call fcn.0046c4f1
test eax, eax
je 0x4289f4
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
lea ecx, [ebp - 0xa0]
mov dword [edi + 0x11c], eax
call fcn.0046c4d0
push eax
call fcn.004c7173
pop ecx
mov dword [edi + 0x120], eax
jmp 0x428e97
mov eax, dword [ebp - 0xa8]
cmp esi, 0x25
je 0x428f28
cmp esi, 0x26
je 0x428f28
cmp esi, 0x27
jne 0x428a1c
mov dword [edi + 0x12c], eax
jmp 0x428e97
cmp esi, 0x28
jne 0x428a33
mov ecx, ebx
call fcn.0041f15c
mov dword [edi + 0x134], eax
jmp 0x428e97
cmp esi, 0x29
jne 0x428a4a
lea ecx, [edi + 0x138]
mov edx, ebx
call fcn.004282dc
jmp 0x428e97
cmp esi, 0x2a
jne 0x428a90
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xac]
push eax
push str._d__d__
push ebx
call fcn.0045fe6c
add esp, 0x10
test eax, eax
je 0x428e97
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb0]
mov dword [edi + 0x13c], eax
mov dword [edi + 0x140], ecx
jmp 0x428e97
cmp esi, 0x2b
jne 0x428aac
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x154], eax
jmp 0x428e97
cmp esi, 0x2c
jne 0x428afa
push ecx
lea ecx, [ebp - 0xa0]
call fcn.0046c4f1
test eax, eax
je 0x428ae8
mov al, byte [ebx]
sub al, 0x30
cmp al, 9
jbe 0x428ae8
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
lea ecx, [ebp - 0xa0]
mov dword [edi + 0x14c], eax
call fcn.0046c4d0
mov ebx, eax
push ebx
call fcn.004c7173
pop ecx
mov dword [edi + 0x148], eax
jmp 0x428e97
cmp esi, 0x2d
jne 0x428be5
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
lea ecx, [ebp - 0xa0]
mov dword [edi + 0x164], eax
call fcn.0046c4f1
mov esi, eax
test esi, esi
je 0x428e97
push 0x2a
push esi
call fcn.004b8940
pop ecx
pop ecx
test eax, eax
je 0x428b68
lea ecx, [ebp - 0xa0]
call fcn.0046c4d0
push 0xffffffffffffffff
mov edx, eax
xor ecx, ecx
call fcn.0045f484
lea ecx, [ebp - 0xa0]
mov dword [edi + 0x168], eax
call fcn.0046c4f1
mov esi, eax
test esi, esi
je 0x428e97
mov ecx, esi
call fcn.0042828e
test al, al
je 0x428ba4
lea ecx, [ebp - 0xa0]
call fcn.0046c4d0
push 0xffffffffffffffff
mov edx, eax
xor ecx, ecx
call fcn.0045f484
lea ecx, [ebp - 0xa0]
mov dword [edi + 0x16c], eax
call fcn.0046c4f1
mov esi, eax
test esi, esi
je 0x428e97
lea eax, [ebp - 0xb4]
push eax
push str._dx__
push esi
call fcn.0045fe6c
add esp, 0xc
test eax, eax
je 0x428e97
mov eax, dword [ebp - 0xb4]
test eax, eax
jle 0x428e97
lea ecx, [ebp - 0xa0]
mov dword [edi + 0x170], eax
call fcn.0046c4d0
jmp 0x428e97
cmp esi, 0x2e
jne 0x428bf5
mov dword [edi + 0x174], eax
jmp 0x428e97
cmp esi, 0x2f
jne 0x428c52
mov dword [edi + 0x17c], eax
cmp esi, 0x44
jne 0x428dd2
and dword [ebp - 0xc0], 0
lea ecx, [ebp - 0xd0]
and dword [ebp - 0xbc], 0
xorps xmm0, xmm0
and dword [ebp - 0xb8], 0
mov edx, ebx
movups xmmword [ebp - 0xd0], xmm0
call fcn.0042836b
mov edx, dword [ebp - 0xc0]
test edx, edx
je 0x428d7e
push 0xffffffffffffffff
xor ecx, ecx
call fcn.0045f484
pop ecx
jmp 0x428d84
cmp esi, 0x30
jne 0x428c63
mov byte [edi + 0x180], 1
jmp 0x428a11
cmp esi, 0x31
jne 0x428c74
mov byte [edi + 0x181], 1
jmp 0x428a11
cmp esi, 0x32
jne 0x428cdc
push ecx
push ebx
lea ecx, [edi + 0x88]
call fcn.00461461
push ecx
lea ecx, [ebp - 0xa0]
call fcn.0046c4f1
mov esi, eax
test esi, esi
je 0x428cc2
mov edx, str.loadonly
mov ecx, esi
call fcn.0045f52b
test al, al
jne 0x428cb3
mov ecx, esi
call fcn.0042828e
test al, al
je 0x428cc2
lea ecx, [ebp - 0xa0]
call fcn.0046c4d0
push ecx
push eax
jmp 0x428cc5
push ecx
push 0
lea ecx, [edi + 0x88]
call fcn.00461461
mov byte [edi + 0x150], 1
jmp 0x428e97
cmp esi, 0x33
je 0x428f11
cmp esi, 0x34
je 0x428f11
cmp esi, 0x45
jne 0x428d0a
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x18c], eax
jmp 0x428e97
cmp esi, 0x35
jne 0x428d26
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x194], eax
jmp 0x428e97
cmp esi, 0x36
jne 0x428d42
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x230], eax
jmp 0x428e97
cmp esi, 0x37
jne 0x428d5e
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x234], eax
jmp 0x428e97
cmp esi, 0x3f
jne 0x428c00
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x160], eax
jmp 0x428e97
mov eax, dword [edi + 0x160]
mov edx, dword [ebp - 0xc4]
mov dword [edi + 0x160], eax
test edx, edx
je 0x428da0
push 0xffffffffffffffff
xor ecx, ecx
call fcn.0045f484
pop ecx
jmp 0x428da6
mov eax, dword [edi + 0x128]
mov dword [edi + 0x128], eax
mov eax, dword [ebp - 0xc8]
test eax, eax
jg 0x428dbc
mov eax, dword [edi + 0x12c]
lea ecx, [ebp - 0xd0]
mov dword [edi + 0x12c], eax
call fcn.004285eb
jmp 0x428e97
cmp esi, 0x38
je 0x428ef8
cmp esi, 0x39
je 0x428ef8
cmp esi, 0x3a
je 0x428ef8
cmp esi, 0x3b
je 0x428ef8
cmp esi, 0x3c
je 0x428ef8
cmp esi, 0x3d
je 0x428ef8
cmp esi, 0x3e
je 0x428ef8
cmp esi, 0x46
jne 0x428e54
push ecx
lea ecx, [ebp - 0xa0]
call fcn.0046c4f1
test eax, eax
je 0x428e54
push ecx
push dword [ebp - 0xa4]
lea esi, [edi + 0x198]
mov ecx, esi
call fcn.00461461
push ecx
push ebx
mov ecx, esi
call fcn.00461461
push ecx
lea ecx, [ebp - 0xa0]
call fcn.0046c4d0
push eax
mov ecx, esi
jmp 0x428e92
mov eax, dword [ebp - 0x18]
mov edx, str.curr___1
dec eax
cmp eax, 1
mov dword [ebp - 0x18], eax
setl cl
call fcn.0041e67a
mov ebx, dword [ebp - 0xa4]
mov edx, 0x4f3df8
mov ecx, ebx
call fcn.0045f6a7
test al, al
je 0x428e8a
mov ecx, ebx
call fcn.00464b21
mov ebx, eax
test ebx, ebx
je 0x428e97
push ecx
mov ecx, edi
push ebx
call fcn.00461461
lea ecx, [ebp - 0xa0]
call fcn.0046c4a2
mov ebx, eax
mov dword [ebp - 0xa4], eax
test ebx, ebx
jne 0x4286d3
cmp byte [edi + 0x22c], bl
je 0x428ede
mov byte [edi + 0x151], 1
cmp dword [edi + 0x224], ebx
jne 0x428ede
push 0xffffffffffffffff
mov edx, 0x4f3110
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x224], eax
lea ecx, [ebp - 0xa0]
call fcn.0046c41f
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b7879
leave
ret
push ecx
push dword [ebp - 0xa4]
lea esi, [edi + 0x198]
mov ecx, esi
call fcn.00461461
push ecx
mov ecx, esi
jmp 0x428e91
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x224], eax
jmp 0x428e97
push 0xffffffffffffffff
mov edx, ebx
xor ecx, ecx
call fcn.0045f484
pop ecx
mov dword [edi + 0x128], eax
jmp 0x428e97
mov byte [edi + 0x22e], 1
jmp 0x428e97
mov byte [edi + 0x22a], 1
jmp 0x428e97
mov byte [edi + 0x15c], 1
jmp 0x428e97
mov byte [edi + 0x220], 1
jmp 0x428e97
mov byte [edi + 0x151], 1
jmp 0x428e97
call fcn.00427e90
mov byte [edi + 0x150], 1
jmp 0x428ede