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

Disassembly:
push ebx
mov ebx, eax
movzx ecx, byte [ebx]
cmp ecx, 0x2e
push edi
mov dl, 4
jg 0x4523db
je 0x4523c7
cmp ecx, 0x26
jg 0x45234a
je 0x452342
cmp ecx, 0x22
jg 0x4522ec
je 0x452614
cmp ecx, 9
jl 0x452412
cmp ecx, 0xa
jle 0x4522ca
cmp ecx, 0xb
jle 0x452412
cmp ecx, 0xd
jle 0x4522ca
cmp ecx, 0x20
je 0x4522ca
cmp ecx, 0x21
jne 0x452412
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x452775
mov dword [esi], 0x4b
jmp 0x45277b
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x4522d8
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ae670], 1
jne 0x4522d3
mov dword [esi], 0x95
jmp 0x45277b
mov eax, ecx
sub eax, 0x23
je 0x45230c
dec eax
je 0x452707
dec eax
jne 0x452412
mov dword [esi], 0x5a
jmp 0x452397
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x4ae670], dl
je 0x452707
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ae670], dl
jne 0x452321
cmp eax, 1
jle 0x452707
mov dword [esi], 0x84
jmp 0x45277b
mov dword [esi], 0x52
jmp 0x452397
mov eax, ecx
sub eax, 0x27
je 0x452614
dec eax
je 0x4523bf
dec eax
je 0x4523b7
dec eax
je 0x4523af
dec eax
je 0x4523a7
dec eax
je 0x45239f
dec eax
jne 0x452412
cmp byte [ebx + 1], 0x2d
jne 0x452391
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x452388
cmp ecx, 0xa
je 0x4522e1
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x45237a
jmp 0x4522e1
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x45277b
mov dword [esi], 0x19
jmp 0x452397
mov dword [esi], 0x56
jmp 0x452397
mov dword [esi], 0x58
jmp 0x452397
mov dword [esi], 0x17
jmp 0x452397
mov dword [esi], 0x16
jmp 0x452397
movzx eax, byte [ebx + 1]
test byte [eax + 0x4ae670], dl
jne 0x452427
mov dword [esi], 0x76
jmp 0x452397
cmp ecx, 0x3f
jg 0x4525b5
je 0x452592
cmp ecx, 0x3b
jg 0x452507
je 0x4524fd
cmp ecx, 0x2f
je 0x4524bf
jle 0x452412
cmp ecx, 0x39
jle 0x452427
cmp ecx, 0x3a
je 0x452707
test byte [ecx + 0x4ae670], 0x46
jne 0x4526e5
xor eax, eax
inc eax
jmp 0x452775
mov dword [esi], 0x81
movzx ecx, byte [ebx]
xor eax, eax
jmp 0x452439
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ae670], dl
jne 0x452434
cmp byte [eax + ebx], 0x2e
jne 0x45245a
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ae670], dl
jne 0x452447
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x452467
cmp cl, 0x45
jne 0x4524ad
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x4ae670], dl
jne 0x45248d
cmp cl, 0x2b
je 0x452480
cmp cl, 0x2d
jne 0x4524ad
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x4ae670], dl
je 0x4524ad
inc eax
inc eax
jmp 0x452492
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ae670], dl
jne 0x452491
mov dword [esi], 0x82
jmp 0x4524ad
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ae670], 0x46
jne 0x4524a6
jmp 0x45277b
cmp byte [ebx + 1], 0x2a
jne 0x4524f2
mov cl, byte [ebx + 2]
test cl, cl
je 0x4524f2
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x4524dd
cmp byte [eax + ebx], 0x2f
je 0x4524ec
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x4522e1
inc eax
jmp 0x4524d2
inc eax
jmp 0x4522e1
mov dword [esi], 0x59
jmp 0x452397
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x45277b
mov eax, ecx
sub eax, 0x3c
je 0x452556
dec eax
je 0x452541
dec eax
jne 0x452412
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x452529
mov dword [esi], 0x50
jmp 0x452565
cmp eax, 0x3e
jne 0x452536
mov dword [esi], 0x55
jmp 0x452565
mov dword [esi], 0x4d
jmp 0x452397
xor eax, eax
mov dword [esi], 0x4c
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x45277b
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x45256d
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x45277b
cmp eax, 0x3e
jne 0x45257a
mov dword [esi], 0x4b
jmp 0x452565
cmp eax, 0x3c
jne 0x452587
mov dword [esi], 0x54
jmp 0x452565
mov dword [esi], 0x4f
jmp 0x452397
xor eax, eax
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x4525a8
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x4ae670], dl
jne 0x4525a3
jmp 0x45277b
mov eax, ecx
sub eax, 0x40
je 0x452707
sub eax, 0x18
je 0x452683
sub eax, 3
je 0x452657
sub eax, 5
je 0x452614
sub eax, 0x18
je 0x452683
sub eax, 4
je 0x4525f8
dec eax
dec eax
jne 0x452412
mov dword [esi], 0x5d
jmp 0x452397
cmp byte [ebx + 1], 0x7c
je 0x452609
mov dword [esi], 0x53
jmp 0x452397
mov dword [esi], 0x5b
jmp 0x452565
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x452630
cmp edx, ecx
jne 0x45262b
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x452634
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x45261d
cmp edx, 0x27
jne 0x452644
mov dword [esi], 0x5e
jmp 0x452550
test edx, edx
je 0x452775
mov dword [esi], 0x1a
jmp 0x452550
xor eax, eax
inc eax
jmp 0x452665
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x45266a
inc eax
cmp ecx, 0x5d
jne 0x45265c
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x45277b
cmp byte [ebx + 1], 0x27
jne 0x452412
push 2
mov dword [esi], 0x83
movzx ecx, byte [ebx + 2]
pop eax
mov edx, 0x94
jmp 0x4526b9
cmp ecx, 0x27
je 0x4526bd
movzx ecx, cl
test byte [ecx + 0x4ae670], 8
jne 0x4526b4
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x4526a1
mov edi, eax
and edi, 0x80000001
jns 0x4526cc
dec edi
or edi, 0xfffffffe
inc edi
jne 0x4526d6
test ecx, ecx
jne 0x452550
mov dword [esi], edx
test ecx, ecx
je 0x45277b
jmp 0x452550
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x4526f3
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x4ae670], 0x46
jne 0x4526ee
call fcn.004521d9
mov dword [esi], eax
mov eax, edi
jmp 0x45277b
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x452775
movzx edi, cl
test byte [edi + 0x4ae670], 0x46
je 0x452729
inc edx
jmp 0x45273e
cmp ecx, 0x28
jne 0x452732
test edx, edx
jg 0x452749
cmp ecx, 0x3a
jne 0x452771
cmp byte [ebx + eax + 1], cl
jne 0x452771
inc eax
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x45271a
jmp 0x452771
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x452763
movzx edi, cl
test byte [edi + 0x4ae670], 1
jne 0x452763
cmp ecx, 0x29
jne 0x452749
cmp ecx, 0x29
jne 0x45276b
inc eax
jmp 0x452771
mov dword [esi], 0x94
test edx, edx
jne 0x45277b
mov dword [esi], 0x94
pop edi
pop ebx
ret