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

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push ebx
push esi
push edi
movzx ecx, byte [edx]
xor esi, esi
inc esi
push 4
pop ebx
cmp ecx, 0x2e
jg 0x496f29
je 0x496f12
cmp ecx, 0x26
jg 0x496e83
je 0x496e78
cmp ecx, 0x22
jg 0x496e1b
je 0x4971aa
cmp ecx, 9
jl 0x496f60
cmp ecx, 0xa
jle 0x496def
cmp ecx, 0xb
jle 0x496f60
cmp ecx, 0xd
jle 0x496def
cmp ecx, 0x20
je 0x496def
cmp ecx, 0x21
jne 0x496f60
cmp byte [edx + 1], 0x3d
mov eax, dword [ebp + 0xc]
push 2
je 0x496de4
mov dword [eax], 0x94
jmp 0x4970e3
mov dword [eax], 0x4b
jmp 0x4970e3
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
test byte [eax + 0x4dbad8], 1
je 0x496e0d
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x4dbad8], 1
jne 0x496dff
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x497322
mov eax, ecx
sub eax, 0x23
je 0x496e3e
dec eax
je 0x4972b1
dec eax
jne 0x496f60
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
jmp 0x496ed3
movzx eax, byte [edx + 1]
mov edi, esi
push 4
pop ebx
test byte [eax + 0x4dbad8], bl
je 0x4972b1
inc edi
movzx ecx, byte [edi + edx]
test byte [ecx + 0x4dbad8], bl
jne 0x496e53
cmp edi, esi
jle 0x4972b1
mov ecx, dword [ebp + 0xc]
mov eax, edi
mov dword [ecx], 0x84
jmp 0x497324
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x52
jmp 0x496ed3
mov eax, ecx
sub eax, 0x27
je 0x4971aa
dec eax
je 0x496f07
dec eax
je 0x496efc
dec eax
je 0x496ef1
dec eax
je 0x496ee6
dec eax
je 0x496edb
dec eax
jne 0x496f60
cmp byte [edx + 1], 0x2d
jne 0x496eca
movzx eax, byte [edx + 2]
push 2
pop esi
jmp 0x496ec1
cmp eax, 0xa
je 0x496e0d
inc esi
movzx eax, byte [esi + edx]
test eax, eax
jne 0x496eb3
jmp 0x496e0d
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x57
xor eax, eax
inc eax
jmp 0x497324
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x19
jmp 0x496ed3
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x56
jmp 0x496ed3
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x58
jmp 0x496ed3
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x496ed3
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x496ed3
movzx eax, byte [edx + 1]
test byte [eax + 0x4dbad8], bl
jne 0x496f7b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x76
jmp 0x496ed3
cmp ecx, 0x3f
jg 0x497145
je 0x497114
cmp ecx, 0x3b
jg 0x497077
je 0x49706a
cmp ecx, 0x2f
je 0x497024
jle 0x496f60
cmp ecx, 0x39
jle 0x496f7b
cmp ecx, 0x3a
je 0x4972b1
test byte [ecx + 0x4dbad8], 0x46
jne 0x49728a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x94
jmp 0x496ed3
mov edi, dword [ebp + 0xc]
xor esi, esi
mov dword [edi], 0x81
movzx eax, byte [edx]
jmp 0x496f90
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4dbad8], bl
jne 0x496f8b
cmp byte [esi + edx], 0x2e
jne 0x496fb1
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4dbad8], bl
jne 0x496f9e
mov dword [edi], 0x82
mov al, byte [esi + edx]
cmp al, 0x65
je 0x496fbc
cmp al, 0x45
jne 0x496ffa
mov cl, byte [esi + edx + 1]
movzx eax, cl
test byte [eax + 0x4dbad8], bl
jne 0x496fe2
cmp cl, 0x2b
je 0x496fd5
cmp cl, 0x2d
jne 0x496ffa
movzx eax, byte [esi + edx + 2]
test byte [eax + 0x4dbad8], bl
je 0x496ffa
add esi, 2
jmp 0x496fe8
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4dbad8], bl
jne 0x496fe7
mov dword [edi], 0x82
movzx eax, byte [esi + edx]
test byte [eax + 0x4dbad8], 0x46
je 0x497322
inc esi
mov dword [edi], 0x94
movzx ecx, byte [esi + edx]
test byte [ecx + 0x4dbad8], 0x46
jne 0x49700b
jmp 0x497322
cmp byte [edx + 1], 0x2a
jne 0x49705c
mov cl, byte [edx + 2]
test cl, cl
je 0x49705c
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x497042
cmp byte [eax + edx], 0x2f
je 0x49704d
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x49704e
inc eax
jmp 0x497037
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x497324
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x496ed3
mov eax, dword [ebp + 0xc]
xor esi, esi
inc esi
mov dword [eax], esi
jmp 0x497322
mov eax, ecx
sub eax, 0x3c
je 0x4970cf
dec eax
je 0x4970b7
dec eax
jne 0x496f60
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x49709c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50
jmp 0x4970e1
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x4970ac
mov dword [eax], 0x55
jmp 0x4970e1
mov dword [eax], 0x4d
jmp 0x496ed3
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4c
xor eax, eax
cmp byte [edx + 1], 0x3d
sete al
inc eax
jmp 0x497324
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x4970e9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
push 2
pop eax
jmp 0x497324
cmp eax, 0x3e
jne 0x4970f9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4b
jmp 0x4970e1
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x497109
mov dword [eax], 0x54
jmp 0x4970e1
mov dword [eax], 0x4f
jmp 0x496ed3
mov eax, dword [ebp + 0xc]
xor esi, esi
push 4
pop ebx
inc esi
mov dword [eax], 0x85
movzx eax, byte [edx + 1]
test byte [eax + 0x4dbad8], bl
je 0x497322
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x4dbad8], bl
jne 0x497133
jmp 0x497322
mov eax, ecx
sub eax, 0x40
je 0x4972b1
sub eax, 0x18
je 0x497228
sub eax, 3
je 0x4971fd
sub eax, 5
je 0x4971aa
sub eax, 0x18
je 0x497228
sub eax, 4
je 0x49718b
dec eax
dec eax
jne 0x496f60
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x496ed3
cmp byte [edx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x49719f
mov dword [eax], 0x53
jmp 0x496ed3
mov dword [eax], 0x5b
jmp 0x4970e1
movzx edi, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x4971c6
cmp edi, ecx
jne 0x4971c1
movzx eax, byte [edx + esi + 1]
cmp eax, ecx
jne 0x4971ca
inc esi
inc esi
movzx edi, byte [esi + edx]
test edi, edi
jne 0x4971b3
cmp edi, 0x27
jne 0x4971e0
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5e
lea eax, [esi + 1]
jmp 0x497324
test edi, edi
je 0x4971ef
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1a
jmp 0x4971d8
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x94
jmp 0x497322
xor eax, eax
inc eax
jmp 0x49720b
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x497210
inc eax
cmp ecx, 0x5d
jne 0x497202
cmp ecx, 0x5d
mov edx, 0x94
mov ecx, dword [ebp + 0xc]
push 0x1a
pop esi
cmove edx, esi
mov dword [ecx], edx
jmp 0x497324
cmp byte [edx + 1], 0x27
jne 0x496f60
mov esi, dword [ebp + 0xc]
push 2
pop ecx
mov dword [esi], 0x83
movzx eax, byte [edx + 2]
jmp 0x497249
inc ecx
movzx eax, byte [ecx + edx]
test byte [eax + 0x4dbad8], 8
jne 0x497244
cmp byte [ecx + edx], 0x27
jne 0x497268
mov eax, ecx
and eax, 0x80000001
jns 0x497266
dec eax
or eax, 0xfffffffe
inc eax
je 0x49727c
mov dword [esi], 0x94
jmp 0x497275
cmp al, 0x27
je 0x49727c
inc ecx
mov al, byte [ecx + edx]
test al, al
jne 0x497270
cmp byte [ecx + edx], 0
je 0x497283
inc ecx
mov eax, ecx
jmp 0x497324
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x497298
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4dbad8], 0x46
jne 0x497293
push esi
push edx
call fcn.00484467
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x497322
mov ebx, dword [ebp + 0xc]
xor edi, edi
mov dword [ebx], 0x85
movzx ecx, byte [edx + 1]
test ecx, ecx
je 0x49731c
movzx eax, cl
test byte [eax + 0x4dbad8], 0x46
je 0x4972d3
inc edi
jmp 0x4972e8
cmp ecx, 0x28
jne 0x4972dc
test edi, edi
jg 0x4972f3
cmp ecx, 0x3a
jne 0x497318
cmp byte [edx + esi + 1], cl
jne 0x497318
inc esi
inc esi
movzx ecx, byte [esi + edx]
test ecx, ecx
jne 0x4972c4
jmp 0x497318
inc esi
movzx ecx, byte [esi + edx]
test ecx, ecx
je 0x49730a
test byte [ecx + 0x4dbad8], 1
jne 0x49730a
cmp ecx, 0x29
jne 0x4972f3
cmp ecx, 0x29
jne 0x497312
inc esi
jmp 0x497318
mov dword [ebx], 0x94
test edi, edi
jne 0x497322
mov dword [ebx], 0x94
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
ret