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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
movzx edx, byte [ecx]
cmp edx, 0x2e
mov bl, 4
jg 0x42278c
je 0x422775
cmp edx, 0x26
jg 0x4226e3
je 0x4226d5
cmp edx, 0x22
jg 0x422678
je 0x4229f6
cmp edx, 9
jl 0x4227c3
cmp edx, 0xa
jle 0x42265c
cmp edx, 0xb
jle 0x4227c3
cmp edx, 0xd
jle 0x42265c
cmp edx, 0x20
je 0x42265c
cmp edx, 0x21
jne 0x4227c3
cmp byte [ecx + 1], 0x3d
mov eax, dword [ebp + 0xc]
je 0x422948
mov dword [eax], 0x94
jmp 0x422939
movzx edx, byte [ecx + 1]
push 1
pop eax
test byte [edx + 0x483460], 1
je 0x4228a7
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x422663
mov eax, edx
sub eax, 0x23
je 0x42269b
dec eax
je 0x422afb
dec eax
jne 0x4227c3
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
jmp 0x4227d9
movzx edx, byte [ecx + 1]
mov bl, 4
push 1
test byte [edx + 0x483460], bl
pop eax
je 0x422afb
movzx edx, byte [eax + ecx + 1]
inc eax
test byte [edx + 0x483460], bl
jne 0x4226b0
cmp eax, 1
jle 0x422afb
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x84
jmp 0x422b74
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x52
jmp 0x4227d9
mov eax, edx
sub eax, 0x27
je 0x4229f6
dec eax
je 0x42276a
dec eax
je 0x42275f
dec eax
je 0x422754
dec eax
je 0x422746
dec eax
je 0x422738
dec eax
jne 0x4227c3
cmp byte [ecx + 1], 0x2d
jne 0x42272a
movzx edx, byte [ecx + 2]
push 2
pop eax
test edx, edx
je 0x4228a7
cmp edx, 0xa
je 0x4228a7
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x422711
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x57
jmp 0x4227d9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x19
jmp 0x4227d9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x56
jmp 0x4227d9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x58
jmp 0x4227d9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x4227d9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x4227d9
movzx eax, byte [ecx + 1]
test byte [eax + 0x483460], bl
jne 0x4227e1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x76
jmp 0x4227d9
cmp edx, 0x3f
jg 0x422991
je 0x42296b
cmp edx, 0x3b
jg 0x4228d0
je 0x4228c3
cmp edx, 0x2f
je 0x42287d
jle 0x4227c3
cmp edx, 0x39
jle 0x4227e1
cmp edx, 0x3a
je 0x422afb
test byte [edx + 0x483460], 0x46
jne 0x422ad1
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x94
push 1
pop eax
jmp 0x422b74
mov esi, dword [ebp + 0xc]
xor eax, eax
mov dword [esi], 0x81
movzx edx, byte [ecx]
test byte [edx + 0x483460], bl
je 0x4227ff
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x4227ef
cmp byte [eax + ecx], 0x2e
jne 0x422819
movzx edx, byte [eax + ecx + 1]
inc eax
test byte [edx + 0x483460], bl
jne 0x422805
mov dword [esi], 0x82
mov dl, byte [eax + ecx]
cmp dl, 0x65
je 0x422826
cmp dl, 0x45
jne 0x422863
mov dl, byte [eax + ecx + 1]
movzx edi, dl
test byte [edi + 0x483460], bl
jne 0x42284c
cmp dl, 0x2b
je 0x42283f
cmp dl, 0x2d
jne 0x422863
movzx edx, byte [eax + ecx + 2]
test byte [edx + 0x483460], bl
je 0x422863
inc eax
inc eax
movzx edx, byte [eax + ecx]
test byte [edx + 0x483460], bl
je 0x42285d
inc eax
jmp 0x42284e
mov dword [esi], 0x82
movzx edx, byte [eax + ecx]
test byte [edx + 0x483460], 0x46
je 0x422b74
mov dword [esi], 0x94
inc eax
jmp 0x422863
cmp byte [ecx + 1], 0x2a
jne 0x4228b5
mov dl, byte [ecx + 2]
test dl, dl
je 0x4228b5
push 3
pop eax
movzx edx, dl
cmp edx, 0x2a
jne 0x42289b
cmp byte [eax + ecx], 0x2f
je 0x4228a6
movzx edx, byte [eax + ecx]
test edx, edx
je 0x4228a7
inc eax
jmp 0x422890
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x422b74
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x4227d9
mov ecx, dword [ebp + 0xc]
push 1
pop eax
mov dword [ecx], eax
jmp 0x422b74
mov eax, edx
sub eax, 0x3c
je 0x422927
dec eax
je 0x422910
dec eax
jne 0x4227c3
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x4228f5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50
jmp 0x422939
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x422905
mov dword [eax], 0x55
jmp 0x422939
mov dword [eax], 0x4d
jmp 0x4227d9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4c
xor eax, eax
cmp byte [ecx + 1], 0x3d
sete al
jmp 0x422a34
movzx eax, byte [ecx + 1]
cmp eax, 0x3d
jne 0x422940
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
push 2
jmp 0x4227db
cmp eax, 0x3e
jne 0x422950
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4b
jmp 0x422939
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x422960
mov dword [eax], 0x54
jmp 0x422939
mov dword [eax], 0x4f
jmp 0x4227d9
mov eax, dword [ebp + 0xc]
push 1
mov bl, 4
mov dword [eax], 0x85
pop eax
movzx edx, byte [ecx + 1]
test byte [edx + 0x483460], bl
je 0x422b74
movzx edx, byte [eax + ecx + 1]
inc eax
jmp 0x42297d
mov eax, edx
sub eax, 0x40
je 0x422afb
sub eax, 0x18
je 0x422a72
sub eax, 3
je 0x422a45
sub eax, 5
je 0x4229f6
sub eax, 0x18
je 0x422a72
sub eax, 4
je 0x4229d7
dec eax
dec eax
jne 0x4227c3
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x4227d9
cmp byte [ecx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x4229eb
mov dword [eax], 0x53
jmp 0x4227d9
mov dword [eax], 0x5b
jmp 0x422939
movzx esi, byte [ecx + 1]
push 1
pop eax
test esi, esi
je 0x422a17
cmp esi, edx
jne 0x422a0f
movzx edi, byte [ecx + eax + 1]
cmp edi, edx
jne 0x422a17
inc eax
movzx esi, byte [eax + ecx + 1]
inc eax
jmp 0x4229fd
cmp esi, 0x27
jne 0x422a27
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x5e
jmp 0x422a34
mov ecx, dword [ebp + 0xc]
test esi, esi
je 0x422a3a
mov dword [ecx], 0x1a
inc eax
jmp 0x422b74
mov dword [ecx], 0x94
jmp 0x422b74
push 1
pop eax
movzx edx, byte [eax + ecx]
test edx, edx
je 0x422a56
inc eax
cmp edx, 0x5d
jne 0x422a48
xor ecx, ecx
cmp edx, 0x5d
mov edx, dword [ebp + 0xc]
setne cl
dec ecx
and ecx, 0xffffff86
add ecx, 0x94
mov dword [edx], ecx
jmp 0x422b74
cmp byte [ecx + 1], 0x27
jne 0x4227c3
mov esi, dword [ebp + 0xc]
push 2
pop edi
mov dword [esi], 0x83
movzx ebx, byte [ecx + 2]
test ebx, ebx
je 0x422aaf
cmp ebx, 0x27
je 0x422aaf
movzx eax, bl
test byte [eax + 0x483460], 8
jne 0x422aa7
mov dword [esi], 0x94
movzx ebx, byte [edi + ecx + 1]
inc edi
jmp 0x422a8c
mov eax, edi
push 2
cdq
pop ecx
idiv ecx
test edx, edx
jne 0x422abf
test ebx, ebx
jne 0x422ac9
test ebx, ebx
mov dword [esi], 0x94
je 0x422aca
inc edi
mov eax, edi
jmp 0x422b74
movzx eax, byte [ecx + 1]
push 1
pop esi
test byte [eax + 0x483460], 0x46
je 0x422ae9
movzx eax, byte [esi + ecx + 1]
inc esi
jmp 0x422ad8
push esi
push ecx
call fcn.00422b79
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, esi
jmp 0x422b74
mov esi, dword [ebp + 0xc]
xor edi, edi
push 1
mov dword [esi], 0x85
pop eax
movzx edx, byte [ecx + 1]
test edx, edx
je 0x422b6e
movzx ebx, dl
test byte [ebx + 0x483460], 0x46
je 0x422b20
inc edi
jmp 0x422b35
cmp edx, 0x28
jne 0x422b29
test edi, edi
jg 0x422b41
cmp edx, 0x3a
jne 0x422b6a
cmp byte [ecx + eax + 1], dl
jne 0x422b6a
inc eax
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
jne 0x422b11
jmp 0x422b6a
movzx edx, byte [eax + ecx + 1]
inc eax
test edx, edx
je 0x422b5c
movzx ebx, dl
test byte [ebx + 0x483460], 1
jne 0x422b5c
cmp edx, 0x29
jne 0x422b41
cmp edx, 0x29
jne 0x422b64
inc eax
jmp 0x422b6a
mov dword [esi], 0x94
test edi, edi
jne 0x422b74
mov dword [esi], 0x94
pop edi
pop esi
pop ebx
pop ebp
ret