Function at 0x558354
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 0x5584d9
je 0x5584c5
cmp ecx, 0x26
jg 0x558448
je 0x558440
cmp ecx, 0x22
jg 0x5583ea
je 0x558712
cmp ecx, 9
jl 0x558510
cmp ecx, 0xa
jle 0x5583c8
cmp ecx, 0xb
jle 0x558510
cmp ecx, 0xd
jle 0x5583c8
cmp ecx, 0x20
je 0x5583c8
cmp ecx, 0x21
jne 0x558510
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x558873
mov dword [esi], 0x4b
jmp 0x558879
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x5583d6
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5c68c0], 1
jne 0x5583d1
mov dword [esi], 0x95
jmp 0x558879
mov eax, ecx
sub eax, 0x23
je 0x55840a
dec eax
je 0x558805
dec eax
jne 0x558510
mov dword [esi], 0x5a
jmp 0x558495
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x5c68c0], dl
je 0x558805
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5c68c0], dl
jne 0x55841f
cmp eax, 1
jle 0x558805
mov dword [esi], 0x84
jmp 0x558879
mov dword [esi], 0x52
jmp 0x558495
mov eax, ecx
sub eax, 0x27
je 0x558712
dec eax
je 0x5584bd
dec eax
je 0x5584b5
dec eax
je 0x5584ad
dec eax
je 0x5584a5
dec eax
je 0x55849d
dec eax
jne 0x558510
cmp byte [ebx + 1], 0x2d
jne 0x55848f
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x558486
cmp ecx, 0xa
je 0x5583df
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x558478
jmp 0x5583df
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x558879
mov dword [esi], 0x19
jmp 0x558495
mov dword [esi], 0x56
jmp 0x558495
mov dword [esi], 0x58
jmp 0x558495
mov dword [esi], 0x17
jmp 0x558495
mov dword [esi], 0x16
jmp 0x558495
movzx eax, byte [ebx + 1]
test byte [eax + 0x5c68c0], dl
jne 0x558525
mov dword [esi], 0x76
jmp 0x558495
cmp ecx, 0x3f
jg 0x5586b3
je 0x558690
cmp ecx, 0x3b
jg 0x558605
je 0x5585fb
cmp ecx, 0x2f
je 0x5585bd
jle 0x558510
cmp ecx, 0x39
jle 0x558525
cmp ecx, 0x3a
je 0x558805
test byte [ecx + 0x5c68c0], 0x46
jne 0x5587e3
xor eax, eax
inc eax
jmp 0x558873
mov dword [esi], 0x81
movzx ecx, byte [ebx]
xor eax, eax
jmp 0x558537
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5c68c0], dl
jne 0x558532
cmp byte [eax + ebx], 0x2e
jne 0x558558
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5c68c0], dl
jne 0x558545
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x558565
cmp cl, 0x45
jne 0x5585ab
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x5c68c0], dl
jne 0x55858b
cmp cl, 0x2b
je 0x55857e
cmp cl, 0x2d
jne 0x5585ab
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x5c68c0], dl
je 0x5585ab
inc eax
inc eax
jmp 0x558590
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5c68c0], dl
jne 0x55858f
mov dword [esi], 0x82
jmp 0x5585ab
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5c68c0], 0x46
jne 0x5585a4
jmp 0x558879
cmp byte [ebx + 1], 0x2a
jne 0x5585f0
mov cl, byte [ebx + 2]
test cl, cl
je 0x5585f0
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x5585db
cmp byte [eax + ebx], 0x2f
je 0x5585ea
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x5583df
inc eax
jmp 0x5585d0
inc eax
jmp 0x5583df
mov dword [esi], 0x59
jmp 0x558495
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x558879
mov eax, ecx
sub eax, 0x3c
je 0x558654
dec eax
je 0x55863f
dec eax
jne 0x558510
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x558627
mov dword [esi], 0x50
jmp 0x558663
cmp eax, 0x3e
jne 0x558634
mov dword [esi], 0x55
jmp 0x558663
mov dword [esi], 0x4d
jmp 0x558495
xor eax, eax
mov dword [esi], 0x4c
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x558879
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x55866b
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x558879
cmp eax, 0x3e
jne 0x558678
mov dword [esi], 0x4b
jmp 0x558663
cmp eax, 0x3c
jne 0x558685
mov dword [esi], 0x54
jmp 0x558663
mov dword [esi], 0x4f
jmp 0x558495
xor eax, eax
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x5586a6
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5c68c0], dl
jne 0x5586a1
jmp 0x558879
mov eax, ecx
sub eax, 0x40
je 0x558805
sub eax, 0x18
je 0x558781
sub eax, 3
je 0x558755
sub eax, 5
je 0x558712
sub eax, 0x18
je 0x558781
sub eax, 4
je 0x5586f6
dec eax
dec eax
jne 0x558510
mov dword [esi], 0x5d
jmp 0x558495
cmp byte [ebx + 1], 0x7c
je 0x558707
mov dword [esi], 0x53
jmp 0x558495
mov dword [esi], 0x5b
jmp 0x558663
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x55872e
cmp edx, ecx
jne 0x558729
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x558732
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x55871b
cmp edx, 0x27
jne 0x558742
mov dword [esi], 0x5e
jmp 0x55864e
test edx, edx
je 0x558873
mov dword [esi], 0x1a
jmp 0x55864e
xor eax, eax
inc eax
jmp 0x558763
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x558768
inc eax
cmp ecx, 0x5d
jne 0x55875a
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x558879
cmp byte [ebx + 1], 0x27
jne 0x558510
push 2
mov dword [esi], 0x83
movzx ecx, byte [ebx + 2]
pop eax
mov edx, 0x94
jmp 0x5587b7
cmp ecx, 0x27
je 0x5587bb
movzx ecx, cl
test byte [ecx + 0x5c68c0], 8
jne 0x5587b2
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x55879f
mov edi, eax
and edi, 0x80000001
jns 0x5587ca
dec edi
or edi, 0xfffffffe
inc edi
jne 0x5587d4
test ecx, ecx
jne 0x55864e
mov dword [esi], edx
test ecx, ecx
je 0x558879
jmp 0x55864e
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x5587f1
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x5c68c0], 0x46
jne 0x5587ec
call fcn.005582d7
mov dword [esi], eax
mov eax, edi
jmp 0x558879
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x558873
movzx edi, cl
test byte [edi + 0x5c68c0], 0x46
je 0x558827
inc edx
jmp 0x55883c
cmp ecx, 0x28
jne 0x558830
test edx, edx
jg 0x558847
cmp ecx, 0x3a
jne 0x55886f
cmp byte [ebx + eax + 1], cl
jne 0x55886f
inc eax
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x558818
jmp 0x55886f
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x558861
movzx edi, cl
test byte [edi + 0x5c68c0], 1
jne 0x558861
cmp ecx, 0x29
jne 0x558847
cmp ecx, 0x29
jne 0x558869
inc eax
jmp 0x55886f
mov dword [esi], 0x94
test edx, edx
jne 0x558879
mov dword [esi], 0x94
pop edi
pop ebx
ret