Function at 0x546707
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 0x54688c
je 0x546878
cmp ecx, 0x26
jg 0x5467fb
je 0x5467f3
cmp ecx, 0x22
jg 0x54679d
je 0x546ac5
cmp ecx, 9
jl 0x5468c3
cmp ecx, 0xa
jle 0x54677b
cmp ecx, 0xb
jle 0x5468c3
cmp ecx, 0xd
jle 0x54677b
cmp ecx, 0x20
je 0x54677b
cmp ecx, 0x21
jne 0x5468c3
cmp byte [ebx + 1], 0x3d
push 2
pop eax
jne 0x546c26
mov dword [esi], 0x4b
jmp 0x546c2c
movzx ecx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x546789
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5b3870], 1
jne 0x546784
mov dword [esi], 0x95
jmp 0x546c2c
mov eax, ecx
sub eax, 0x23
je 0x5467bd
dec eax
je 0x546bb8
dec eax
jne 0x5468c3
mov dword [esi], 0x5a
jmp 0x546848
movzx ecx, byte [ebx + 1]
xor eax, eax
mov dl, 4
inc eax
test byte [ecx + 0x5b3870], dl
je 0x546bb8
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5b3870], dl
jne 0x5467d2
cmp eax, 1
jle 0x546bb8
mov dword [esi], 0x84
jmp 0x546c2c
mov dword [esi], 0x52
jmp 0x546848
mov eax, ecx
sub eax, 0x27
je 0x546ac5
dec eax
je 0x546870
dec eax
je 0x546868
dec eax
je 0x546860
dec eax
je 0x546858
dec eax
je 0x546850
dec eax
jne 0x5468c3
cmp byte [ebx + 1], 0x2d
jne 0x546842
movzx ecx, byte [ebx + 2]
push 2
pop eax
jmp 0x546839
cmp ecx, 0xa
je 0x546792
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x54682b
jmp 0x546792
mov dword [esi], 0x57
xor eax, eax
inc eax
jmp 0x546c2c
mov dword [esi], 0x19
jmp 0x546848
mov dword [esi], 0x56
jmp 0x546848
mov dword [esi], 0x58
jmp 0x546848
mov dword [esi], 0x17
jmp 0x546848
mov dword [esi], 0x16
jmp 0x546848
movzx eax, byte [ebx + 1]
test byte [eax + 0x5b3870], dl
jne 0x5468d8
mov dword [esi], 0x76
jmp 0x546848
cmp ecx, 0x3f
jg 0x546a66
je 0x546a43
cmp ecx, 0x3b
jg 0x5469b8
je 0x5469ae
cmp ecx, 0x2f
je 0x546970
jle 0x5468c3
cmp ecx, 0x39
jle 0x5468d8
cmp ecx, 0x3a
je 0x546bb8
test byte [ecx + 0x5b3870], 0x46
jne 0x546b96
xor eax, eax
inc eax
jmp 0x546c26
mov dword [esi], 0x81
movzx ecx, byte [ebx]
xor eax, eax
jmp 0x5468ea
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5b3870], dl
jne 0x5468e5
cmp byte [eax + ebx], 0x2e
jne 0x54690b
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5b3870], dl
jne 0x5468f8
mov dword [esi], 0x82
mov cl, byte [eax + ebx]
cmp cl, 0x65
je 0x546918
cmp cl, 0x45
jne 0x54695e
mov cl, byte [eax + ebx + 1]
movzx edi, cl
test byte [edi + 0x5b3870], dl
jne 0x54693e
cmp cl, 0x2b
je 0x546931
cmp cl, 0x2d
jne 0x54695e
movzx ecx, byte [eax + ebx + 2]
test byte [ecx + 0x5b3870], dl
je 0x54695e
inc eax
inc eax
jmp 0x546943
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5b3870], dl
jne 0x546942
mov dword [esi], 0x82
jmp 0x54695e
mov dword [esi], 0x94
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5b3870], 0x46
jne 0x546957
jmp 0x546c2c
cmp byte [ebx + 1], 0x2a
jne 0x5469a3
mov cl, byte [ebx + 2]
test cl, cl
je 0x5469a3
push 3
pop eax
movzx ecx, cl
cmp ecx, 0x2a
jne 0x54698e
cmp byte [eax + ebx], 0x2f
je 0x54699d
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x546792
inc eax
jmp 0x546983
inc eax
jmp 0x546792
mov dword [esi], 0x59
jmp 0x546848
xor eax, eax
inc eax
mov dword [esi], eax
jmp 0x546c2c
mov eax, ecx
sub eax, 0x3c
je 0x546a07
dec eax
je 0x5469f2
dec eax
jne 0x5468c3
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x5469da
mov dword [esi], 0x50
jmp 0x546a16
cmp eax, 0x3e
jne 0x5469e7
mov dword [esi], 0x55
jmp 0x546a16
mov dword [esi], 0x4d
jmp 0x546848
xor eax, eax
mov dword [esi], 0x4c
cmp byte [ebx + 1], 0x3d
sete al
inc eax
jmp 0x546c2c
movzx eax, byte [ebx + 1]
cmp eax, 0x3d
jne 0x546a1e
mov dword [esi], 0x4e
push 2
pop eax
jmp 0x546c2c
cmp eax, 0x3e
jne 0x546a2b
mov dword [esi], 0x4b
jmp 0x546a16
cmp eax, 0x3c
jne 0x546a38
mov dword [esi], 0x54
jmp 0x546a16
mov dword [esi], 0x4f
jmp 0x546848
xor eax, eax
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
inc eax
mov dl, 4
jmp 0x546a59
inc eax
movzx ecx, byte [eax + ebx]
test byte [ecx + 0x5b3870], dl
jne 0x546a54
jmp 0x546c2c
mov eax, ecx
sub eax, 0x40
je 0x546bb8
sub eax, 0x18
je 0x546b34
sub eax, 3
je 0x546b08
sub eax, 5
je 0x546ac5
sub eax, 0x18
je 0x546b34
sub eax, 4
je 0x546aa9
dec eax
dec eax
jne 0x5468c3
mov dword [esi], 0x5d
jmp 0x546848
cmp byte [ebx + 1], 0x7c
je 0x546aba
mov dword [esi], 0x53
jmp 0x546848
mov dword [esi], 0x5b
jmp 0x546a16
movzx edx, byte [ebx + 1]
xor eax, eax
inc eax
jmp 0x546ae1
cmp edx, ecx
jne 0x546adc
movzx edi, byte [ebx + eax + 1]
cmp edi, ecx
jne 0x546ae5
inc eax
inc eax
movzx edx, byte [eax + ebx]
test edx, edx
jne 0x546ace
cmp edx, 0x27
jne 0x546af5
mov dword [esi], 0x5e
jmp 0x546a01
test edx, edx
je 0x546c26
mov dword [esi], 0x1a
jmp 0x546a01
xor eax, eax
inc eax
jmp 0x546b16
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x546b1b
inc eax
cmp ecx, 0x5d
jne 0x546b0d
xor edx, edx
cmp ecx, 0x5d
setne dl
dec edx
and edx, 0xffffff86
add edx, 0x94
mov dword [esi], edx
jmp 0x546c2c
cmp byte [ebx + 1], 0x27
jne 0x5468c3
push 2
mov dword [esi], 0x83
movzx ecx, byte [ebx + 2]
pop eax
mov edx, 0x94
jmp 0x546b6a
cmp ecx, 0x27
je 0x546b6e
movzx ecx, cl
test byte [ecx + 0x5b3870], 8
jne 0x546b65
mov dword [esi], edx
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x546b52
mov edi, eax
and edi, 0x80000001
jns 0x546b7d
dec edi
or edi, 0xfffffffe
inc edi
jne 0x546b87
test ecx, ecx
jne 0x546a01
mov dword [esi], edx
test ecx, ecx
je 0x546c2c
jmp 0x546a01
movzx eax, byte [ebx + 1]
xor edi, edi
inc edi
jmp 0x546ba4
inc edi
movzx eax, byte [edi + ebx]
test byte [eax + 0x5b3870], 0x46
jne 0x546b9f
call fcn.0054668a
mov dword [esi], eax
mov eax, edi
jmp 0x546c2c
mov dword [esi], 0x85
movzx ecx, byte [ebx + 1]
xor eax, eax
xor edx, edx
inc eax
test ecx, ecx
je 0x546c26
movzx edi, cl
test byte [edi + 0x5b3870], 0x46
je 0x546bda
inc edx
jmp 0x546bef
cmp ecx, 0x28
jne 0x546be3
test edx, edx
jg 0x546bfa
cmp ecx, 0x3a
jne 0x546c22
cmp byte [ebx + eax + 1], cl
jne 0x546c22
inc eax
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
jne 0x546bcb
jmp 0x546c22
inc eax
movzx ecx, byte [eax + ebx]
test ecx, ecx
je 0x546c14
movzx edi, cl
test byte [edi + 0x5b3870], 1
jne 0x546c14
cmp ecx, 0x29
jne 0x546bfa
cmp ecx, 0x29
jne 0x546c1c
inc eax
jmp 0x546c22
mov dword [esi], 0x94
test edx, edx
jne 0x546c2c
mov dword [esi], 0x94
pop edi
pop ebx
ret