Function at 0x49cc15
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 0x49cdd5
je 0x49cdbe
cmp ecx, 0x26
jg 0x49cd2f
je 0x49cd24
cmp ecx, 0x22
jg 0x49ccc7
je 0x49d056
cmp ecx, 9
jl 0x49ce0c
cmp ecx, 0xa
jle 0x49cc9b
cmp ecx, 0xb
jle 0x49ce0c
cmp ecx, 0xd
jle 0x49cc9b
cmp ecx, 0x20
je 0x49cc9b
cmp ecx, 0x21
jne 0x49ce0c
cmp byte [edx + 1], 0x3d
mov eax, dword [ebp + 0xc]
push 2
je 0x49cc90
mov dword [eax], 0x94
jmp 0x49cf8f
mov dword [eax], 0x4b
jmp 0x49cf8f
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
test byte [eax + 0x4e1738], 1
je 0x49ccb9
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x4e1738], 1
jne 0x49ccab
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x49d1ce
mov eax, ecx
sub eax, 0x23
je 0x49ccea
dec eax
je 0x49d15d
dec eax
jne 0x49ce0c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
jmp 0x49cd7f
movzx eax, byte [edx + 1]
mov edi, esi
push 4
pop ebx
test byte [eax + 0x4e1738], bl
je 0x49d15d
inc edi
movzx ecx, byte [edi + edx]
test byte [ecx + 0x4e1738], bl
jne 0x49ccff
cmp edi, esi
jle 0x49d15d
mov ecx, dword [ebp + 0xc]
mov eax, edi
mov dword [ecx], 0x84
jmp 0x49d1d0
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x52
jmp 0x49cd7f
mov eax, ecx
sub eax, 0x27
je 0x49d056
dec eax
je 0x49cdb3
dec eax
je 0x49cda8
dec eax
je 0x49cd9d
dec eax
je 0x49cd92
dec eax
je 0x49cd87
dec eax
jne 0x49ce0c
cmp byte [edx + 1], 0x2d
jne 0x49cd76
movzx eax, byte [edx + 2]
push 2
pop esi
jmp 0x49cd6d
cmp eax, 0xa
je 0x49ccb9
inc esi
movzx eax, byte [esi + edx]
test eax, eax
jne 0x49cd5f
jmp 0x49ccb9
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x57
xor eax, eax
inc eax
jmp 0x49d1d0
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x19
jmp 0x49cd7f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x56
jmp 0x49cd7f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x58
jmp 0x49cd7f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x49cd7f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x49cd7f
movzx eax, byte [edx + 1]
test byte [eax + 0x4e1738], bl
jne 0x49ce27
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x76
jmp 0x49cd7f
cmp ecx, 0x3f
jg 0x49cff1
je 0x49cfc0
cmp ecx, 0x3b
jg 0x49cf23
je 0x49cf16
cmp ecx, 0x2f
je 0x49ced0
jle 0x49ce0c
cmp ecx, 0x39
jle 0x49ce27
cmp ecx, 0x3a
je 0x49d15d
test byte [ecx + 0x4e1738], 0x46
jne 0x49d136
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x94
jmp 0x49cd7f
mov edi, dword [ebp + 0xc]
xor esi, esi
mov dword [edi], 0x81
movzx eax, byte [edx]
jmp 0x49ce3c
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4e1738], bl
jne 0x49ce37
cmp byte [esi + edx], 0x2e
jne 0x49ce5d
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4e1738], bl
jne 0x49ce4a
mov dword [edi], 0x82
mov al, byte [esi + edx]
cmp al, 0x65
je 0x49ce68
cmp al, 0x45
jne 0x49cea6
mov cl, byte [esi + edx + 1]
movzx eax, cl
test byte [eax + 0x4e1738], bl
jne 0x49ce8e
cmp cl, 0x2b
je 0x49ce81
cmp cl, 0x2d
jne 0x49cea6
movzx eax, byte [esi + edx + 2]
test byte [eax + 0x4e1738], bl
je 0x49cea6
add esi, 2
jmp 0x49ce94
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4e1738], bl
jne 0x49ce93
mov dword [edi], 0x82
movzx eax, byte [esi + edx]
test byte [eax + 0x4e1738], 0x46
je 0x49d1ce
inc esi
mov dword [edi], 0x94
movzx ecx, byte [esi + edx]
test byte [ecx + 0x4e1738], 0x46
jne 0x49ceb7
jmp 0x49d1ce
cmp byte [edx + 1], 0x2a
jne 0x49cf08
mov cl, byte [edx + 2]
test cl, cl
je 0x49cf08
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x49ceee
cmp byte [eax + edx], 0x2f
je 0x49cef9
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x49cefa
inc eax
jmp 0x49cee3
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x49d1d0
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x49cd7f
mov eax, dword [ebp + 0xc]
xor esi, esi
inc esi
mov dword [eax], esi
jmp 0x49d1ce
mov eax, ecx
sub eax, 0x3c
je 0x49cf7b
dec eax
je 0x49cf63
dec eax
jne 0x49ce0c
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x49cf48
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50
jmp 0x49cf8d
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x49cf58
mov dword [eax], 0x55
jmp 0x49cf8d
mov dword [eax], 0x4d
jmp 0x49cd7f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4c
xor eax, eax
cmp byte [edx + 1], 0x3d
sete al
inc eax
jmp 0x49d1d0
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x49cf95
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
push 2
pop eax
jmp 0x49d1d0
cmp eax, 0x3e
jne 0x49cfa5
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4b
jmp 0x49cf8d
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x49cfb5
mov dword [eax], 0x54
jmp 0x49cf8d
mov dword [eax], 0x4f
jmp 0x49cd7f
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 + 0x4e1738], bl
je 0x49d1ce
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x4e1738], bl
jne 0x49cfdf
jmp 0x49d1ce
mov eax, ecx
sub eax, 0x40
je 0x49d15d
sub eax, 0x18
je 0x49d0d4
sub eax, 3
je 0x49d0a9
sub eax, 5
je 0x49d056
sub eax, 0x18
je 0x49d0d4
sub eax, 4
je 0x49d037
dec eax
dec eax
jne 0x49ce0c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x49cd7f
cmp byte [edx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x49d04b
mov dword [eax], 0x53
jmp 0x49cd7f
mov dword [eax], 0x5b
jmp 0x49cf8d
movzx edi, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x49d072
cmp edi, ecx
jne 0x49d06d
movzx eax, byte [edx + esi + 1]
cmp eax, ecx
jne 0x49d076
inc esi
inc esi
movzx edi, byte [esi + edx]
test edi, edi
jne 0x49d05f
cmp edi, 0x27
jne 0x49d08c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5e
lea eax, [esi + 1]
jmp 0x49d1d0
test edi, edi
je 0x49d09b
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1a
jmp 0x49d084
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x94
jmp 0x49d1ce
xor eax, eax
inc eax
jmp 0x49d0b7
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x49d0bc
inc eax
cmp ecx, 0x5d
jne 0x49d0ae
cmp ecx, 0x5d
mov edx, 0x94
mov ecx, dword [ebp + 0xc]
push 0x1a
pop esi
cmove edx, esi
mov dword [ecx], edx
jmp 0x49d1d0
cmp byte [edx + 1], 0x27
jne 0x49ce0c
mov esi, dword [ebp + 0xc]
push 2
pop ecx
mov dword [esi], 0x83
movzx eax, byte [edx + 2]
jmp 0x49d0f5
inc ecx
movzx eax, byte [ecx + edx]
test byte [eax + 0x4e1738], 8
jne 0x49d0f0
cmp byte [ecx + edx], 0x27
jne 0x49d114
mov eax, ecx
and eax, 0x80000001
jns 0x49d112
dec eax
or eax, 0xfffffffe
inc eax
je 0x49d128
mov dword [esi], 0x94
jmp 0x49d121
cmp al, 0x27
je 0x49d128
inc ecx
mov al, byte [ecx + edx]
test al, al
jne 0x49d11c
cmp byte [ecx + edx], 0
je 0x49d12f
inc ecx
mov eax, ecx
jmp 0x49d1d0
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x49d144
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4e1738], 0x46
jne 0x49d13f
push esi
push edx
call fcn.0048a316
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x49d1ce
mov ebx, dword [ebp + 0xc]
xor edi, edi
mov dword [ebx], 0x85
movzx ecx, byte [edx + 1]
test ecx, ecx
je 0x49d1c8
movzx eax, cl
test byte [eax + 0x4e1738], 0x46
je 0x49d17f
inc edi
jmp 0x49d194
cmp ecx, 0x28
jne 0x49d188
test edi, edi
jg 0x49d19f
cmp ecx, 0x3a
jne 0x49d1c4
cmp byte [edx + esi + 1], cl
jne 0x49d1c4
inc esi
inc esi
movzx ecx, byte [esi + edx]
test ecx, ecx
jne 0x49d170
jmp 0x49d1c4
inc esi
movzx ecx, byte [esi + edx]
test ecx, ecx
je 0x49d1b6
test byte [ecx + 0x4e1738], 1
jne 0x49d1b6
cmp ecx, 0x29
jne 0x49d19f
cmp ecx, 0x29
jne 0x49d1be
inc esi
jmp 0x49d1c4
mov dword [ebx], 0x94
test edi, edi
jne 0x49d1ce
mov dword [ebx], 0x94
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
ret