Function at 0x49d1f0
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 0x49d3b0
je 0x49d399
cmp ecx, 0x26
jg 0x49d30a
je 0x49d2ff
cmp ecx, 0x22
jg 0x49d2a2
je 0x49d631
cmp ecx, 9
jl 0x49d3e7
cmp ecx, 0xa
jle 0x49d276
cmp ecx, 0xb
jle 0x49d3e7
cmp ecx, 0xd
jle 0x49d276
cmp ecx, 0x20
je 0x49d276
cmp ecx, 0x21
jne 0x49d3e7
cmp byte [edx + 1], 0x3d
mov eax, dword [ebp + 0xc]
push 2
je 0x49d26b
mov dword [eax], 0x94
jmp 0x49d56a
mov dword [eax], 0x4b
jmp 0x49d56a
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
test byte [eax + 0x4e2758], 1
je 0x49d294
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x4e2758], 1
jne 0x49d286
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x49d7a9
mov eax, ecx
sub eax, 0x23
je 0x49d2c5
dec eax
je 0x49d738
dec eax
jne 0x49d3e7
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5a
jmp 0x49d35a
movzx eax, byte [edx + 1]
mov edi, esi
push 4
pop ebx
test byte [eax + 0x4e2758], bl
je 0x49d738
inc edi
movzx ecx, byte [edi + edx]
test byte [ecx + 0x4e2758], bl
jne 0x49d2da
cmp edi, esi
jle 0x49d738
mov ecx, dword [ebp + 0xc]
mov eax, edi
mov dword [ecx], 0x84
jmp 0x49d7ab
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x52
jmp 0x49d35a
mov eax, ecx
sub eax, 0x27
je 0x49d631
dec eax
je 0x49d38e
dec eax
je 0x49d383
dec eax
je 0x49d378
dec eax
je 0x49d36d
dec eax
je 0x49d362
dec eax
jne 0x49d3e7
cmp byte [edx + 1], 0x2d
jne 0x49d351
movzx eax, byte [edx + 2]
push 2
pop esi
jmp 0x49d348
cmp eax, 0xa
je 0x49d294
inc esi
movzx eax, byte [esi + edx]
test eax, eax
jne 0x49d33a
jmp 0x49d294
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x57
xor eax, eax
inc eax
jmp 0x49d7ab
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x19
jmp 0x49d35a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x56
jmp 0x49d35a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x58
jmp 0x49d35a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x17
jmp 0x49d35a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x16
jmp 0x49d35a
movzx eax, byte [edx + 1]
test byte [eax + 0x4e2758], bl
jne 0x49d402
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x76
jmp 0x49d35a
cmp ecx, 0x3f
jg 0x49d5cc
je 0x49d59b
cmp ecx, 0x3b
jg 0x49d4fe
je 0x49d4f1
cmp ecx, 0x2f
je 0x49d4ab
jle 0x49d3e7
cmp ecx, 0x39
jle 0x49d402
cmp ecx, 0x3a
je 0x49d738
test byte [ecx + 0x4e2758], 0x46
jne 0x49d711
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x94
jmp 0x49d35a
mov edi, dword [ebp + 0xc]
xor esi, esi
mov dword [edi], 0x81
movzx eax, byte [edx]
jmp 0x49d417
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4e2758], bl
jne 0x49d412
cmp byte [esi + edx], 0x2e
jne 0x49d438
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4e2758], bl
jne 0x49d425
mov dword [edi], 0x82
mov al, byte [esi + edx]
cmp al, 0x65
je 0x49d443
cmp al, 0x45
jne 0x49d481
mov cl, byte [esi + edx + 1]
movzx eax, cl
test byte [eax + 0x4e2758], bl
jne 0x49d469
cmp cl, 0x2b
je 0x49d45c
cmp cl, 0x2d
jne 0x49d481
movzx eax, byte [esi + edx + 2]
test byte [eax + 0x4e2758], bl
je 0x49d481
add esi, 2
jmp 0x49d46f
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4e2758], bl
jne 0x49d46e
mov dword [edi], 0x82
movzx eax, byte [esi + edx]
test byte [eax + 0x4e2758], 0x46
je 0x49d7a9
inc esi
mov dword [edi], 0x94
movzx ecx, byte [esi + edx]
test byte [ecx + 0x4e2758], 0x46
jne 0x49d492
jmp 0x49d7a9
cmp byte [edx + 1], 0x2a
jne 0x49d4e3
mov cl, byte [edx + 2]
test cl, cl
je 0x49d4e3
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x49d4c9
cmp byte [eax + edx], 0x2f
je 0x49d4d4
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x49d4d5
inc eax
jmp 0x49d4be
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x95
jmp 0x49d7ab
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x59
jmp 0x49d35a
mov eax, dword [ebp + 0xc]
xor esi, esi
inc esi
mov dword [eax], esi
jmp 0x49d7a9
mov eax, ecx
sub eax, 0x3c
je 0x49d556
dec eax
je 0x49d53e
dec eax
jne 0x49d3e7
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x49d523
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50
jmp 0x49d568
cmp eax, 0x3e
mov eax, dword [ebp + 0xc]
jne 0x49d533
mov dword [eax], 0x55
jmp 0x49d568
mov dword [eax], 0x4d
jmp 0x49d35a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4c
xor eax, eax
cmp byte [edx + 1], 0x3d
sete al
inc eax
jmp 0x49d7ab
movzx eax, byte [edx + 1]
cmp eax, 0x3d
jne 0x49d570
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4e
push 2
pop eax
jmp 0x49d7ab
cmp eax, 0x3e
jne 0x49d580
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x4b
jmp 0x49d568
cmp eax, 0x3c
mov eax, dword [ebp + 0xc]
jne 0x49d590
mov dword [eax], 0x54
jmp 0x49d568
mov dword [eax], 0x4f
jmp 0x49d35a
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 + 0x4e2758], bl
je 0x49d7a9
inc esi
movzx ecx, byte [esi + edx]
test byte [ecx + 0x4e2758], bl
jne 0x49d5ba
jmp 0x49d7a9
mov eax, ecx
sub eax, 0x40
je 0x49d738
sub eax, 0x18
je 0x49d6af
sub eax, 3
je 0x49d684
sub eax, 5
je 0x49d631
sub eax, 0x18
je 0x49d6af
sub eax, 4
je 0x49d612
dec eax
dec eax
jne 0x49d3e7
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5d
jmp 0x49d35a
cmp byte [edx + 1], 0x7c
mov eax, dword [ebp + 0xc]
je 0x49d626
mov dword [eax], 0x53
jmp 0x49d35a
mov dword [eax], 0x5b
jmp 0x49d568
movzx edi, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x49d64d
cmp edi, ecx
jne 0x49d648
movzx eax, byte [edx + esi + 1]
cmp eax, ecx
jne 0x49d651
inc esi
inc esi
movzx edi, byte [esi + edx]
test edi, edi
jne 0x49d63a
cmp edi, 0x27
jne 0x49d667
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5e
lea eax, [esi + 1]
jmp 0x49d7ab
test edi, edi
je 0x49d676
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x1a
jmp 0x49d65f
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x94
jmp 0x49d7a9
xor eax, eax
inc eax
jmp 0x49d692
movzx ecx, byte [eax + edx]
test ecx, ecx
je 0x49d697
inc eax
cmp ecx, 0x5d
jne 0x49d689
cmp ecx, 0x5d
mov edx, 0x94
mov ecx, dword [ebp + 0xc]
push 0x1a
pop esi
cmove edx, esi
mov dword [ecx], edx
jmp 0x49d7ab
cmp byte [edx + 1], 0x27
jne 0x49d3e7
mov esi, dword [ebp + 0xc]
push 2
pop ecx
mov dword [esi], 0x83
movzx eax, byte [edx + 2]
jmp 0x49d6d0
inc ecx
movzx eax, byte [ecx + edx]
test byte [eax + 0x4e2758], 8
jne 0x49d6cb
cmp byte [ecx + edx], 0x27
jne 0x49d6ef
mov eax, ecx
and eax, 0x80000001
jns 0x49d6ed
dec eax
or eax, 0xfffffffe
inc eax
je 0x49d703
mov dword [esi], 0x94
jmp 0x49d6fc
cmp al, 0x27
je 0x49d703
inc ecx
mov al, byte [ecx + edx]
test al, al
jne 0x49d6f7
cmp byte [ecx + edx], 0
je 0x49d70a
inc ecx
mov eax, ecx
jmp 0x49d7ab
movzx eax, byte [edx + 1]
xor esi, esi
inc esi
jmp 0x49d71f
inc esi
movzx eax, byte [esi + edx]
test byte [eax + 0x4e2758], 0x46
jne 0x49d71a
push esi
push edx
call fcn.0048a8f1
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x49d7a9
mov ebx, dword [ebp + 0xc]
xor edi, edi
mov dword [ebx], 0x85
movzx ecx, byte [edx + 1]
test ecx, ecx
je 0x49d7a3
movzx eax, cl
test byte [eax + 0x4e2758], 0x46
je 0x49d75a
inc edi
jmp 0x49d76f
cmp ecx, 0x28
jne 0x49d763
test edi, edi
jg 0x49d77a
cmp ecx, 0x3a
jne 0x49d79f
cmp byte [edx + esi + 1], cl
jne 0x49d79f
inc esi
inc esi
movzx ecx, byte [esi + edx]
test ecx, ecx
jne 0x49d74b
jmp 0x49d79f
inc esi
movzx ecx, byte [esi + edx]
test ecx, ecx
je 0x49d791
test byte [ecx + 0x4e2758], 1
jne 0x49d791
cmp ecx, 0x29
jne 0x49d77a
cmp ecx, 0x29
jne 0x49d799
inc esi
jmp 0x49d79f
mov dword [ebx], 0x94
test edi, edi
jne 0x49d7a9
mov dword [ebx], 0x94
mov eax, esi
pop edi
pop esi
pop ebx
pop ebp
ret