Function at 0x4ad749
Capabilities:
Parse credit card information
Parse pe header

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov esi, edx
inc ebx
push 4
pop ecx
movzx edx, byte [edi]
cmp edx, 0x2e
jg 0x4ad8e1
je 0x4ad8cd
cmp edx, 0x26
jg 0x4ad84e
je 0x4ad846
cmp edx, 0x22
jg 0x4ad7f5
je 0x4adb38
cmp edx, 9
jl 0x4ad918
cmp edx, 0xa
jle 0x4ad7cb
cmp edx, 0xb
jle 0x4ad918
cmp edx, 0xd
jle 0x4ad7cb
cmp edx, 0x20
je 0x4ad7cb
cmp edx, 0x21
jne 0x4ad918
cmp byte [edi + 1], 0x3d
push 2
pop eax
je 0x4ad7c0
mov dword [esi], 0x94
jmp 0x4adca8
mov dword [esi], 0x4b
jmp 0x4adca8
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
test byte [eax + 0x51c1d0], dl
je 0x4ad7e8
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x51c1d0], 1
jne 0x4ad7da
mov dword [esi], 0x95
mov eax, edx
jmp 0x4adca8
mov eax, edx
sub eax, 0x23
je 0x4ad815
dec eax
je 0x4adc38
dec eax
jne 0x4ad918
mov dword [esi], 0x5a
jmp 0x4ad89d
movzx eax, byte [edi + 1]
mov edx, ebx
test byte [eax + 0x51c1d0], 4
je 0x4adc38
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x51c1d0], 4
jne 0x4ad828
cmp edx, ebx
jle 0x4adc38
mov dword [esi], 0x84
jmp 0x4ad7ee
mov dword [esi], 0x52
jmp 0x4ad89d
mov eax, edx
sub eax, 0x27
je 0x4adb38
dec eax
je 0x4ad8c5
dec eax
je 0x4ad8bd
dec eax
je 0x4ad8b5
dec eax
je 0x4ad8ad
dec eax
je 0x4ad8a5
dec eax
jne 0x4ad918
cmp byte [edi + 1], 0x2d
jne 0x4ad897
movzx ecx, byte [edi + 2]
push 2
pop eax
jmp 0x4ad888
cmp ecx, 0xa
je 0x4ad88c
inc eax
movzx ecx, byte [eax + edi]
test ecx, ecx
jne 0x4ad87e
mov dword [esi], 0x95
jmp 0x4adca8
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x4adca8
mov dword [esi], 0x19
jmp 0x4ad89d
mov dword [esi], 0x56
jmp 0x4ad89d
mov dword [esi], 0x58
jmp 0x4ad89d
mov dword [esi], 0x17
jmp 0x4ad89d
mov dword [esi], 0x16
jmp 0x4ad89d
movzx eax, byte [edi + 1]
test byte [eax + 0x51c1d0], cl
jne 0x4ad930
mov dword [esi], 0x76
jmp 0x4ad89d
cmp edx, 0x3f
jg 0x4adad9
je 0x4adaac
cmp edx, 0x3b
jg 0x4ada21
je 0x4ada17
cmp edx, 0x2f
je 0x4ad9d9
jle 0x4ad918
cmp edx, 0x39
jle 0x4ad930
cmp edx, 0x3a
je 0x4adc38
test byte [edx + 0x51c1d0], 0x46
jne 0x4adc0d
mov dword [esi], 0x94
jmp 0x4ad89d
xor ebx, ebx
mov dword [esi], 0x81
test byte [edx + 0x51c1d0], cl
je 0x4ad94d
inc ebx
movzx eax, byte [ebx + edi]
test byte [eax + 0x51c1d0], cl
jne 0x4ad940
cmp byte [ebx + edi], 0x2e
jne 0x4ad966
inc ebx
movzx eax, byte [ebx + edi]
test byte [eax + 0x51c1d0], cl
jne 0x4ad953
mov dword [esi], 0x82
mov al, byte [ebx + edi]
cmp al, 0x65
je 0x4ad971
cmp al, 0x45
jne 0x4ad9af
mov dl, byte [ebx + edi + 1]
movzx eax, dl
test byte [eax + 0x51c1d0], cl
jne 0x4ad997
cmp dl, 0x2b
je 0x4ad98a
cmp dl, 0x2d
jne 0x4ad9af
movzx eax, byte [ebx + edi + 2]
test byte [eax + 0x51c1d0], cl
je 0x4ad9af
add ebx, 2
jmp 0x4ad99d
inc ebx
movzx eax, byte [ebx + edi]
test byte [eax + 0x51c1d0], cl
jne 0x4ad99c
mov dword [esi], 0x82
movzx eax, byte [ebx + edi]
test byte [eax + 0x51c1d0], 0x46
je 0x4adca6
inc ebx
mov dword [esi], 0x94
movzx ecx, byte [ebx + edi]
test byte [ecx + 0x51c1d0], 0x46
jne 0x4ad9c0
jmp 0x4adca6
cmp byte [edi + 1], 0x2a
jne 0x4ada0c
mov cl, byte [edi + 2]
test cl, cl
je 0x4ada0c
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x4ad9f7
cmp byte [eax + edi], 0x2f
je 0x4ada06
movzx ecx, byte [eax + edi]
test ecx, ecx
je 0x4ad88c
inc eax
jmp 0x4ad9ec
inc eax
jmp 0x4ad88c
mov dword [esi], 0x59
jmp 0x4ad89d
xor ebx, ebx
inc ebx
mov dword [esi], ebx
jmp 0x4adca6
mov eax, edx
sub eax, 0x3c
je 0x4ada70
dec eax
je 0x4ada5b
dec eax
jne 0x4ad918
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x4ada43
mov dword [esi], 0x50
jmp 0x4ada7f
cmp eax, 0x3e
jne 0x4ada50
mov dword [esi], 0x55
jmp 0x4ada7f
mov dword [esi], 0x4d
jmp 0x4ad89d
xor eax, eax
mov dword [esi], 0x4c
cmp byte [edi + 1], 0x3d
sete al
inc eax
jmp 0x4adca8
movzx eax, byte [edi + 1]
cmp eax, 0x3d
jne 0x4ada87
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x4adca8
cmp eax, 0x3e
jne 0x4ada94
mov dword [esi], 0x4b
jmp 0x4ada7f
cmp eax, 0x3c
jne 0x4adaa1
mov dword [esi], 0x54
jmp 0x4ada7f
mov dword [esi], 0x4f
jmp 0x4ad89d
movzx eax, byte [edi + 1]
xor edx, edx
inc edx
mov dword [esi], 0x85
test byte [eax + 0x51c1d0], 4
je 0x4ad7ee
inc edx
movzx ecx, byte [edx + edi]
test byte [ecx + 0x51c1d0], 4
jne 0x4adac6
jmp 0x4ad7ee
mov eax, edx
sub eax, 0x40
je 0x4adc38
sub eax, 0x18
je 0x4adbac
sub eax, 3
je 0x4adb84
sub eax, 5
je 0x4adb38
sub eax, 0x18
je 0x4adbac
sub eax, 4
je 0x4adb1c
dec eax
dec eax
jne 0x4ad918
mov dword [esi], 0x5d
jmp 0x4ad89d
cmp byte [edi + 1], 0x7c
je 0x4adb2d
mov dword [esi], 0x53
jmp 0x4ad89d
mov dword [esi], 0x5b
jmp 0x4ada7f
movzx ebx, byte [edi + 1]
xor ecx, ecx
inc ecx
jmp 0x4adb54
cmp ebx, edx
jne 0x4adb4f
movzx eax, byte [edi + ecx + 1]
cmp eax, edx
jne 0x4adb58
inc ecx
inc ecx
movzx ebx, byte [ecx + edi]
test ebx, ebx
jne 0x4adb41
cmp ebx, 0x27
jne 0x4adb6b
mov dword [esi], 0x5e
lea eax, [ecx + 1]
jmp 0x4adca8
test ebx, ebx
je 0x4adb77
mov dword [esi], 0x1a
jmp 0x4adb63
mov dword [esi], 0x94
mov eax, ecx
jmp 0x4adca8
xor eax, eax
inc eax
jmp 0x4adb92
movzx edx, byte [eax + edi]
test edx, edx
je 0x4adb97
inc eax
cmp edx, 0x5d
jne 0x4adb89
push 0x1a
cmp edx, 0x5d
mov ecx, 0x94
pop edi
cmove ecx, edi
mov dword [esi], ecx
jmp 0x4adca8
cmp byte [edi + 1], 0x27
jne 0x4ad918
movzx edx, byte [edi + 2]
push 2
mov dword [esi], 0x83
pop ecx
jmp 0x4adbe1
cmp edx, 0x27
je 0x4adbe5
movzx eax, dl
test byte [eax + 0x51c1d0], 8
jne 0x4adbdc
mov dword [esi], 0x94
inc ecx
movzx edx, byte [ecx + edi]
test edx, edx
jne 0x4adbc5
mov eax, ecx
and eax, 0x80000001
jns 0x4adbf3
dec eax
or eax, 0xfffffffe
inc eax
jne 0x4adbf9
test edx, edx
jne 0x4adc07
mov dword [esi], 0x94
test edx, edx
je 0x4adb7d
inc ecx
jmp 0x4adb7d
movzx eax, byte [edi + 1]
xor ebx, ebx
inc ebx
test byte [eax + 0x51c1d0], 0x46
je 0x4adc2b
inc ebx
movzx ecx, byte [ebx + edi]
test byte [ecx + 0x51c1d0], 0x46
jne 0x4adc1d
mov edx, ebx
mov ecx, edi
call fcn.004ad6c9
mov dword [esi], eax
jmp 0x4adca6
movzx ecx, byte [edi + 1]
xor edx, edx
mov dword [esi], 0x85
test ecx, ecx
je 0x4adca0
movzx eax, cl
test byte [eax + 0x51c1d0], 0x46
je 0x4adc57
inc edx
jmp 0x4adc6c
cmp ecx, 0x28
jne 0x4adc60
test edx, edx
jg 0x4adc77
cmp ecx, 0x3a
jne 0x4adc9c
cmp byte [edi + ebx + 1], cl
jne 0x4adc9c
inc ebx
inc ebx
movzx ecx, byte [ebx + edi]
test ecx, ecx
jne 0x4adc48
jmp 0x4adc9c
inc ebx
movzx ecx, byte [ebx + edi]
test ecx, ecx
je 0x4adc8e
test byte [ecx + 0x51c1d0], 1
jne 0x4adc8e
cmp ecx, 0x29
jne 0x4adc77
cmp ecx, 0x29
jne 0x4adc96
inc ebx
jmp 0x4adc9c
mov dword [esi], 0x94
test edx, edx
jne 0x4adca6
mov dword [esi], 0x94
mov eax, ebx
pop edi
pop esi
pop ebx
ret