Function at 0x457fde
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, ecx
xor eax, eax
mov esi, edx
inc eax
push 4
pop ebx
movzx edx, byte [edi]
cmp edx, 0x2e
jg 0x458177
je 0x458163
cmp edx, 0x26
jg 0x4580e4
je 0x4580dc
cmp edx, 0x22
jg 0x458087
je 0x4583d6
cmp edx, 9
jl 0x4581ae
cmp edx, 0xa
jle 0x45805d
cmp edx, 0xb
jle 0x4581ae
cmp edx, 0xd
jle 0x45805d
cmp edx, 0x20
je 0x45805d
cmp edx, 0x21
jne 0x4581ae
cmp byte [edi + 1], 0x3d
push 2
pop eax
jne 0x458542
mov dword [esi], 0x48
jmp 0x458548
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
test byte [eax + 0x5a0f20], dl
je 0x45807a
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x5a0f20], 1
jne 0x45806c
mov dword [esi], 0x94
mov eax, edx
jmp 0x458548
mov ecx, edx
sub ecx, 0x23
je 0x4580a7
dec ecx
je 0x4584d1
dec ecx
jne 0x4581ae
mov dword [esi], 0x57
jmp 0x458133
mov edx, eax
movzx eax, byte [edi + 1]
push 4
pop ebx
test byte [eax + 0x5a0f20], bl
je 0x4584ce
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x5a0f20], bl
jne 0x4580bc
xor eax, eax
inc eax
cmp edx, eax
jle 0x4584d1
mov dword [esi], 0x84
jmp 0x458080
mov dword [esi], 0x4f
jmp 0x458133
mov eax, edx
sub eax, 0x27
je 0x4583d6
dec eax
je 0x45815b
dec eax
je 0x458153
dec eax
je 0x45814b
dec eax
je 0x458143
dec eax
je 0x45813b
dec eax
jne 0x4581ae
cmp byte [edi + 1], 0x2d
jne 0x45812d
movzx ecx, byte [edi + 2]
push 2
pop eax
jmp 0x45811e
cmp ecx, 0xa
je 0x458122
inc eax
movzx ecx, byte [eax + edi]
test ecx, ecx
jne 0x458114
mov dword [esi], 0x94
jmp 0x458548
mov dword [esi], 0x54
xor eax, eax
inc eax
jmp 0x458548
mov dword [esi], 0x19
jmp 0x458133
mov dword [esi], 0x53
jmp 0x458133
mov dword [esi], 0x55
jmp 0x458133
mov dword [esi], 0x17
jmp 0x458133
mov dword [esi], 0x16
jmp 0x458133
movzx eax, byte [edi + 1]
test byte [eax + 0x5a0f20], bl
jne 0x4581d0
mov dword [esi], 0x75
jmp 0x458133
cmp edx, 0x3f
jg 0x458377
je 0x458349
cmp edx, 0x3b
jg 0x4582be
je 0x4582b4
cmp edx, 0x2f
je 0x458276
jle 0x4581ae
cmp edx, 0x39
jle 0x4581d0
cmp edx, 0x3a
je 0x4584d1
test dl, dl
js 0x4584a3
cmp edx, 0x1f
jle 0x4581c8
cmp byte [edx + 0x5a08e0], 0
jne 0x4584a3
xor eax, eax
inc eax
jmp 0x458542
xor ecx, ecx
mov dword [esi], 0x81
test byte [edx + 0x5a0f20], bl
je 0x4581ed
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x5a0f20], bl
jne 0x4581e0
cmp byte [ecx + edi], 0x2e
jne 0x458206
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x5a0f20], bl
jne 0x4581f3
mov dword [esi], 0x82
mov al, byte [ecx + edi]
cmp al, 0x65
je 0x458211
cmp al, 0x45
jne 0x45824f
mov dl, byte [ecx + edi + 1]
movzx eax, dl
test byte [eax + 0x5a0f20], bl
jne 0x458237
cmp dl, 0x2b
je 0x45822a
cmp dl, 0x2d
jne 0x45824f
movzx eax, byte [ecx + edi + 2]
test byte [eax + 0x5a0f20], bl
je 0x45824f
add ecx, 2
jmp 0x45823d
inc ecx
movzx eax, byte [ecx + edi]
test byte [eax + 0x5a0f20], bl
jne 0x45823c
mov dword [esi], 0x82
movzx eax, byte [ecx + edi]
test al, al
js 0x45826d
cmp eax, 0x1f
jle 0x45849c
cmp byte [eax + 0x5a08e0], 0
je 0x45849c
mov dword [esi], 0x93
inc ecx
jmp 0x45824f
cmp byte [edi + 1], 0x2a
jne 0x4582a9
mov cl, byte [edi + 2]
test cl, cl
je 0x4582a9
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x458294
cmp byte [eax + edi], 0x2f
je 0x4582a3
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x458122
inc eax
jmp 0x458289
inc eax
jmp 0x458122
mov dword [esi], 0x56
jmp 0x458133
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x458548
mov eax, edx
sub eax, 0x3c
je 0x45830d
dec eax
je 0x4582f8
dec eax
jne 0x4581ae
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x4582e0
mov dword [esi], 0x4d
jmp 0x45831c
cmp eax, 0x3e
jne 0x4582ed
mov dword [esi], 0x52
jmp 0x45831c
mov dword [esi], 0x4a
jmp 0x458133
xor eax, eax
mov dword [esi], 0x49
cmp byte [edi + 1], 0x3d
sete al
inc eax
jmp 0x458548
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x458324
mov dword [esi], 0x4b
push 2
pop eax
jmp 0x458548
cmp eax, 0x3e
jne 0x458331
mov dword [esi], 0x48
jmp 0x45831c
cmp eax, 0x3c
jne 0x45833e
mov dword [esi], 0x51
jmp 0x45831c
mov dword [esi], 0x4c
jmp 0x458133
movzx eax, byte [edi + 1]
xor edx, edx
push 4
pop ebx
inc edx
mov dword [esi], 0x85
test byte [eax + 0x5a0f20], bl
je 0x458080
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x5a0f20], bl
jne 0x458365
jmp 0x458080
mov eax, edx
sub eax, 0x40
je 0x4584ce
sub eax, 0x18
je 0x458444
sub eax, 3
je 0x45841c
sub eax, 5
je 0x4583d6
sub eax, 0x18
je 0x458444
sub eax, 4
je 0x4583ba
dec eax
dec eax
jne 0x4581ae
mov dword [esi], 0x5c
jmp 0x458133
cmp byte [edi + 1], 0x7c
je 0x4583cb
mov dword [esi], 0x50
jmp 0x458133
mov dword [esi], 0x58
jmp 0x45831c
movzx ebx, byte [edi + 1]
xor ecx, ecx
inc ecx
jmp 0x4583f2
cmp ebx, edx
jne 0x4583ed
movzx eax, byte [edi + ecx + 1]
cmp eax, edx
jne 0x4583f6
inc ecx
inc ecx
movzx ebx, byte [ecx + edi]
test ebx, ebx
jne 0x4583df
cmp ebx, 0x27
jne 0x458409
mov dword [esi], 0x5d
lea eax, [ecx + 1]
jmp 0x458548
test ebx, ebx
je 0x458415
mov dword [esi], 0x1a
jmp 0x458401
mov eax, ecx
jmp 0x458542
xor eax, eax
inc eax
jmp 0x45842a
movzx edx, byte [eax + edi]
test edx, edx
je 0x45842f
inc eax
cmp edx, 0x5d
jne 0x458421
push 0x1a
cmp edx, 0x5d
mov ecx, 0x93
pop edi
cmove ecx, edi
mov dword [esi], ecx
jmp 0x458548
cmp byte [edi + 1], 0x27
jne 0x4581ae
movzx edx, byte [edi + 2]
push 2
mov dword [esi], 0x83
pop ecx
jmp 0x458479
cmp edx, 0x27
je 0x45847d
movzx eax, dl
test byte [eax + 0x5a0f20], 8
jne 0x458474
mov dword [esi], 0x93
inc ecx
movzx edx, byte [ecx + edi]
test edx, edx
jne 0x45845d
mov eax, ecx
and eax, reloc.WS2_32.dll_accept
jns 0x45848b
dec eax
or eax, 0xfffffffe
inc eax
jne 0x458491
test edx, edx
jne 0x45849b
mov dword [esi], 0x93
test edx, edx
je 0x45849c
inc ecx
mov eax, ecx
jmp 0x458548
xor ebx, ebx
inc ebx
movzx eax, byte [ebx + edi]
test al, al
js 0x4584bc
cmp eax, 0x1f
jle 0x4584bf
cmp byte [eax + 0x5a08e0], 0
je 0x4584bf
inc ebx
jmp 0x4584a6
mov edx, ebx
mov ecx, edi
call fcn.00457f5e
mov dword [esi], eax
mov eax, ebx
jmp 0x458548
xor eax, eax
inc eax
movzx ecx, byte [edi + 1]
xor edx, edx
mov dword [esi], 0x85
test ecx, ecx
je 0x458542
test cl, cl
js 0x45850a
cmp ecx, 0x1f
jle 0x4584f3
cmp byte [ecx + 0x5a08e0], 0
jne 0x45850a
cmp ecx, 0x28
jne 0x4584fc
test edx, edx
jg 0x458516
cmp ecx, 0x3a
jne 0x45853e
cmp byte [edi + eax + 1], cl
jne 0x45853e
inc eax
jmp 0x45850b
inc edx
inc eax
movzx ecx, byte [eax + edi]
test ecx, ecx
jne 0x4584e1
jmp 0x45853e
inc eax
mov dword [ebp - 4], eax
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x458530
test byte [ecx + 0x5a0f20], 1
jne 0x458530
cmp ecx, 0x29
jne 0x458516
cmp ecx, 0x29
jne 0x458538
inc eax
jmp 0x45853e
mov dword [esi], 0x93
test edx, edx
jne 0x458548
mov dword [esi], 0x93
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret